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

28 lines
358 B
Plaintext
Raw Normal View History

#include <metal_stdlib>
#include <simd/simd.h>
using namespace metal;
struct Foo
{
packed_float3 a;
float b;
};
struct SSBO
{
float2 a;
float b;
char _m2_pad[4];
Foo foo;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO& _12 [[buffer(0)]])
{
_12.a.x = 10.0;
_12.b = 20.0;
}