#include using namespace metal; struct Constants { /* 0x0000 */ uint zero; }; struct Result { /* 0x0000 */ uint value; }; struct tint_array_wrapper { /* 0x0000 */ atomic_int arr[3]; }; struct TestData { /* 0x0000 */ tint_array_wrapper data; }; int runTest(constant Constants& constants, device TestData& s) { return atomic_load_explicit(&(s.data.arr[(0u + uint(constants.zero))]), memory_order_relaxed); } kernel void tint_symbol(constant Constants& constants [[buffer(0)]], device Result& result [[buffer(1)]], device TestData& s [[buffer(2)]]) { result.value = uint(runTest(constants, s)); return; }