; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 113
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint GLCompute %main "main"
               OpExecutionMode %main LocalSize 1 18 6
               OpName %GLF_live2gl_FragCoord "GLF_live2gl_FragCoord"
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "injectionSwitch"
               OpName %x_9 "x_9"
               OpName %doesNotMatter "doesNotMatter"
               OpMemberName %doesNotMatter 0 "x_compute_data"
               OpName %x_12 "x_12"
               OpName %main_1 "main_1"
               OpName %GLF_live2_looplimiter1 "GLF_live2_looplimiter1"
               OpName %i "i"
               OpName %j "j"
               OpName %GLF_dead3x "GLF_dead3x"
               OpName %x_51 "x_51"
               OpName %GLF_dead3k "GLF_dead3k"
               OpName %main "main"
               OpDecorate %buf0 Block
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %x_9 NonWritable
               OpDecorate %x_9 DescriptorSet 0
               OpDecorate %x_9 Binding 1
               OpDecorate %doesNotMatter Block
               OpMemberDecorate %doesNotMatter 0 Offset 0
               OpDecorate %_runtimearr_uint ArrayStride 4
               OpDecorate %x_12 DescriptorSet 0
               OpDecorate %x_12 Binding 0
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Private_v4float = OpTypePointer Private %v4float
          %5 = OpConstantNull %v4float
%GLF_live2gl_FragCoord = OpVariable %_ptr_Private_v4float Private %5
    %v2float = OpTypeVector %float 2
       %buf0 = OpTypeStruct %v2float
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
        %x_9 = OpVariable %_ptr_Uniform_buf0 Uniform
       %uint = OpTypeInt 32 0
%_runtimearr_uint = OpTypeRuntimeArray %uint
%doesNotMatter = OpTypeStruct %_runtimearr_uint
%_ptr_StorageBuffer_doesNotMatter = OpTypePointer StorageBuffer %doesNotMatter
       %x_12 = OpVariable %_ptr_StorageBuffer_doesNotMatter StorageBuffer
       %void = OpTypeVoid
         %15 = OpTypeFunction %void
        %int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
         %22 = OpConstantNull %int
%_ptr_Function_float = OpTypePointer Function %float
         %27 = OpConstantNull %float
      %int_0 = OpConstant %int 0
      %int_1 = OpConstant %int 1
       %bool = OpTypeBool
      %int_3 = OpConstant %int 3
     %uint_0 = OpConstant %uint 0
%_ptr_Private_float = OpTypePointer Private %float
    %int_120 = OpConstant %int 120
     %uint_2 = OpConstant %uint 2
   %uint_264 = OpConstant %uint 264
%_ptr_Uniform_float = OpTypePointer Uniform %float
     %uint_1 = OpConstant %uint 1
    %float_0 = OpConstant %float 0
      %int_2 = OpConstant %int 2
    %float_4 = OpConstant %float 4
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
    %uint_42 = OpConstant %uint 42
     %main_1 = OpFunction %void None %15
         %18 = OpLabel
