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