;
; fragment_main
;
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 43
; Schema: 0
               OpCapability Shader
               OpCapability ImageQuery
         %23 = 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_2e3552 "textureLoad_2e3552"
               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
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%prevent_dce_block = OpTypeStruct %v4float
%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
          %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
          %8 = OpTypeImage %float 2D 0 1 0 2 R32f
%_ptr_UniformConstant_8 = OpTypePointer UniformConstant %8
      %arg_0 = OpVariable %_ptr_UniformConstant_8 UniformConstant
         %10 = OpTypeFunction %v4float
       %uint = OpTypeInt 32 0
     %v3uint = OpTypeVector %uint 3
     %uint_1 = OpConstant %uint 1
        %int = OpTypeInt 32 1
      %int_1 = OpConstant %int 1
     %v2uint = OpTypeVector %uint 2
         %28 = OpConstantComposite %v2uint %uint_1 %uint_1
%_ptr_Function_v4float = OpTypePointer Function %v4float
       %void = OpTypeVoid
         %37 = OpTypeFunction %void
%_ptr_StorageBuffer_v4float = OpTypePointer StorageBuffer %v4float
     %uint_0 = OpConstant %uint 0
%textureLoad_2e3552 = OpFunction %v4float None %10
         %11 = OpLabel
        %res = OpVariable %_ptr_Function_v4float Function
         %12 = OpLoad %8 %arg_0 None
         %13 = OpImageQuerySize %v3uint %12
         %16 = OpCompositeExtract %uint %13 2
         %17 = OpISub %uint %16 %uint_1
         %19 = OpBitcast %uint %int_1
         %22 = OpExtInst %uint %23 UMin %19 %17
         %24 = OpImageQuerySize %v3uint %12
         %25 = OpVectorShuffle %v2uint %24 %24 0 1
         %27 = OpISub %v2uint %25 %28
         %29 = OpExtInst %v2uint %23 UMin %28 %27
         %30 = OpCompositeConstruct %v3uint %29 %22
         %31 = OpImageRead %v4float %12 %30 None
               OpStore %res %31
         %34 = OpLoad %v4float %res None
               OpReturnValue %34
               OpFunctionEnd
%fragment_main = OpFunction %void None %37
         %38 = OpLabel
         %39 = OpFunctionCall %v4float %textureLoad_2e3552
         %40 = OpAccessChain %_ptr_StorageBuffer_v4float %1 %uint_0
               OpStore %40 %39 None
               OpReturn
               OpFunctionEnd
;
; compute_main
;
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 43
; Schema: 0
               OpCapability Shader
               OpCapability ImageQuery
         %23 = 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_2e3552 "textureLoad_2e3552"
               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
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%prevent_dce_block = OpTypeStruct %v4float
%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
          %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
          %8 = OpTypeImage %float 2D 0 1 0 2 R32f
%_ptr_UniformConstant_8 = OpTypePointer UniformConstant %8
      %arg_0 = OpVariable %_ptr_UniformConstant_8 UniformConstant
         %10 = OpTypeFunction %v4float
       %uint = OpTypeInt 32 0
     %v3uint = OpTypeVector %uint 3
     %uint_1 = OpConstant %uint 1
        %int = OpTypeInt 32 1
      %int_1 = OpConstant %int 1
     %v2uint = OpTypeVector %uint 2
         %28 = OpConstantComposite %v2uint %uint_1 %uint_1
%_ptr_Function_v4float = OpTypePointer Function %v4float
       %void = OpTypeVoid
         %37 = OpTypeFunction %void
%_ptr_StorageBuffer_v4float = OpTypePointer StorageBuffer %v4float
     %uint_0 = OpConstant %uint 0
