; 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 %tint_symbol_1 0 "tint_symbol"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %arg_0 "arg_0"
               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 %textureLoad_fdebd0 "textureLoad_fdebd0"
               OpName %arg_1 "arg_1"
               OpName %arg_2 "arg_2"
               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 %tint_symbol_1 0 Offset 0
               OpDecorate %tint_symbol_1 Block
               OpDecorate %1 DescriptorSet 0
               OpDecorate %1 Binding 0
               OpDecorate %1 Coherent
               OpDecorate %arg_0 DescriptorSet 1
               OpDecorate %arg_0 Binding 0
               OpDecorate %arg_0 NonWritable
               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
       %uint = OpTypeInt 32 0
     %v4uint = OpTypeVector %uint 4
%tint_symbol_1 = OpTypeStruct %v4uint
%_ptr_StorageBuffer_tint_symbol_1 = OpTypePointer StorageBuffer %tint_symbol_1
          %1 = OpVariable %_ptr_StorageBuffer_tint_symbol_1 StorageBuffer
          %8 = OpTypeImage %uint 2D 0 1 0 2 Rgba8ui
%_ptr_UniformConstant_8 = OpTypePointer UniformConstant %8
      %arg_0 = OpVariable %_ptr_UniformConstant_8 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_v4uint = OpTypePointer Output %v4uint
%vertex_main_loc0_Output = OpVariable %_ptr_Output_v4uint Output
%_ptr_Output_float = OpTypePointer Output %float
%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output
         %18 = OpTypeFunction %v4uint
        %int = OpTypeInt 32 1
      %v2int = OpTypeVector %int 2
%_ptr_Function_v2int = OpTypePointer Function %v2int
      %int_1 = OpConstant %int 1
         %24 = OpConstantComposite %v2int %int_1 %int_1
%_ptr_Function_int = OpTypePointer Function %int
      %v3int = OpTypeVector %int 3
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
       %void = OpTypeVoid
         %39 = OpTypeFunction %void
%_ptr_StorageBuffer_v4uint = OpTypePointer StorageBuffer %v4uint
     %uint_0 = OpConstant %uint 0
%VertexOutput = OpTypeStruct %v4float %v4uint
         %51 = OpTypeFunction %VertexOutput
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
         %55 = OpConstantNull %VertexOutput
%_ptr_Function_v4float = OpTypePointer Function %v4float
         %58 = OpConstantNull %v4float
     %uint_1 = OpConstant %uint 1
    %float_1 = OpConstant %float 1
%textureLoad_fdebd0 = OpFunction %v4uint None %18
         %19 = OpLabel
      %arg_1 = OpVariable %_ptr_Function_v2int Function
      %arg_2 = OpVariable %_ptr_Function_int Function
        %res = OpVariable %_ptr_Function_v4uint Function
               OpStore %arg_1 %24
               OpStore %arg_2 %int_1
         %28 = OpLoad %8 %arg_0 None
         %29 = OpLoad %v2int %arg_1 None
         %30 = OpLoad %int %arg_2 None
         %32 = OpCompositeConstruct %v3int %29 %30
         %33 = OpImageRead %v4uint %28 %32 None
               OpStore %res %33
         %36 = OpLoad %v4uint %res None
               OpReturnValue %36
               OpFunctionEnd
%fragment_main = OpFunction %void None %39
         %40 = OpLabel
         %41 = OpFunctionCall %v4uint %textureLoad_fdebd0
         %42 = OpAccessChain %_ptr_StorageBuffer_v4uint %1 %uint_0
               OpStore %42 %41 None
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %39
         %46 = OpLabel
         %47 = OpFunctionCall %v4uint %textureLoad_fdebd0
         %48 = OpAccessChain %_ptr_StorageBuffer_v4uint %1 %uint_0
               OpStore %48 %47 None
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %VertexOutput None %51
         %52 = OpLabel
        %out = OpVariable %_ptr_Function_VertexOutput Function %55
         %56 = OpAccessChain %_ptr_Function_v4float %out %uint_0
               OpStore %56 %58 None
         %59 = OpAccessChain %_ptr_Function_v4uint %out %uint_1
         %61 = OpFunctionCall %v4uint %textureLoad_fdebd0
               OpStore %59 %61 None
         %62 = OpLoad %VertexOutput %out None
               OpReturnValue %62
               OpFunctionEnd
%vertex_main = OpFunction %void None %39
         %64 = OpLabel
         %65 = OpFunctionCall %VertexOutput %vertex_main_inner
         %66 = OpCompositeExtract %v4float %65 0
               OpStore %vertex_main_position_Output %66 None
         %67 = OpCompositeExtract %v4uint %65 1
               OpStore %vertex_main_loc0_Output %67 None
               OpStore %vertex_main___point_size_Output %float_1 None
               OpReturn
               OpFunctionEnd
