; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 59
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpExecutionMode %fragment_main OriginUpperLeft
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpName %value "value"
               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 %textureSampleLevel_1bf73e "textureSampleLevel_1bf73e"
               OpName %res "res"
               OpName %vertex_main_inner "vertex_main_inner"
               OpName %vertex_main "vertex_main"
               OpName %fragment_main "fragment_main"
               OpName %compute_main "compute_main"
               OpDecorate %value BuiltIn Position
               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 2
               OpDecorate %prevent_dce Binding 0
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
          %5 = OpConstantNull %v4float
      %value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
          %8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
         %11 = OpTypeImage %float 2D 0 1 0 1 Unknown
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
      %arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
         %14 = OpTypeSampler
%_ptr_UniformConstant_14 = OpTypePointer UniformConstant %14
      %arg_1 = OpVariable %_ptr_UniformConstant_14 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
       %void = OpTypeVoid
         %18 = OpTypeFunction %void
         %26 = OpTypeSampledImage %11
    %v3float = OpTypeVector %float 3
    %v2float = OpTypeVector %float 2
    %float_1 = OpConstant %float 1
         %31 = OpConstantComposite %v2float %float_1 %float_1
        %int = OpTypeInt 32 1
      %int_1 = OpConstant %int 1
%_ptr_Function_float = OpTypePointer Function %float
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
         %46 = OpTypeFunction %v4float
%textureSampleLevel_1bf73e = OpFunction %void None %18
         %21 = OpLabel
        %res = OpVariable %_ptr_Function_float Function %8
         %24 = OpLoad %14 %arg_1
         %25 = OpLoad %11 %arg_0
         %27 = OpSampledImage %26 %25 %24
         %32 = OpCompositeExtract %float %31 0
         %33 = OpCompositeExtract %float %31 1
         %34 = OpConvertSToF %float %int_1
         %37 = OpCompositeConstruct %v3float %32 %33 %34
         %38 = OpConvertSToF %float %int_1
         %23 = OpImageSampleExplicitLod %v4float %27 %37 Lod %38
         %22 = OpCompositeExtract %float %23 0
               OpStore %res %22
         %44 = OpAccessChain %_ptr_StorageBuffer_float %prevent_dce %uint_0
         %45 = OpLoad %float %res
               OpStore %44 %45
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %46
         %48 = OpLabel
         %49 = OpFunctionCall %void %textureSampleLevel_1bf73e
               OpReturnValue %5
               OpFunctionEnd
%vertex_main = OpFunction %void None %18
         %51 = OpLabel
         %52 = OpFunctionCall %v4float %vertex_main_inner
               OpStore %value %52
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %18
         %54 = OpLabel
         %55 = OpFunctionCall %void %textureSampleLevel_1bf73e
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %18
         %57 = OpLabel
         %58 = OpFunctionCall %void %textureSampleLevel_1bf73e
               OpReturn
               OpFunctionEnd
