; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 61
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpExecutionMode %fragment_main OriginUpperLeft
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpName %value "value"
               OpName %vertex_point_size "vertex_point_size"
               OpName %arg_0 "arg_0"
               OpName %arg_1 "arg_1"
               OpName %textureGatherCompare_f585cc "textureGatherCompare_f585cc"
               OpName %arg_2 "arg_2"
               OpName %arg_3 "arg_3"
               OpName %arg_4 "arg_4"
               OpName %res "res"
               OpName %vertex_main_inner "vertex_main_inner"
               OpName %vertex_main "vertex_main"
               OpName %fragment_main "fragment_main"
               OpName %compute_main "compute_main"
               OpDecorate %value BuiltIn Position
               OpDecorate %vertex_point_size BuiltIn PointSize
               OpDecorate %arg_0 DescriptorSet 1
               OpDecorate %arg_0 Binding 0
               OpDecorate %arg_1 DescriptorSet 1
               OpDecorate %arg_1 Binding 1
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
          %5 = OpConstantNull %v4float
      %value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
          %8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
      %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
         %14 = OpTypeSampler
%_ptr_UniformConstant_14 = OpTypePointer UniformConstant %14
      %arg_1 = OpVariable %_ptr_UniformConstant_14 UniformConstant
       %void = OpTypeVoid
         %15 = OpTypeFunction %void
    %v2float = OpTypeVector %float 2
         %20 = OpConstantNull %v2float
%_ptr_Function_v2float = OpTypePointer Function %v2float
        %int = OpTypeInt 32 1
      %int_1 = OpConstant %int 1
%_ptr_Function_int = OpTypePointer Function %int
         %27 = OpConstantNull %int
    %float_1 = OpConstant %float 1
%_ptr_Function_float = OpTypePointer Function %float
         %34 = OpTypeSampledImage %11
    %v3float = OpTypeVector %float 3
      %v2int = OpTypeVector %int 2
         %45 = OpConstantNull %v2int
%_ptr_Function_v4float = OpTypePointer Function %v4float
         %48 = OpTypeFunction %v4float
%textureGatherCompare_f585cc = OpFunction %void None %15
         %18 = OpLabel
      %arg_2 = OpVariable %_ptr_Function_v2float Function %20
      %arg_3 = OpVariable %_ptr_Function_int Function %27
      %arg_4 = OpVariable %_ptr_Function_float Function %8
        %res = OpVariable %_ptr_Function_v4float Function %5
               OpStore %arg_2 %20
               OpStore %arg_3 %int_1
               OpStore %arg_4 %float_1
         %32 = OpLoad %14 %arg_1
         %33 = OpLoad %11 %arg_0
         %35 = OpSampledImage %34 %33 %32
         %37 = OpLoad %v2float %arg_2
         %38 = OpCompositeExtract %float %37 0
         %39 = OpCompositeExtract %float %37 1
         %41 = OpLoad %int %arg_3
         %40 = OpConvertSToF %float %41
         %42 = OpCompositeConstruct %v3float %38 %39 %40
         %43 = OpLoad %float %arg_4
         %31 = OpImageDrefGather %v4float %35 %42 %43 ConstOffset %45
               OpStore %res %31
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %48
         %50 = OpLabel
         %51 = OpFunctionCall %void %textureGatherCompare_f585cc
               OpReturnValue %5
               OpFunctionEnd
%vertex_main = OpFunction %void None %15
         %53 = OpLabel
         %54 = OpFunctionCall %v4float %vertex_main_inner
               OpStore %value %54
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %15
         %56 = OpLabel
         %57 = OpFunctionCall %void %textureGatherCompare_f585cc
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %15
         %59 = OpLabel
         %60 = OpFunctionCall %void %textureGatherCompare_f585cc
               OpReturn
               OpFunctionEnd
