; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 121
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %tint_symbol_1
               OpExecutionMode %main OriginUpperLeft
               OpName %x_GLF_global_loop_count "x_GLF_global_loop_count"
               OpName %buf1 "buf1"
               OpMemberName %buf1 0 "x_GLF_uniform_float_values"
               OpName %x_7 "x_7"
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "x_GLF_uniform_int_values"
               OpName %x_10 "x_10"
               OpName %buf2 "buf2"
               OpMemberName %buf2 0 "injectionSwitch"
               OpName %x_12 "x_12"
               OpName %x_GLF_color "x_GLF_color"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %main_1 "main_1"
               OpName %f "f"
               OpName %r "r"
               OpName %main_out "main_out"
               OpMemberName %main_out 0 "x_GLF_color_1"
               OpName %tint_symbol_2 "tint_symbol_2"
               OpName %tint_symbol "tint_symbol"
               OpName %main "main"
               OpDecorate %buf1 Block
               OpMemberDecorate %buf1 0 Offset 0
               OpDecorate %_arr_float_uint_2 ArrayStride 16
               OpDecorate %x_7 NonWritable
               OpDecorate %x_7 DescriptorSet 0
               OpDecorate %x_7 Binding 1
               OpDecorate %buf0 Block
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %_arr_int_uint_3 ArrayStride 16
               OpDecorate %x_10 NonWritable
               OpDecorate %x_10 DescriptorSet 0
               OpDecorate %x_10 Binding 0
               OpDecorate %buf2 Block
               OpMemberDecorate %buf2 0 Offset 0
               OpDecorate %x_12 NonWritable
               OpDecorate %x_12 DescriptorSet 0
               OpDecorate %x_12 Binding 2
               OpDecorate %tint_symbol_1 Location 0
               OpMemberDecorate %main_out 0 Offset 0
        %int = OpTypeInt 32 1
%_ptr_Private_int = OpTypePointer Private %int
          %4 = OpConstantNull %int
%x_GLF_global_loop_count = OpVariable %_ptr_Private_int Private %4
      %float = OpTypeFloat 32
       %uint = OpTypeInt 32 0
     %uint_2 = OpConstant %uint 2
%_arr_float_uint_2 = OpTypeArray %float %uint_2
       %buf1 = OpTypeStruct %_arr_float_uint_2
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
        %x_7 = OpVariable %_ptr_Uniform_buf1 Uniform
     %uint_3 = OpConstant %uint 3
%_arr_int_uint_3 = OpTypeArray %int %uint_3
       %buf0 = OpTypeStruct %_arr_int_uint_3
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
       %x_10 = OpVariable %_ptr_Uniform_buf0 Uniform
    %v2float = OpTypeVector %float 2
       %buf2 = OpTypeStruct %v2float
%_ptr_Uniform_buf2 = OpTypePointer Uniform %buf2
       %x_12 = OpVariable %_ptr_Uniform_buf2 Uniform
    %v4float = OpTypeVector %float 4
%_ptr_Private_v4float = OpTypePointer Private %v4float
         %24 = OpConstantNull %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %24
%_ptr_Output_v4float = OpTypePointer Output %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %24
       %void = OpTypeVoid
         %27 = OpTypeFunction %void
%_ptr_Function_float = OpTypePointer Function %float
         %33 = OpConstantNull %float
%_ptr_Function_int = OpTypePointer Function %int
      %int_0 = OpConstant %int 0
     %uint_0 = OpConstant %uint 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
      %int_1 = OpConstant %int 1
%_ptr_Uniform_int = OpTypePointer Uniform %int
      %int_2 = OpConstant %int 2
       %bool = OpTypeBool
