struct Constants {
  zero : u32;
}

@group(1) @binding(0) var<uniform> constants : Constants;

struct Result {
  value : u32;
}

@group(1) @binding(1) var<storage, write> result : Result;

struct TestData {
  data : array<atomic<i32>, 3>;
}

@group(0) @binding(0) var<storage, read_write> s : TestData;

fn runTest() -> i32 {
  return atomicLoad(&(s.data[(0u + u32(constants.zero))]));
}

@stage(compute) @workgroup_size(1)
fn main() {
  result.value = u32(runTest());
}
