; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 69
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpEntryPoint Vertex %vertex_main "vertex_main" %vertex_main_position_Output %vertex_main_loc0_Output %vertex_main___point_size_Output
               OpExecutionMode %fragment_main OriginUpperLeft
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpMemberName %prevent_dce_block 0 "inner"
               OpName %prevent_dce_block "prevent_dce_block"
               OpName %arg_1 "arg_1"
               OpName %arg_2 "arg_2"
               OpName %vertex_main_position_Output "vertex_main_position_Output"
               OpName %vertex_main_loc0_Output "vertex_main_loc0_Output"
               OpName %vertex_main___point_size_Output "vertex_main___point_size_Output"
               OpName %textureGather_7c3828 "textureGather_7c3828"
               OpName %res "res"
               OpName %fragment_main "fragment_main"
               OpName %compute_main "compute_main"
               OpName %vertex_main_inner "vertex_main_inner"
               OpMemberName %VertexOutput 0 "pos"
               OpMemberName %VertexOutput 1 "prevent_dce"
               OpName %VertexOutput "VertexOutput"
               OpName %out "out"
               OpName %vertex_main "vertex_main"
               OpMemberDecorate %prevent_dce_block 0 Offset 0
               OpDecorate %prevent_dce_block Block
               OpDecorate %1 DescriptorSet 0
               OpDecorate %1 Binding 0
               OpDecorate %1 Coherent
               OpDecorate %arg_1 DescriptorSet 1
               OpDecorate %arg_1 Binding 1
               OpDecorate %arg_2 DescriptorSet 1
               OpDecorate %arg_2 Binding 2
               OpDecorate %vertex_main_position_Output BuiltIn Position
               OpDecorate %vertex_main_loc0_Output Location 0
               OpDecorate %vertex_main_loc0_Output Flat
               OpDecorate %vertex_main___point_size_Output BuiltIn PointSize
               OpMemberDecorate %VertexOutput 0 Offset 0
               OpMemberDecorate %VertexOutput 1 Offset 16
        %int = OpTypeInt 32 1
      %v4int = OpTypeVector %int 4
%prevent_dce_block = OpTypeStruct %v4int
%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
          %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
          %8 = OpTypeImage %int 2D 0 0 0 1 Unknown
%_ptr_UniformConstant_8 = OpTypePointer UniformConstant %8
      %arg_1 = OpVariable %_ptr_UniformConstant_8 UniformConstant
         %11 = OpTypeSampler
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
      %arg_2 = OpVariable %_ptr_UniformConstant_11 UniformConstant
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%vertex_main_position_Output = OpVariable %_ptr_Output_v4float Output
%_ptr_Output_v4int = OpTypePointer Output %v4int
%vertex_main_loc0_Output = OpVariable %_ptr_Output_v4int Output
%_ptr_Output_float = OpTypePointer Output %float
%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output
         %21 = OpTypeFunction %v4int
         %26 = OpTypeSampledImage %8
    %v2float = OpTypeVector %float 2
    %float_1 = OpConstant %float 1
         %28 = OpConstantComposite %v2float %float_1 %float_1
      %int_1 = OpConstant %int 1
      %v2int = OpTypeVector %int 2
         %32 = OpConstantComposite %v2int %int_1 %int_1
%_ptr_Function_v4int = OpTypePointer Function %v4int
       %void = OpTypeVoid
         %39 = OpTypeFunction %void
%_ptr_StorageBuffer_v4int = OpTypePointer StorageBuffer %v4int
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%VertexOutput = OpTypeStruct %v4float %v4int
         %52 = OpTypeFunction %VertexOutput
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
         %56 = OpConstantNull %VertexOutput
%_ptr_Function_v4float = OpTypePointer Function %v4float
         %59 = OpConstantNull %v4float
     %uint_1 = OpConstant %uint 1
%textureGather_7c3828 = OpFunction %v4int None %21
         %22 = OpLabel
        %res = OpVariable %_ptr_Function_v4int Function
         %23 = OpLoad %8 %arg_1 None
         %24 = OpLoad %11 %arg_2 None
         %25 = OpSampledImage %26 %23 %24
         %27 = OpImageGather %v4int %25 %28 %int_1 ConstOffset %32
               OpStore %res %27
         %36 = OpLoad %v4int %res None
               OpReturnValue %36
               OpFunctionEnd
%fragment_main = OpFunction %void None %39
         %40 = OpLabel
         %41 = OpFunctionCall %v4int %textureGather_7c3828
         %42 = OpAccessChain %_ptr_StorageBuffer_v4int %1 %uint_0
               OpStore %42 %41 None
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %39
         %47 = OpLabel
         %48 = OpFunctionCall %v4int %textureGather_7c3828
         %49 = OpAccessChain %_ptr_StorageBuffer_v4int %1 %uint_0
               OpStore %49 %48 None
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %VertexOutput None %52
         %53 = OpLabel
        %out = OpVariable %_ptr_Function_VertexOutput Function %56
         %57 = OpAccessChain %_ptr_Function_v4float %out %uint_0
               OpStore %57 %59 None
         %60 = OpAccessChain %_ptr_Function_v4int %out %uint_1
         %62 = OpFunctionCall %v4int %textureGather_7c3828
               OpStore %60 %62 None
         %63 = OpLoad %VertexOutput %out None
               OpReturnValue %63
               OpFunctionEnd
%vertex_main = OpFunction %void None %39
         %65 = OpLabel
         %66 = OpFunctionCall %VertexOutput %vertex_main_inner
         %67 = OpCompositeExtract %v4float %66 0
               OpStore %vertex_main_position_Output %67 None
         %68 = OpCompositeExtract %v4int %66 1
               OpStore %vertex_main_loc0_Output %68 None
               OpStore %vertex_main___point_size_Output %float_1 None
               OpReturn
               OpFunctionEnd
