mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-07-31 14:35:19 +00:00
do correct vdata set (still fails)
This commit is contained in:
parent
fa3a37133d
commit
c92203e9f1
@ -470,14 +470,14 @@ void Translator::BUFFER_ATOMIC(u32 num_dwords, AtomicOp op, const GcnInst& inst)
|
||||
ir.GetScalarReg(srsrc + 2), ir.GetScalarReg(srsrc + 3));
|
||||
|
||||
// Get current srsrc value
|
||||
IR::U32 prev_val = GetSrc(inst.src[2]);
|
||||
IR::U32 prev_val = ir.GetScalarReg(srsrc);
|
||||
|
||||
// Apply atomic op
|
||||
// derefs srsrc buffer and adds vdata value to it
|
||||
const IR::U32 new_vdata = IR::U32{ir.BufferAtomicIAdd(handle, address, vdata_val, info)};
|
||||
|
||||
if (mubuf.glc) {
|
||||
ir.SetVectorReg(vdata, new_vdata);
|
||||
ir.SetVectorReg(vdata, prev_val);
|
||||
}
|
||||
|
||||
return;
|
||||
|
@ -96,7 +96,7 @@ OPCODE(StoreBufferFormatF32x4, Void, Opaq
|
||||
OPCODE(StoreBufferU32, Void, Opaque, Opaque, U32, )
|
||||
|
||||
// Buffer atomic operations
|
||||
OPCODE(BufferAtomicIAdd32, U32, Opaque, Opaque, Opaque )
|
||||
OPCODE(BufferAtomicIAdd32, Void, Opaque, Opaque, Opaque )
|
||||
OPCODE(BufferAtomicSMin32, U32, U32, U32, )
|
||||
OPCODE(BufferAtomicUMin32, U32, U32, U32, )
|
||||
OPCODE(BufferAtomicSMax32, U32, U32, U32, )
|
||||
|
Loading…
Reference in New Issue
Block a user