[[block]] struct Constants { zero : u32; }; [[group(1), binding(0)]] var constants : Constants; [[block]] struct Result { value : u32; }; [[group(1), binding(1)]] var result : Result; [[block]] struct TestData { data : array, 3>; }; [[group(0), binding(0)]] var s : TestData; fn runTest() -> i32 { return atomicLoad(&(s.data[(0u + u32(constants.zero))])); } [[stage(compute), workgroup_size(1)]] fn main() { result.value = u32(runTest()); }