;
; 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_fd9606 "textureLoad_fd9606"
               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 Coherent
      %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 Rgba8Snorm
%_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_fd9606 = 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_fd9606
         %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_fd9606 "textureLoad_fd9606"
               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 Coherent
      %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 Rgba8Snorm
%_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_fd9606 = 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_fd9606
         %40 = OpAccessChain %_ptr_StorageBuffer_v4float %1 %uint_0
               OpStore %40 %39 None
               OpReturn
               OpFunctionEnd
