; 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_1 "arg_1"
               OpName %arg_2 "arg_2"
               OpName %prevent_dce_block "prevent_dce_block"
               OpMemberName %prevent_dce_block 0 "inner"
               OpName %prevent_dce "prevent_dce"
               OpName %textureGather_5bd491 "textureGather_5bd491"
               OpName %arg_3 "arg_3"
               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_1 DescriptorSet 1
               OpDecorate %arg_1 Binding 1
               OpDecorate %arg_2 DescriptorSet 1
               OpDecorate %arg_2 Binding 2
               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
       %uint = OpTypeInt 32 0
         %11 = OpTypeImage %uint 2D 0 0 0 1 Unknown
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
      %arg_1 = OpVariable %_ptr_UniformConstant_11 UniformConstant
         %15 = OpTypeSampler
%_ptr_UniformConstant_15 = OpTypePointer UniformConstant %15
      %arg_2 = OpVariable %_ptr_UniformConstant_15 UniformConstant
     %v4uint = OpTypeVector %uint 4
%prevent_dce_block = OpTypeStruct %v4uint
%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
%prevent_dce = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
       %void = OpTypeVoid
         %20 = OpTypeFunction %void
    %v2float = OpTypeVector %float 2
    %float_1 = OpConstant %float 1
         %26 = OpConstantComposite %v2float %float_1 %float_1
%_ptr_Function_v2float = OpTypePointer Function %v2float
         %29 = OpConstantNull %v2float
         %33 = OpTypeSampledImage %11
        %int = OpTypeInt 32 1
      %int_1 = OpConstant %int 1
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
         %40 = OpConstantNull %v4uint
     %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_v4uint = OpTypePointer StorageBuffer %v4uint
         %45 = OpTypeFunction %v4float
%textureGather_5bd491 = OpFunction %void None %20
         %23 = OpLabel
      %arg_3 = OpVariable %_ptr_Function_v2float Function %29
        %res = OpVariable %_ptr_Function_v4uint Function %40
               OpStore %arg_3 %26
         %31 = OpLoad %15 %arg_2
         %32 = OpLoad %11 %arg_1
         %34 = OpSampledImage %33 %32 %31
         %35 = OpLoad %v2float %arg_3
         %30 = OpImageGather %v4uint %34 %35 %int_1
               OpStore %res %30
         %43 = OpAccessChain %_ptr_StorageBuffer_v4uint %prevent_dce %uint_0
         %44 = OpLoad %v4uint %res
               OpStore %43 %44
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %45
         %47 = OpLabel
         %48 = OpFunctionCall %void %textureGather_5bd491
               OpReturnValue %5
               OpFunctionEnd
%vertex_main = OpFunction %void None %20
         %50 = OpLabel
         %51 = OpFunctionCall %v4float %vertex_main_inner
               OpStore %value %51
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %20
         %53 = OpLabel
         %54 = OpFunctionCall %void %textureGather_5bd491
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %20
         %56 = OpLabel
         %57 = OpFunctionCall %void %textureGather_5bd491
               OpReturn
               OpFunctionEnd
