; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 66
; 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_0 "arg_0"
               OpName %arg_1 "arg_1"
               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 %textureGatherCompare_60d2d1 "textureGatherCompare_60d2d1"
               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_1 DescriptorSet 1
               OpDecorate %arg_1 Binding 1
               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
%tint_symbol_1 = OpTypeStruct %v4float
%_ptr_StorageBuffer_tint_symbol_1 = OpTypePointer StorageBuffer %tint_symbol_1
          %1 = OpVariable %_ptr_StorageBuffer_tint_symbol_1 StorageBuffer
          %8 = OpTypeImage %float Cube 0 1 0 1 Unknown
%_ptr_UniformConstant_8 = OpTypePointer UniformConstant %8
      %arg_0 = OpVariable %_ptr_UniformConstant_8 UniformConstant
         %11 = OpTypeSampler
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
      %arg_1 = 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
        %int = OpTypeInt 32 1
      %int_1 = OpConstant %int 1
    %v3float = OpTypeVector %float 3
    %float_1 = OpConstant %float 1
         %28 = OpConstantComposite %v3float %float_1 %float_1 %float_1
%_ptr_Function_v4float = OpTypePointer Function %v4float
       %void = OpTypeVoid
         %37 = OpTypeFunction %void
%_ptr_StorageBuffer_v4float = OpTypePointer StorageBuffer %v4float
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%VertexOutput = OpTypeStruct %v4float %v4float
         %50 = OpTypeFunction %VertexOutput
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
         %54 = OpConstantNull %VertexOutput
         %56 = OpConstantNull %v4float
     %uint_1 = OpConstant %uint 1
%textureGatherCompare_60d2d1 = OpFunction %v4float None %18
         %19 = OpLabel
        %res = OpVariable %_ptr_Function_v4float Function
         %20 = OpLoad %8 %arg_0 None
         %21 = OpLoad %11 %arg_1 None
         %22 = OpSampledImage %23 %20 %21
         %24 = OpConvertSToF %float %int_1
         %27 = OpCompositeConstruct %v4float %28 %24
         %31 = OpImageDrefGather %v4float %22 %27 %float_1 None
               OpStore %res %31
         %34 = OpLoad %v4float %res None
               OpReturnValue %34
               OpFunctionEnd
%fragment_main = OpFunction %void None %37
         %38 = OpLabel
         %39 = OpFunctionCall %v4float %textureGatherCompare_60d2d1
         %40 = OpAccessChain %_ptr_StorageBuffer_v4float %1 %uint_0
               OpStore %40 %39 None
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %37
         %45 = OpLabel
         %46 = OpFunctionCall %v4float %textureGatherCompare_60d2d1
         %47 = OpAccessChain %_ptr_StorageBuffer_v4float %1 %uint_0
               OpStore %47 %46 None
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %VertexOutput None %50
         %51 = OpLabel
        %out = OpVariable %_ptr_Function_VertexOutput Function %54
         %55 = OpAccessChain %_ptr_Function_v4float %out %uint_0
               OpStore %55 %56 None
         %57 = OpAccessChain %_ptr_Function_v4float %out %uint_1
         %59 = OpFunctionCall %v4float %textureGatherCompare_60d2d1
               OpStore %57 %59 None
         %60 = OpLoad %VertexOutput %out None
               OpReturnValue %60
               OpFunctionEnd
%vertex_main = OpFunction %void None %37
         %62 = OpLabel
         %63 = OpFunctionCall %VertexOutput %vertex_main_inner
         %64 = OpCompositeExtract %v4float %63 0
               OpStore %vertex_main_position_Output %64 None
         %65 = OpCompositeExtract %v4float %63 1
               OpStore %vertex_main_loc0_Output %65 None
               OpStore %vertex_main___point_size_Output %float_1 None
               OpReturn
               OpFunctionEnd
