warning: use of deprecated intrinsic
[[group(0), binding(0)]] var Src : texture_storage_2d<r32uint, read>;

[[group(0), binding(1)]] var Dst : texture_storage_2d<r32uint, write>;

fn main_1() {
  var srcValue : vec4<u32>;
  let x_18 : vec4<u32> = textureLoad(Src, vec2<i32>(0, 0));
  srcValue = x_18;
  let x_21 : ptr<function, u32> = &(srcValue.x);
  let x_22 : u32 = *(x_21);
  *(x_21) = (x_22 + bitcast<u32>(1));
  let x_27 : vec4<u32> = srcValue;
  textureStore(Dst, vec2<i32>(0, 0), x_27);
  return;
}

[[stage(compute), workgroup_size(1, 1, 1)]]
fn main() {
  main_1();
}
