#include #include using namespace metal; struct S0 { float4 a; }; struct SSBO0 { S0 s0s[1]; }; struct S1 { float4 a; }; struct SSBO1 { S1 s1s[1]; }; struct SSBO2 { float4 outputs[1]; }; constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u); kernel void main0(device SSBO0& _36 [[buffer(0)]], device SSBO1& _55 [[buffer(1)]], device SSBO2& _66 [[buffer(2)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]]) { _66.outputs[gl_GlobalInvocationID.x] = _36.s0s[gl_GlobalInvocationID.x].a + _55.s1s[gl_GlobalInvocationID.x].a; }