; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 72
; 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" %pos_1 %prevent_dce_1 %vertex_point_size
               OpExecutionMode %fragment_main OriginUpperLeft
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpName %pos_1 "pos_1"
               OpName %prevent_dce_1 "prevent_dce_1"
               OpName %vertex_point_size "vertex_point_size"
               OpName %arg_0 "arg_0"
               OpName %arg_1 "arg_1"
               OpName %prevent_dce_block "prevent_dce_block"
               OpMemberName %prevent_dce_block 0 "inner"
               OpName %prevent_dce "prevent_dce"
               OpName %textureSampleCompareLevel_4cf3a2 "textureSampleCompareLevel_4cf3a2"
               OpName %res "res"
               OpName %fragment_main "fragment_main"
               OpName %compute_main "compute_main"
               OpName %VertexOutput "VertexOutput"
               OpMemberName %VertexOutput 0 "pos"
               OpMemberName %VertexOutput 1 "prevent_dce"
               OpName %vertex_main_inner "vertex_main_inner"
               OpName %out "out"
               OpName %vertex_main "vertex_main"
               OpDecorate %pos_1 BuiltIn Position
               OpDecorate %prevent_dce_1 Location 0
               OpDecorate %prevent_dce_1 Flat
               OpDecorate %vertex_point_size BuiltIn PointSize
               OpDecorate %arg_0 DescriptorSet 1
               OpDecorate %arg_0 Binding 0
               OpDecorate %arg_1 DescriptorSet 1
               OpDecorate %arg_1 Binding 1
               OpDecorate %prevent_dce_block Block
               OpMemberDecorate %prevent_dce_block 0 Offset 0
               OpDecorate %prevent_dce DescriptorSet 0
               OpDecorate %prevent_dce Binding 0
               OpMemberDecorate %VertexOutput 0 Offset 0
               OpMemberDecorate %VertexOutput 1 Offset 16
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
          %5 = OpConstantNull %v4float
      %pos_1 = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
          %8 = OpConstantNull %float
%prevent_dce_1 = OpVariable %_ptr_Output_float Output %8
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
         %12 = OpTypeImage %float Cube 0 1 0 1 Unknown
%_ptr_UniformConstant_12 = OpTypePointer UniformConstant %12
      %arg_0 = OpVariable %_ptr_UniformConstant_12 UniformConstant
         %15 = OpTypeSampler
%_ptr_UniformConstant_15 = OpTypePointer UniformConstant %15
      %arg_1 = OpVariable %_ptr_UniformConstant_15 UniformConstant
%prevent_dce_block = OpTypeStruct %float
%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
%prevent_dce = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
         %19 = OpTypeFunction %float
         %25 = OpTypeSampledImage %12
    %v3float = OpTypeVector %float 3
    %float_1 = OpConstant %float 1
         %29 = OpConstantComposite %v3float %float_1 %float_1 %float_1
        %int = OpTypeInt 32 1
      %int_1 = OpConstant %int 1
    %float_0 = OpConstant %float 0
%_ptr_Function_float = OpTypePointer Function %float
       %void = OpTypeVoid
         %41 = OpTypeFunction %void
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%VertexOutput = OpTypeStruct %v4float %float
         %54 = OpTypeFunction %VertexOutput
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
         %60 = OpConstantNull %VertexOutput
%_ptr_Function_v4float = OpTypePointer Function %v4float
     %uint_1 = OpConstant %uint 1
%textureSampleCompareLevel_4cf3a2 = OpFunction %float None %19
         %21 = OpLabel
        %res = OpVariable %_ptr_Function_float Function %8
         %23 = OpLoad %15 %arg_1
         %24 = OpLoad %12 %arg_0
         %26 = OpSampledImage %25 %24 %23
         %30 = OpCompositeExtract %float %29 0
         %31 = OpCompositeExtract %float %29 1
         %32 = OpCompositeExtract %float %29 2
         %33 = OpConvertSToF %float %int_1
         %36 = OpCompositeConstruct %v4float %30 %31 %32 %33
         %22 = OpImageSampleDrefExplicitLod %float %26 %36 %float_1 Lod %float_0
               OpStore %res %22
         %40 = OpLoad %float %res
               OpReturnValue %40
               OpFunctionEnd
%fragment_main = OpFunction %void None %41
         %44 = OpLabel
         %48 = OpAccessChain %_ptr_StorageBuffer_float %prevent_dce %uint_0
         %49 = OpFunctionCall %float %textureSampleCompareLevel_4cf3a2
               OpStore %48 %49
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %41
         %51 = OpLabel
         %52 = OpAccessChain %_ptr_StorageBuffer_float %prevent_dce %uint_0
         %53 = OpFunctionCall %float %textureSampleCompareLevel_4cf3a2
               OpStore %52 %53
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %VertexOutput None %54
         %57 = OpLabel
        %out = OpVariable %_ptr_Function_VertexOutput Function %60
         %62 = OpAccessChain %_ptr_Function_v4float %out %uint_0
               OpStore %62 %5
         %64 = OpAccessChain %_ptr_Function_float %out %uint_1
         %65 = OpFunctionCall %float %textureSampleCompareLevel_4cf3a2
               OpStore %64 %65
         %66 = OpLoad %VertexOutput %out
               OpReturnValue %66
               OpFunctionEnd
%vertex_main = OpFunction %void None %41
         %68 = OpLabel
         %69 = OpFunctionCall %VertexOutput %vertex_main_inner
         %70 = OpCompositeExtract %v4float %69 0
               OpStore %pos_1 %70
         %71 = OpCompositeExtract %float %69 1
               OpStore %prevent_dce_1 %71
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
