;
; fragment_main
;
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 30
; Schema: 0
               OpCapability Shader
               OpCapability Image1D
               OpCapability StorageImageExtendedFormats
               OpCapability ImageQuery
         %17 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpExecutionMode %fragment_main OriginUpperLeft
               OpMemberName %prevent_dce_block 0 "inner"
               OpName %prevent_dce_block "prevent_dce_block"
               OpName %arg_0 "arg_0"
               OpName %textureLoad_44c826 "textureLoad_44c826"
               OpName %res "res"
               OpName %fragment_main "fragment_main"
               OpMemberDecorate %prevent_dce_block 0 Offset 0
               OpDecorate %prevent_dce_block Block
               OpDecorate %1 DescriptorSet 0
               OpDecorate %1 Binding 0
               OpDecorate %1 Coherent
               OpDecorate %arg_0 DescriptorSet 1
               OpDecorate %arg_0 Binding 0
               OpDecorate %arg_0 NonWritable
       %uint = OpTypeInt 32 0
     %v4uint = OpTypeVector %uint 4
%prevent_dce_block = OpTypeStruct %v4uint
%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
          %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
          %8 = OpTypeImage %uint 1D 0 0 0 2 Rg32ui
%_ptr_UniformConstant_8 = OpTypePointer UniformConstant %8
      %arg_0 = OpVariable %_ptr_UniformConstant_8 UniformConstant
         %10 = OpTypeFunction %v4uint
     %uint_1 = OpConstant %uint 1
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
       %void = OpTypeVoid
         %24 = OpTypeFunction %void
%_ptr_StorageBuffer_v4uint = OpTypePointer StorageBuffer %v4uint
     %uint_0 = OpConstant %uint 0
%textureLoad_44c826 = OpFunction %v4uint None %10
         %11 = OpLabel
        %res = OpVariable %_ptr_Function_v4uint Function
         %12 = OpLoad %8 %arg_0 None
         %13 = OpImageQuerySize %uint %12
         %14 = OpISub %uint %13 %uint_1
         %16 = OpExtInst %uint %17 UMin %uint_1 %14
         %18 = OpImageRead %v4uint %12 %16 None
               OpStore %res %18
         %21 = OpLoad %v4uint %res None
               OpReturnValue %21
               OpFunctionEnd
%fragment_main = OpFunction %void None %24
         %25 = OpLabel
         %26 = OpFunctionCall %v4uint %textureLoad_44c826
         %27 = OpAccessChain %_ptr_StorageBuffer_v4uint %1 %uint_0
               OpStore %27 %26 None
               OpReturn
               OpFunctionEnd
;
; compute_main
;
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 30
; Schema: 0
               OpCapability Shader
               OpCapability Image1D
               OpCapability StorageImageExtendedFormats
               OpCapability ImageQuery
         %17 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpMemberName %prevent_dce_block 0 "inner"
               OpName %prevent_dce_block "prevent_dce_block"
               OpName %arg_0 "arg_0"
               OpName %textureLoad_44c826 "textureLoad_44c826"
               OpName %res "res"
               OpName %compute_main "compute_main"
               OpMemberDecorate %prevent_dce_block 0 Offset 0
               OpDecorate %prevent_dce_block Block
               OpDecorate %1 DescriptorSet 0
               OpDecorate %1 Binding 0
               OpDecorate %1 Coherent
               OpDecorate %arg_0 DescriptorSet 1
               OpDecorate %arg_0 Binding 0
               OpDecorate %arg_0 NonWritable
       %uint = OpTypeInt 32 0
     %v4uint = OpTypeVector %uint 4
%prevent_dce_block = OpTypeStruct %v4uint
%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
          %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
          %8 = OpTypeImage %uint 1D 0 0 0 2 Rg32ui
%_ptr_UniformConstant_8 = OpTypePointer UniformConstant %8
      %arg_0 = OpVariable %_ptr_UniformConstant_8 UniformConstant
         %10 = OpTypeFunction %v4uint
     %uint_1 = OpConstant %uint 1
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
       %void = OpTypeVoid
         %24 = OpTypeFunction %void
