@group(0) @binding(0) var t : texture_2d<f32>;

@group(0) @binding(1) var s : sampler;

@group(0) @binding(2) var<storage, read_write> a : atomic<i32>;

@fragment
fn foo(@location(0) in : f32, @location(1) coord : vec2<f32>) -> @location(0) i32 {
  if (in == 0.0) {
    discard;
  }
  var result = i32(textureSample(t, s, coord).x);
  for (var i = 0; i < 10; i = atomicAdd(&a, 1)) {
    result += i;
  }
  return result;
}