%textureLoad_2e3552 = OpFunction %v4float None %10
         %11 = OpLabel
        %res = OpVariable %_ptr_Function_v4float Function
         %12 = OpLoad %8 %arg_0 None
         %13 = OpImageQuerySize %v3uint %12
         %16 = OpCompositeExtract %uint %13 2
         %17 = OpISub %uint %16 %uint_1
         %19 = OpBitcast %uint %int_1
         %22 = OpExtInst %uint %23 UMin %19 %17
         %24 = OpImageQuerySize %v3uint %12
         %25 = OpVectorShuffle %v2uint %24 %24 0 1
         %27 = OpISub %v2uint %25 %28
         %29 = OpExtInst %v2uint %23 UMin %28 %27
         %30 = OpCompositeConstruct %v3uint %29 %22
         %31 = OpImageRead %v4float %12 %30 None
               OpStore %res %31
         %34 = OpLoad %v4float %res None
               OpReturnValue %34
               OpFunctionEnd
%compute_main = OpFunction %void None %37
         %38 = OpLabel
         %39 = OpFunctionCall %v4float %textureLoad_2e3552
         %40 = OpAccessChain %_ptr_StorageBuffer_v4float %1 %uint_0
               OpStore %40 %39 None
               OpReturn
               OpFunctionEnd
;
; vertex_main
;
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 58
; Schema: 0
               OpCapability Shader
               OpCapability ImageQuery
         %25 = 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_2e3552 "textureLoad_2e3552"
               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
      %float = OpTypeFloat 32
          %3 = OpTypeImage %float 2D 0 1 0 2 R32f
%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
      %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
    %v4float = OpTypeVector %float 4
%_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
         %12 = OpTypeFunction %v4float
       %uint = OpTypeInt 32 0
     %v3uint = OpTypeVector %uint 3
     %uint_1 = OpConstant %uint 1
        %int = OpTypeInt 32 1
      %int_1 = OpConstant %int 1
     %v2uint = OpTypeVector %uint 2
         %30 = OpConstantComposite %v2uint %uint_1 %uint_1
%_ptr_Function_v4float = OpTypePointer Function %v4float
%VertexOutput = OpTypeStruct %v4float %v4float
         %39 = OpTypeFunction %VertexOutput
%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
         %43 = OpConstantNull %VertexOutput
     %uint_0 = OpConstant %uint 0
         %46 = OpConstantNull %v4float
       %void = OpTypeVoid
         %52 = OpTypeFunction %void
    %float_1 = OpConstant %float 1
%textureLoad_2e3552 = OpFunction %v4float None %12
         %13 = OpLabel
        %res = OpVariable %_ptr_Function_v4float Function
         %14 = OpLoad %3 %arg_0 None
         %15 = OpImageQuerySize %v3uint %14
         %18 = OpCompositeExtract %uint %15 2
         %19 = OpISub %uint %18 %uint_1
         %21 = OpBitcast %uint %int_1
         %24 = OpExtInst %uint %25 UMin %21 %19
         %26 = OpImageQuerySize %v3uint %14
         %27 = OpVectorShuffle %v2uint %26 %26 0 1
         %29 = OpISub %v2uint %27 %30
         %31 = OpExtInst %v2uint %25 UMin %30 %29
         %32 = OpCompositeConstruct %v3uint %31 %24
         %33 = OpImageRead %v4float %14 %32 None
               OpStore %res %33
         %36 = OpLoad %v4float %res None
               OpReturnValue %36
               OpFunctionEnd
%vertex_main_inner = OpFunction %VertexOutput None %39
         %40 = OpLabel
        %out = OpVariable %_ptr_Function_VertexOutput Function %43
         %44 = OpAccessChain %_ptr_Function_v4float %out %uint_0
               OpStore %44 %46 None
         %47 = OpAccessChain %_ptr_Function_v4float %out %uint_1
         %48 = OpFunctionCall %v4float %textureLoad_2e3552
               OpStore %47 %48 None
         %49 = OpLoad %VertexOutput %out None
               OpReturnValue %49
               OpFunctionEnd
%vertex_main = OpFunction %void None %52
         %53 = OpLabel
         %54 = OpFunctionCall %VertexOutput %vertex_main_inner
         %55 = OpCompositeExtract %v4float %54 0
               OpStore %vertex_main_position_Output %55 None
         %56 = OpCompositeExtract %v4float %54 1
               OpStore %vertex_main_loc0_Output %56 None
               OpStore %vertex_main___point_size_Output %float_1 None
               OpReturn
               OpFunctionEnd