%GLF_live2_looplimiter1 = OpVariable %_ptr_Function_int Function %22
          %i = OpVariable %_ptr_Function_int Function %22
          %j = OpVariable %_ptr_Function_int Function %22
 %GLF_dead3x = OpVariable %_ptr_Function_float Function %27
       %x_51 = OpVariable %_ptr_Function_float Function %27
 %GLF_dead3k = OpVariable %_ptr_Function_int Function %22
               OpStore %GLF_live2_looplimiter1 %int_0
               OpStore %i %int_0
               OpBranch %31
         %31 = OpLabel
               OpLoopMerge %32 %33 None
               OpBranch %34
         %34 = OpLabel
         %35 = OpLoad %int %i
         %37 = OpSLessThan %bool %35 %int_1
               OpSelectionMerge %39 None
               OpBranchConditional %37 %40 %41
         %40 = OpLabel
               OpBranch %39
         %41 = OpLabel
               OpBranch %32
         %39 = OpLabel
         %42 = OpLoad %int %GLF_live2_looplimiter1
         %44 = OpSGreaterThanEqual %bool %42 %int_3
               OpSelectionMerge %45 None
               OpBranchConditional %44 %46 %45
         %46 = OpLabel
               OpStore %j %int_0
               OpBranch %47
         %47 = OpLabel
               OpLoopMerge %48 %49 None
               OpBranch %50
         %50 = OpLabel
         %51 = OpLoad %int %j
         %52 = OpSLessThan %bool %51 %int_1
               OpSelectionMerge %53 None
               OpBranchConditional %52 %54 %55
         %54 = OpLabel
               OpBranch %53
         %55 = OpLabel
               OpBranch %48
         %53 = OpLabel
         %58 = OpAccessChain %_ptr_Private_float %GLF_live2gl_FragCoord %uint_0
         %59 = OpLoad %float %58
         %60 = OpConvertFToS %int %59
         %62 = OpSLessThan %bool %60 %int_120
               OpSelectionMerge %63 None
               OpBranchConditional %62 %64 %65
         %64 = OpLabel
               OpBranch %63
         %65 = OpLabel
               OpControlBarrier %uint_2 %uint_2 %uint_264
               OpBranch %63
         %63 = OpLabel
               OpBranch %49
         %49 = OpLabel
         %69 = OpLoad %int %j
         %70 = OpIAdd %int %69 %int_1
               OpStore %j %70
               OpBranch %47
         %48 = OpLabel
               OpBranch %32
         %45 = OpLabel
               OpBranch %33
         %33 = OpLabel
         %71 = OpLoad %int %i
         %72 = OpIAdd %int %71 %int_1
               OpStore %i %72
               OpBranch %31
         %32 = OpLabel
         %74 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0
         %75 = OpLoad %float %74
         %77 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_1
         %78 = OpLoad %float %77
         %79 = OpFOrdGreaterThan %bool %75 %78
               OpSelectionMerge %80 None
               OpBranchConditional %79 %81 %82
         %81 = OpLabel
         %83 = OpAccessChain %_ptr_Private_float %GLF_live2gl_FragCoord %uint_0
         %84 = OpLoad %float %83
               OpStore %x_51 %84
               OpBranch %80
         %82 = OpLabel
               OpStore %x_51 %float_0
               OpBranch %80
         %80 = OpLabel
         %86 = OpLoad %float %x_51
               OpStore %GLF_dead3x %86
               OpStore %GLF_dead3k %int_0
               OpBranch %87
         %87 = OpLabel
               OpLoopMerge %88 %89 None
               OpBranch %90
         %90 = OpLabel
         %91 = OpLoad %int %GLF_dead3k
         %93 = OpSLessThan %bool %91 %int_2
               OpSelectionMerge %94 None
               OpBranchConditional %93 %95 %96
         %95 = OpLabel
               OpBranch %94
         %96 = OpLabel
               OpBranch %88
         %94 = OpLabel
         %97 = OpLoad %float %GLF_dead3x
         %99 = OpFOrdGreaterThan %bool %97 %float_4
               OpSelectionMerge %100 None
               OpBranchConditional %99 %101 %100
        %101 = OpLabel
               OpBranch %88
        %100 = OpLabel
        %102 = OpAccessChain %_ptr_Private_float %GLF_live2gl_FragCoord %uint_0
        %103 = OpLoad %float %102
               OpStore %GLF_dead3x %103
               OpControlBarrier %uint_2 %uint_2 %uint_264
               OpBranch %89
         %89 = OpLabel
        %105 = OpLoad %int %GLF_dead3k
        %106 = OpIAdd %int %105 %int_1
               OpStore %GLF_dead3k %106
               OpBranch %87
         %88 = OpLabel
        %108 = OpAccessChain %_ptr_StorageBuffer_uint %x_12 %uint_0 %int_0
               OpStore %108 %uint_42
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %15
        %111 = OpLabel
        %112 = OpFunctionCall %void %main_1
               OpReturn
               OpFunctionEnd
