; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 67
; 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_17baac "textureGather_17baac"
               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
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%prevent_dce_block = OpTypeStruct %v4float
%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
          %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
          %8 = OpTypeImage %float 2D 0 1 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
%_ptr_Output_v4float = OpTypePointer Output %v4float
%vertex_main_position_Output = OpVariable %_ptr_Output_v4float Output
%vertex_main_loc0_Output = OpVariable %_ptr_Output_v4float Output
%_ptr_Output_float = OpTypePointer Output %float
%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output
         %18 = OpTypeFunction %v4float
         %23 = OpTypeSampledImage %8
       %uint = OpTypeInt 32 0
     %uint_1 = OpConstant %uint 1
    %v3float = OpTypeVector %float 3
    %v2float = OpTypeVector %float 2
    %float_1 = OpConstant %float 1
         %29 = OpConstantComposite %v2float %float_1 %float_1
        %int = OpTypeInt 32 1
      %int_1 = OpConstant %int 1
%_ptr_Function_v4float = OpTypePointer Function %v4float
       %void = OpTypeVoid
         %40 = OpTypeFunction %void
%_ptr_StorageBuffer_v4float = OpTypePointer StorageBuffer %v4float
     %uint_0 = OpConstant %uint 0
%VertexOutput = OpTypeStruct %v4float %v4float
         %52 = OpTypeFunction %VertexOutput
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
         %56 = OpConstantNull %VertexOutput
         %58 = OpConstantNull %v4float
%textureGather_17baac = OpFunction %v4float None %18
         %19 = OpLabel
        %res = OpVariable %_ptr_Function_v4float Function
         %20 = OpLoad %8 %arg_1 None
         %21 = OpLoad %11 %arg_2 None
         %22 = OpSampledImage %23 %20 %21
         %24 = OpConvertUToF %float %uint_1
         %28 = OpCompositeConstruct %v3float %29 %24
         %32 = OpImageGather %v4float %22 %28 %int_1 None
               OpStore %res %32
         %37 = OpLoad %v4float %res None
               OpReturnValue %37
               OpFunctionEnd
%fragment_main = OpFunction %void None %40
         %41 = OpLabel
         %42 = OpFunctionCall %v4float %textureGather_17baac
         %43 = OpAccessChain %_ptr_StorageBuffer_v4float %1 %uint_0
               OpStore %43 %42 None
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %40
         %47 = OpLabel
         %48 = OpFunctionCall %v4float %textureGather_17baac
         %49 = OpAccessChain %_ptr_StorageBuffer_v4float %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 %58 None
         %59 = OpAccessChain %_ptr_Function_v4float %out %uint_1
         %60 = OpFunctionCall %v4float %textureGather_17baac
               OpStore %59 %60 None
         %61 = OpLoad %VertexOutput %out None
               OpReturnValue %61
               OpFunctionEnd
%vertex_main = OpFunction %void None %40
         %63 = OpLabel
         %64 = OpFunctionCall %VertexOutput %vertex_main_inner
         %65 = OpCompositeExtract %v4float %64 0
               OpStore %vertex_main_position_Output %65 None
         %66 = OpCompositeExtract %v4float %64 1
               OpStore %vertex_main_loc0_Output %66 None
               OpStore %vertex_main___point_size_Output %float_1 None
               OpReturn
               OpFunctionEnd
