
[[block]] struct Constants {
  level : i32;
};

[[group(0), binding(0)]] var<uniform> constants : Constants;
[[group(0), binding(1)]] var myTexture : texture_2d_array<f32>;

[[block]] struct Result {
  values : [[stride(4)]] array<f32>;
};
[[group(0), binding(3)]] var<storage, read_write> result : Result;

[[stage(compute), workgroup_size(1)]]
fn main([[builtin(global_invocation_id)]] GlobalInvocationID : vec3<u32>) {
  var flatIndex : u32 =
    2u * 2u * GlobalInvocationID.z +
    2u * GlobalInvocationID.y +
    GlobalInvocationID.x;
  flatIndex = flatIndex * 1u;
  var texel : vec4<f32> = textureLoad(myTexture, vec2<i32>(GlobalInvocationID.xy), 0, 0);

  for (var i : u32 = 0u; i < 1u; i = i + 1u) {
    result.values[flatIndex + i] = texel.r;
  }
}
