#include <metal_stdlib> | |
#include <simd/simd.h> | |
using namespace metal; | |
struct T1 | |
{ | |
packed_float3 a; | |
float b; | |
}; | |
struct Buffer0 | |
{ | |
T1 buf0[1]; | |
}; | |
struct Buffer1 | |
{ | |
float buf1[1]; | |
}; | |
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(32u, 1u, 1u); | |
kernel void main0(device Buffer0& _14 [[buffer(1)]], device Buffer1& _24 [[buffer(2)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]]) | |
{ | |
float x = _14.buf0[0].b; | |
_24.buf1[gl_GlobalInvocationID.x] = x; | |
} | |