; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 69
; Schema: 0
               OpCapability Shader
               OpCapability SampledCubeArray
               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_aaf6bd "textureGather_aaf6bd"
               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
        %int = OpTypeInt 32 1
      %v4int = OpTypeVector %int 4
%tint_symbol_1 = OpTypeStruct %v4int
%_ptr_StorageBuffer_tint_symbol_1 = OpTypePointer StorageBuffer %tint_symbol_1
          %1 = OpVariable %_ptr_StorageBuffer_tint_symbol_1 StorageBuffer
          %8 = OpTypeImage %int Cube 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
      %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
      %int_1 = OpConstant %int 1
    %v3float = OpTypeVector %float 3
    %float_1 = OpConstant %float 1
         %30 = OpConstantComposite %v3float %float_1 %float_1 %float_1
       %uint = OpTypeInt 32 0
     %uint_1 = OpConstant %uint 1
%_ptr_Function_v4int = OpTypePointer Function %v4int
       %void = OpTypeVoid
         %41 = OpTypeFunction %void
%_ptr_StorageBuffer_v4int = OpTypePointer StorageBuffer %v4int
     %uint_0 = OpConstant %uint 0
%VertexOutput = OpTypeStruct %v4float %v4int
         %53 = OpTypeFunction %VertexOutput
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
         %57 = OpConstantNull %VertexOutput
%_ptr_Function_v4float = OpTypePointer Function %v4float
         %60 = OpConstantNull %v4float
%textureGather_aaf6bd = OpFunction %v4int None %21
         %22 = OpLabel
        %res = OpVariable %_ptr_Function_v4int Function
         %23 = OpLoad %8 %arg_1
         %24 = OpLoad %11 %arg_2
         %25 = OpSampledImage %26 %23 %24
         %27 = OpConvertSToF %float %int_1
         %29 = OpCompositeConstruct %v4float %30 %27
         %33 = OpImageGather %v4int %25 %29 %uint_1 None
               OpStore %res %33
         %38 = OpLoad %v4int %res
               OpReturnValue %38
               OpFunctionEnd
%fragment_main = OpFunction %void None %41
         %42 = OpLabel
         %43 = OpFunctionCall %v4int %textureGather_aaf6bd
         %44 = OpAccessChain %_ptr_StorageBuffer_v4int %1 %uint_0
               OpStore %44 %43
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %41
         %48 = OpLabel
         %49 = OpFunctionCall %v4int %textureGather_aaf6bd
         %50 = OpAccessChain %_ptr_StorageBuffer_v4int %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_v4int %out %uint_1
         %62 = OpFunctionCall %v4int %textureGather_aaf6bd
               OpStore %61 %62
         %63 = OpLoad %VertexOutput %out
               OpReturnValue %63
               OpFunctionEnd
%vertex_main = OpFunction %void None %41
         %65 = OpLabel
         %66 = OpFunctionCall %VertexOutput %vertex_main_inner
         %67 = OpCompositeExtract %v4float %66 0
               OpStore %vertex_main_position_Output %67
         %68 = OpCompositeExtract %v4int %66 1
               OpStore %vertex_main_loc0_Output %68
               OpStore %vertex_main___point_size_Output %float_1
               OpReturn
               OpFunctionEnd
