shader: Mark atomic instructions as writes
This commit is contained in:
parent
7ae3ea6bee
commit
34519d3fc6
|
@ -115,6 +115,33 @@ bool IsGlobalMemoryWrite(const IR::Inst& inst) {
|
||||||
case IR::Opcode::WriteGlobal32:
|
case IR::Opcode::WriteGlobal32:
|
||||||
case IR::Opcode::WriteGlobal64:
|
case IR::Opcode::WriteGlobal64:
|
||||||
case IR::Opcode::WriteGlobal128:
|
case IR::Opcode::WriteGlobal128:
|
||||||
|
case IR::Opcode::GlobalAtomicIAdd32:
|
||||||
|
case IR::Opcode::GlobalAtomicSMin32:
|
||||||
|
case IR::Opcode::GlobalAtomicUMin32:
|
||||||
|
case IR::Opcode::GlobalAtomicSMax32:
|
||||||
|
case IR::Opcode::GlobalAtomicUMax32:
|
||||||
|
case IR::Opcode::GlobalAtomicInc32:
|
||||||
|
case IR::Opcode::GlobalAtomicDec32:
|
||||||
|
case IR::Opcode::GlobalAtomicAnd32:
|
||||||
|
case IR::Opcode::GlobalAtomicOr32:
|
||||||
|
case IR::Opcode::GlobalAtomicXor32:
|
||||||
|
case IR::Opcode::GlobalAtomicExchange32:
|
||||||
|
case IR::Opcode::GlobalAtomicIAdd64:
|
||||||
|
case IR::Opcode::GlobalAtomicSMin64:
|
||||||
|
case IR::Opcode::GlobalAtomicUMin64:
|
||||||
|
case IR::Opcode::GlobalAtomicSMax64:
|
||||||
|
case IR::Opcode::GlobalAtomicUMax64:
|
||||||
|
case IR::Opcode::GlobalAtomicAnd64:
|
||||||
|
case IR::Opcode::GlobalAtomicOr64:
|
||||||
|
case IR::Opcode::GlobalAtomicXor64:
|
||||||
|
case IR::Opcode::GlobalAtomicExchange64:
|
||||||
|
case IR::Opcode::GlobalAtomicAddF32:
|
||||||
|
case IR::Opcode::GlobalAtomicAddF16x2:
|
||||||
|
case IR::Opcode::GlobalAtomicAddF32x2:
|
||||||
|
case IR::Opcode::GlobalAtomicMinF16x2:
|
||||||
|
case IR::Opcode::GlobalAtomicMinF32x2:
|
||||||
|
case IR::Opcode::GlobalAtomicMaxF16x2:
|
||||||
|
case IR::Opcode::GlobalAtomicMaxF32x2:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
|
Reference in New Issue