; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 70
; 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_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_3b32cc "textureGather_3b32cc"
               OpName %arg_3 "arg_3"
               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 %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
       %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 Cube 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_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
         %21 = OpTypeFunction %v4uint
    %v3float = OpTypeVector %float 3
%_ptr_Function_v3float = OpTypePointer Function %v3float
    %float_1 = OpConstant %float 1
         %26 = OpConstantComposite %v3float %float_1 %float_1 %float_1
         %32 = OpTypeSampledImage %8
        %int = OpTypeInt 32 1
      %int_1 = OpConstant %int 1
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
       %void = OpTypeVoid
         %41 = OpTypeFunction %void
%_ptr_StorageBuffer_v4uint = OpTypePointer StorageBuffer %v4uint
     %uint_0 = OpConstant %uint 0
%VertexOutput = OpTypeStruct %v4float %v4uint
         %53 = OpTypeFunction %VertexOutput
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
         %57 = OpConstantNull %VertexOutput
%_ptr_Function_v4float = OpTypePointer Function %v4float
         %60 = OpConstantNull %v4float
     %uint_1 = OpConstant %uint 1
%textureGather_3b32cc = OpFunction %v4uint None %21
         %22 = OpLabel
      %arg_3 = OpVariable %_ptr_Function_v3float Function
        %res = OpVariable %_ptr_Function_v4uint Function
               OpStore %arg_3 %26
         %28 = OpLoad %8 %arg_1
         %29 = OpLoad %11 %arg_2
         %30 = OpLoad %v3float %arg_3
         %31 = OpSampledImage %32 %28 %29
         %33 = OpImageGather %v4uint %31 %30 %int_1 None
               OpStore %res %33
         %38 = OpLoad %v4uint %res
               OpReturnValue %38
               OpFunctionEnd
%fragment_main = OpFunction %void None %41
         %42 = OpLabel
         %43 = OpFunctionCall %v4uint %textureGather_3b32cc
         %44 = OpAccessChain %_ptr_StorageBuffer_v4uint %1 %uint_0
               OpStore %44 %43
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %41
         %48 = OpLabel
         %49 = OpFunctionCall %v4uint %textureGather_3b32cc
         %50 = OpAccessChain %_ptr_StorageBuffer_v4uint %1 %uint_0
               OpStore %50 %49
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %VertexOutput None %53
         %54 = OpLabel
        %out = OpVariable %_ptr_Function_VertexOutput Function %57
         %58 = OpAccessChain %_ptr_Function_v4float %out %uint_0
               OpStore %58 %60
         %61 = OpAccessChain %_ptr_Function_v4uint %out %uint_1
         %63 = OpFunctionCall %v4uint %textureGather_3b32cc
               OpStore %61 %63
         %64 = OpLoad %VertexOutput %out
               OpReturnValue %64
               OpFunctionEnd
%vertex_main = OpFunction %void None %41
         %66 = OpLabel
         %67 = OpFunctionCall %VertexOutput %vertex_main_inner
         %68 = OpCompositeExtract %v4float %67 0
               OpStore %vertex_main_position_Output %68
         %69 = OpCompositeExtract %v4uint %67 1
               OpStore %vertex_main_loc0_Output %69
               OpStore %vertex_main___point_size_Output %float_1
               OpReturn
               OpFunctionEnd
