#include #include using namespace metal; struct Foo { packed_float4 a; }; struct Bar { Foo a; }; struct Baz { Bar a; }; struct SSBOScalar { float v; Baz baz; }; constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u); kernel void main0(device SSBOScalar& buffer_scalar [[buffer(0)]]) { buffer_scalar.baz.a.a.a[3u] = 10.0; }