SPIRV-Cross/reference/opt/shaders-msl/asm/comp/relaxed-block-layout.asm.comp
Chip Davis e50eecfeeb MSL: Also pack members at unaligned offsets.
This is necessary to support `VK_KHR_relaxed_block_layout`.
2018-11-07 09:42:54 -06:00

18 lines
380 B
Plaintext

#include <metal_stdlib>
#include <simd/simd.h>
using namespace metal;
struct foo
{
uint bar;
packed_float3 baz;
};
kernel void main0(device foo& _6 [[buffer(0)]], uint3 gl_LocalInvocationID [[thread_position_in_threadgroup]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
_6.bar = gl_LocalInvocationID.x;
_6.baz = float3(gl_GlobalInvocationID);
}