; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 58
; 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 %prevent_dce_block "prevent_dce_block"
               OpMemberName %prevent_dce_block 0 "inner"
               OpName %prevent_dce "prevent_dce"
               OpName %textureGather_2a4f40 "textureGather_2a4f40"
               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
               OpDecorate %prevent_dce_block Block
               OpMemberDecorate %prevent_dce_block 0 Offset 0
               OpDecorate %prevent_dce DescriptorSet 2
               OpDecorate %prevent_dce Binding 0
      %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
%prevent_dce_block = OpTypeStruct %v4float
%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
%prevent_dce = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
       %void = OpTypeVoid
         %18 = OpTypeFunction %void
         %25 = OpTypeSampledImage %11
    %v3float = OpTypeVector %float 3
    %v2float = OpTypeVector %float 2
    %float_1 = OpConstant %float 1
         %30 = OpConstantComposite %v2float %float_1 %float_1
       %uint = OpTypeInt 32 0
     %uint_1 = OpConstant %uint 1
        %int = OpTypeInt 32 1
      %int_0 = OpConstant %int 0
%_ptr_Function_v4float = OpTypePointer Function %v4float
     %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_v4float = OpTypePointer StorageBuffer %v4float
         %45 = OpTypeFunction %v4float
%textureGather_2a4f40 = OpFunction %void None %18
         %21 = OpLabel
        %res = OpVariable %_ptr_Function_v4float Function %5
         %23 = OpLoad %14 %arg_1
         %24 = OpLoad %11 %arg_0
         %26 = OpSampledImage %25 %24 %23
         %31 = OpCompositeExtract %float %30 0
         %32 = OpCompositeExtract %float %30 1
         %33 = OpConvertUToF %float %uint_1
         %36 = OpCompositeConstruct %v3float %31 %32 %33
         %22 = OpImageGather %v4float %26 %36 %int_0
               OpStore %res %22
         %43 = OpAccessChain %_ptr_StorageBuffer_v4float %prevent_dce %uint_0
         %44 = OpLoad %v4float %res
               OpStore %43 %44
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %45
         %47 = OpLabel
         %48 = OpFunctionCall %void %textureGather_2a4f40
               OpReturnValue %5
               OpFunctionEnd
%vertex_main = OpFunction %void None %18
         %50 = OpLabel
         %51 = OpFunctionCall %v4float %vertex_main_inner
               OpStore %value %51
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %18
         %53 = OpLabel
         %54 = OpFunctionCall %void %textureGather_2a4f40
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %18
         %56 = OpLabel
         %57 = OpFunctionCall %void %textureGather_2a4f40
               OpReturn
               OpFunctionEnd
