intrinsics/gen/textureLoad/2d6cf7.wgsl:29:24 warning: use of deprecated intrinsic
  var res: vec4<i32> = textureLoad(arg_0, 1);
                       ^^^^^^^^^^^

; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 39
; Schema: 0
               OpCapability Shader
               OpCapability Image1D
               OpCapability StorageImageExtendedFormats
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpExecutionMode %fragment_main OriginUpperLeft
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpName %tint_pointsize "tint_pointsize"
               OpName %arg_0 "arg_0"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %textureLoad_2d6cf7 "textureLoad_2d6cf7"
               OpName %res "res"
               OpName %tint_symbol_2 "tint_symbol_2"
               OpName %tint_symbol "tint_symbol"
               OpName %vertex_main "vertex_main"
               OpName %fragment_main "fragment_main"
               OpName %compute_main "compute_main"
               OpDecorate %tint_pointsize BuiltIn PointSize
               OpDecorate %arg_0 NonWritable
               OpDecorate %arg_0 DescriptorSet 1
               OpDecorate %arg_0 Binding 0
               OpDecorate %tint_symbol_1 BuiltIn Position
      %float = OpTypeFloat 32
%_ptr_Output_float = OpTypePointer Output %float
          %4 = OpConstantNull %float
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
        %int = OpTypeInt 32 1
          %7 = OpTypeImage %int 1D 0 0 0 2 Rg32i
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
      %arg_0 = OpVariable %_ptr_UniformConstant_7 UniformConstant
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
         %12 = OpConstantNull %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %12
       %void = OpTypeVoid
         %13 = OpTypeFunction %void
      %v4int = OpTypeVector %int 4
      %int_1 = OpConstant %int 1
%_ptr_Function_v4int = OpTypePointer Function %v4int
         %23 = OpConstantNull %v4int
         %24 = OpTypeFunction %void %v4float
    %float_1 = OpConstant %float 1
%textureLoad_2d6cf7 = OpFunction %void None %13
         %16 = OpLabel
        %res = OpVariable %_ptr_Function_v4int Function %23
         %19 = OpLoad %7 %arg_0
         %17 = OpImageRead %v4int %19 %int_1
               OpStore %res %17
               OpReturn
               OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %24
%tint_symbol = OpFunctionParameter %v4float
         %27 = OpLabel
               OpStore %tint_symbol_1 %tint_symbol
               OpReturn
               OpFunctionEnd
%vertex_main = OpFunction %void None %13
         %29 = OpLabel
               OpStore %tint_pointsize %float_1
         %31 = OpFunctionCall %void %textureLoad_2d6cf7
         %32 = OpFunctionCall %void %tint_symbol_2 %12
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %13
         %34 = OpLabel
         %35 = OpFunctionCall %void %textureLoad_2d6cf7
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %13
         %37 = OpLabel
         %38 = OpFunctionCall %void %textureLoad_2d6cf7
               OpReturn
               OpFunctionEnd
