#pragma clang diagnostic ignored "-Wmissing-prototypes" #include #include using namespace metal; struct cb5_struct { float4 _m0[5]; }; // Returns 2D texture coords corresponding to 1D texel buffer coords static inline __attribute__((always_inline)) uint2 spvTexelBufferCoord(uint tc) { return uint2(tc % 4096, tc / 4096); } kernel void main0(constant cb5_struct& cb0_5 [[buffer(0)]], texture2d u0 [[texture(0)]], uint3 gl_LocalInvocationID [[thread_position_in_threadgroup]]) { float4 r0; r0.x = as_type(int(gl_LocalInvocationID.x) << 4); r0.y = as_type(int(gl_LocalInvocationID.x)); uint _44 = as_type(r0.x) >> 2u; uint4 _51 = as_type(cb0_5._m0[uint(as_type(r0.y)) + 1u]); u0.write(_51.xxxx, spvTexelBufferCoord(_44)); u0.write(_51.yyyy, spvTexelBufferCoord((_44 + 1u))); u0.write(_51.zzzz, spvTexelBufferCoord((_44 + 2u))); u0.write(_51.wwww, spvTexelBufferCoord((_44 + 3u))); }