#include #include using namespace metal; struct SSBO { uint size; float4 v[1]; }; struct SSBO1 { float bz[1]; }; constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u); kernel void main0(constant uint* spvBufferSizeConstants [[buffer(25)]], device SSBO& _14 [[buffer(0)]], device SSBO1* ssbos_0 [[buffer(1)]], device SSBO1* ssbos_1 [[buffer(2)]]) { device SSBO1* ssbos[] = { ssbos_0, ssbos_1, }; constant uint& _14BufferSize = spvBufferSizeConstants[0]; constant uint* ssbosBufferSize = &spvBufferSizeConstants[1]; _14.size = uint(int((_14BufferSize - 16) / 16) + int((ssbosBufferSize[1] - 0) / 4)); }