struct Constants {
  level : i32;
}

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

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

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;
  }
}
