SPIRV-Cross/reference/shaders-msl-no-opt/packing/struct-packing-recursive.comp

32 lines
327 B
Plaintext

#include <metal_stdlib>
#include <simd/simd.h>
using namespace metal;
struct Foo
{
packed_float4 a;
};
struct Bar
{
Foo a;
};
struct Baz
{
Bar a;
};
struct SSBOScalar
{
float v;
Baz baz;
};
kernel void main0(device SSBOScalar& buffer_scalar [[buffer(0)]])
{
buffer_scalar.baz.a.a.a[3u] = 10.0;
}