%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
    %int_100 = OpConstant %int 100
   %main_out = OpTypeStruct %v4float
        %109 = OpTypeFunction %void %main_out
     %main_1 = OpFunction %void None %27
         %30 = OpLabel
          %f = OpVariable %_ptr_Function_float Function %33
          %r = OpVariable %_ptr_Function_int Function %4
               OpStore %x_GLF_global_loop_count %int_0
         %39 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_0
         %40 = OpLoad %float %39
               OpStore %f %40
         %43 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
         %44 = OpLoad %int %43
               OpStore %r %44
               OpBranch %45
         %45 = OpLabel
               OpLoopMerge %46 %47 None
               OpBranch %48
         %48 = OpLabel
         %49 = OpLoad %int %r
         %51 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_2
         %52 = OpLoad %int %51
         %53 = OpSLessThan %bool %49 %52
               OpSelectionMerge %55 None
               OpBranchConditional %53 %56 %57
         %56 = OpLabel
               OpBranch %55
         %57 = OpLabel
               OpBranch %46
         %55 = OpLabel
         %58 = OpLoad %int %x_GLF_global_loop_count
         %59 = OpIAdd %int %58 %int_1
               OpStore %x_GLF_global_loop_count %59
         %61 = OpAccessChain %_ptr_Uniform_v2float %x_12 %uint_0
         %62 = OpLoad %v2float %61
         %63 = OpLoad %float %f
         %64 = OpDPdx %v2float %62
         %65 = OpCompositeExtract %float %64 1
         %66 = OpFAdd %float %63 %65
               OpStore %f %66
               OpBranch %47
         %47 = OpLabel
         %67 = OpLoad %int %r
         %68 = OpIAdd %int %67 %int_1
               OpStore %r %68
               OpBranch %45
         %46 = OpLabel
               OpBranch %69
         %69 = OpLabel
               OpLoopMerge %70 %71 None
               OpBranch %72
         %72 = OpLabel
         %73 = OpLoad %int %x_GLF_global_loop_count
         %75 = OpSLessThan %bool %73 %int_100
               OpSelectionMerge %76 None
               OpBranchConditional %75 %77 %78
         %77 = OpLabel
               OpBranch %76
         %78 = OpLabel
               OpBranch %70
         %76 = OpLabel
         %79 = OpLoad %int %x_GLF_global_loop_count
         %80 = OpIAdd %int %79 %int_1
               OpStore %x_GLF_global_loop_count %80
         %81 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_0
         %82 = OpLoad %float %81
         %83 = OpLoad %float %f
         %84 = OpFAdd %float %83 %82
               OpStore %f %84
               OpBranch %71
         %71 = OpLabel
               OpBranch %69
         %70 = OpLabel
         %85 = OpLoad %float %f
         %86 = OpAccessChain %_ptr_Uniform_float %x_7 %uint_0 %int_1
         %87 = OpLoad %float %86
         %88 = OpFOrdEqual %bool %85 %87
               OpSelectionMerge %89 None
               OpBranchConditional %88 %90 %91
         %90 = OpLabel
         %92 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
         %93 = OpLoad %int %92
         %94 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
         %95 = OpLoad %int %94
         %96 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
         %97 = OpLoad %int %96
         %98 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_0
         %99 = OpLoad %int %98
        %100 = OpConvertSToF %float %93
        %101 = OpConvertSToF %float %95
        %102 = OpConvertSToF %float %97
        %103 = OpConvertSToF %float %99
        %104 = OpCompositeConstruct %v4float %100 %101 %102 %103
               OpStore %x_GLF_color %104
               OpBranch %89
         %91 = OpLabel
        %105 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0 %int_1
        %106 = OpLoad %int %105
        %107 = OpConvertSToF %float %106
        %108 = OpCompositeConstruct %v4float %107 %107 %107 %107
               OpStore %x_GLF_color %108
               OpBranch %89
         %89 = OpLabel
               OpReturn
               OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %109
%tint_symbol = OpFunctionParameter %main_out
        %113 = OpLabel
        %114 = OpCompositeExtract %v4float %tint_symbol 0
               OpStore %tint_symbol_1 %114
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %27
        %116 = OpLabel
        %117 = OpFunctionCall %void %main_1
        %119 = OpLoad %v4float %x_GLF_color
        %120 = OpCompositeConstruct %main_out %119
        %118 = OpFunctionCall %void %tint_symbol_2 %120
               OpReturn
               OpFunctionEnd