%_ptr_StorageBuffer_v4uint = OpTypePointer StorageBuffer %v4uint
     %uint_0 = OpConstant %uint 0
%textureLoad_44c826 = OpFunction %v4uint None %10
         %11 = OpLabel
        %res = OpVariable %_ptr_Function_v4uint Function
         %12 = OpLoad %8 %arg_0 None
         %13 = OpImageQuerySize %uint %12
         %14 = OpISub %uint %13 %uint_1
         %16 = OpExtInst %uint %17 UMin %uint_1 %14
         %18 = OpImageRead %v4uint %12 %16 None
               OpStore %res %18
         %21 = OpLoad %v4uint %res None
               OpReturnValue %21
               OpFunctionEnd
%compute_main = OpFunction %void None %24
         %25 = OpLabel
         %26 = OpFunctionCall %v4uint %textureLoad_44c826
         %27 = OpAccessChain %_ptr_StorageBuffer_v4uint %1 %uint_0
               OpStore %27 %26 None
               OpReturn
               OpFunctionEnd
;
; vertex_main
;
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 49
; Schema: 0
               OpCapability Shader
               OpCapability Image1D
               OpCapability StorageImageExtendedFormats
               OpCapability ImageQuery
         %22 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %vertex_main "vertex_main" %vertex_main_position_Output %vertex_main_loc0_Output %vertex_main___point_size_Output
               OpName %arg_0 "arg_0"
               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 %textureLoad_44c826 "textureLoad_44c826"
               OpName %res "res"
               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"
               OpDecorate %arg_0 DescriptorSet 1
               OpDecorate %arg_0 Binding 0
               OpDecorate %arg_0 NonWritable
               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
       %uint = OpTypeInt 32 0
          %3 = OpTypeImage %uint 1D 0 0 0 2 Rg32ui
%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
      %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%vertex_main_position_Output = OpVariable %_ptr_Output_v4float Output
     %v4uint = OpTypeVector %uint 4
%_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
         %15 = OpTypeFunction %v4uint
     %uint_1 = OpConstant %uint 1
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
%VertexOutput = OpTypeStruct %v4float %v4uint
         %29 = OpTypeFunction %VertexOutput
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
         %33 = OpConstantNull %VertexOutput
%_ptr_Function_v4float = OpTypePointer Function %v4float
     %uint_0 = OpConstant %uint 0
         %37 = OpConstantNull %v4float
       %void = OpTypeVoid
         %43 = OpTypeFunction %void
    %float_1 = OpConstant %float 1
%textureLoad_44c826 = OpFunction %v4uint None %15
         %16 = OpLabel
        %res = OpVariable %_ptr_Function_v4uint Function
         %17 = OpLoad %3 %arg_0 None
         %18 = OpImageQuerySize %uint %17
         %19 = OpISub %uint %18 %uint_1
         %21 = OpExtInst %uint %22 UMin %uint_1 %19
         %23 = OpImageRead %v4uint %17 %21 None
               OpStore %res %23
         %26 = OpLoad %v4uint %res None
               OpReturnValue %26
               OpFunctionEnd
%vertex_main_inner = OpFunction %VertexOutput None %29
         %30 = OpLabel
        %out = OpVariable %_ptr_Function_VertexOutput Function %33
         %34 = OpAccessChain %_ptr_Function_v4float %out %uint_0
               OpStore %34 %37 None
         %38 = OpAccessChain %_ptr_Function_v4uint %out %uint_1
         %39 = OpFunctionCall %v4uint %textureLoad_44c826
               OpStore %38 %39 None
         %40 = OpLoad %VertexOutput %out None
               OpReturnValue %40
               OpFunctionEnd
%vertex_main = OpFunction %void None %43
         %44 = OpLabel
         %45 = OpFunctionCall %VertexOutput %vertex_main_inner
         %46 = OpCompositeExtract %v4float %45 0
               OpStore %vertex_main_position_Output %46 None
         %47 = OpCompositeExtract %v4uint %45 1
               OpStore %vertex_main_loc0_Output %47 None
               OpStore %vertex_main___point_size_Output %float_1 None
               OpReturn
               OpFunctionEnd
