From 19e6698578559daa120d79f203f01f948001210a Mon Sep 17 00:00:00 2001 From: microsoftv <6063922+microsoftv@users.noreply.github.com> Date: Sat, 17 Aug 2024 13:14:08 -0400 Subject: [PATCH] data share should work --- .../frontend/translate/data_share.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/shader_recompiler/frontend/translate/data_share.cpp b/src/shader_recompiler/frontend/translate/data_share.cpp index 3b0ccfcaa..a8f8ad0ef 100644 --- a/src/shader_recompiler/frontend/translate/data_share.cpp +++ b/src/shader_recompiler/frontend/translate/data_share.cpp @@ -124,9 +124,8 @@ void Translator::DS_ADD_U32(const GcnInst& inst) { IR::VectorReg dst_reg{inst.dst[0].code}; const IR::Value original_val = ir.SharedAtomicIAdd(addr_offset, data); - // const IR::Value original_val = ir.LoadShared(32, false, addr_offset); - - ir.SetVectorReg(dst_reg, IR::U32{original_val}); + + SetDst(inst.dst[0], IR::U32{original_val}); } void Translator::DS_MIN_U32(const GcnInst& inst) { @@ -137,9 +136,8 @@ void Translator::DS_MIN_U32(const GcnInst& inst) { IR::VectorReg dst_reg{inst.dst[0].code}; const IR::Value original_val = ir.SharedAtomicIMin(addr_offset, data, false); - // const IR::Value original_val = ir.LoadShared(32, false, addr_offset); - - ir.SetVectorReg(dst_reg, IR::U32{original_val}); + + SetDst(inst.dst[0], IR::U32{original_val}); } void Translator::DS_MAX_U32(const GcnInst& inst) { @@ -150,9 +148,8 @@ void Translator::DS_MAX_U32(const GcnInst& inst) { IR::VectorReg dst_reg{inst.dst[0].code}; const IR::Value original_val = ir.SharedAtomicIMax(addr_offset, data, false); - // const IR::Value original_val = ir.LoadShared(32, false, addr_offset); - - ir.SetVectorReg(dst_reg, IR::U32{original_val}); + + SetDst(inst.dst[0], IR::U32{original_val}); } void Translator::S_BARRIER() {