#include <metal_stdlib> | |
using namespace metal; | |
struct tint_padded_array_element { | |
/* 0x0000 */ int el; | |
/* 0x0004 */ int8_t tint_pad[12]; | |
}; | |
struct tint_array_wrapper { | |
/* 0x0000 */ tint_padded_array_element arr[4]; | |
}; | |
struct UBO { | |
/* 0x0000 */ tint_array_wrapper data; | |
/* 0x0040 */ int dynamic_idx; | |
}; | |
struct Result { | |
/* 0x0000 */ int out; | |
}; | |
kernel void f(constant UBO& ubo [[buffer(0)]], device Result& result [[buffer(1)]]) { | |
result.out = ubo.data.arr[ubo.dynamic_idx].el; | |
return; | |
} | |