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

30 lines
404 B
Plaintext
Raw Normal View History

#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)]])
{
buffer_scalar.foo.a[0u] = 10.0;
buffer_scalar.bar.a[0u] = 20.0;
}