vk-gl-cts/rasterization/line_continuity/line-strip/1.wgsl:9:26 warning: use of deprecated intrinsic
  let x_22 : vec4<f32> = textureLoad(texture, vec2<i32>(vec2<f32>(x_19.x, x_19.y)));
                         ^^^^^^^^^^^

var<private> color_out : vec4<f32>;

[[group(0), binding(0)]] var texture : texture_storage_2d<rgba8unorm, read>;

var<private> gl_FragCoord : vec4<f32>;

fn main_1() {
  let x_19 : vec4<f32> = gl_FragCoord;
  let x_22 : vec4<f32> = textureLoad(texture, vec2<i32>(vec2<f32>(x_19.x, x_19.y)));
  color_out = x_22;
  return;
}

struct main_out {
  [[location(0)]]
  color_out_1 : vec4<f32>;
};

[[stage(fragment)]]
fn main([[builtin(position)]] gl_FragCoord_param : vec4<f32>) -> main_out {
  gl_FragCoord = gl_FragCoord_param;
  main_1();
  return main_out(color_out);
}
