#include <metal_stdlib>
#include <simd/simd.h>

using namespace metal;

struct Foo
{
    packed_float3 a;
};

struct Bar
{
    packed_float3 a;
};

struct SSBOScalar
{
    Foo foo;
    Bar bar;
};

constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);

kernel void main0(device SSBOScalar& buffer_scalar [[buffer(0)]])
{
    ((device float*)&buffer_scalar.foo.a)[0u] = 10.0;
    ((device float*)&buffer_scalar.bar.a)[0u] = 20.0;
}

