diff options
| -rw-r--r-- | src/shader_recompiler/ir_opt/global_memory_to_storage_buffer_pass.cpp | 27 | 
1 files changed, 27 insertions, 0 deletions
| diff --git a/src/shader_recompiler/ir_opt/global_memory_to_storage_buffer_pass.cpp b/src/shader_recompiler/ir_opt/global_memory_to_storage_buffer_pass.cpp index 0d4f266c3..378a3a915 100644 --- a/src/shader_recompiler/ir_opt/global_memory_to_storage_buffer_pass.cpp +++ b/src/shader_recompiler/ir_opt/global_memory_to_storage_buffer_pass.cpp @@ -115,6 +115,33 @@ bool IsGlobalMemoryWrite(const IR::Inst& inst) {      case IR::Opcode::WriteGlobal32:      case IR::Opcode::WriteGlobal64:      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;      default:          return false; | 
