Я конвертирую вычислительный шейдер с GLSL на язык затенения Metal. Я использую функции uintBitsToFloat и floatBitsToUint для хранения атомарных переменных. Каков их эквивалент в металле? Пример использования в GLSL:
shared uint ldsZMin;
...
float depth = -imageLoad( depthTexture, ivec2( globalThreadIdx.x, globalThreadIdx.y ) ).x;
uint z = floatBitsToUint( depth );
atomicMin( ldsZMin, z );