add OpAtomicFMinEXT and Max as well, while we're at it -- I didn't test those but presumably work the same.

This commit is contained in:
Randall C. O'Reilly 2023-02-04 21:52:07 -08:00
parent a57dba530c
commit c4b7ec105d

View File

@ -1857,6 +1857,8 @@ void CompilerMSL::extract_global_variables_from_function(uint32_t func_id, std::
case OpAtomicIDecrement:
case OpAtomicIAdd:
case OpAtomicFAddEXT:
case OpAtomicFMinEXT:
case OpAtomicFMaxEXT:
case OpAtomicISub:
case OpAtomicSMin:
case OpAtomicUMin:
@ -8604,11 +8606,13 @@ void CompilerMSL::emit_instruction(const Instruction &instruction)
case OpAtomicSMin:
case OpAtomicUMin:
case OpAtomicFMinEXT:
MSL_AFMO(min);
break;
case OpAtomicSMax:
case OpAtomicUMax:
case OpAtomicFMaxEXT:
MSL_AFMO(max);
break;
@ -16303,6 +16307,8 @@ bool CompilerMSL::OpCodePreprocessor::handle(Op opcode, const uint32_t *args, ui
case OpAtomicIDecrement:
case OpAtomicIAdd:
case OpAtomicFAddEXT:
case OpAtomicFMinEXT:
case OpAtomicFMaxEXT:
case OpAtomicISub:
case OpAtomicSMin:
case OpAtomicUMin:
@ -16509,6 +16515,8 @@ CompilerMSL::SPVFuncImpl CompilerMSL::OpCodePreprocessor::get_spv_func_impl(Op o
case OpAtomicIDecrement:
case OpAtomicIAdd:
case OpAtomicFAddEXT:
case OpAtomicFMinEXT:
case OpAtomicFMaxEXT:
case OpAtomicISub:
case OpAtomicSMin:
case OpAtomicUMin: