; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 71
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %x_GLF_color_1_1
               OpExecutionMode %main OriginUpperLeft
               OpName %x_GLF_color_1_1 "x_GLF_color_1_1"
               OpName %x_GLF_color "x_GLF_color"
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "x_GLF_uniform_int_values"
               OpName %x_5 "x_5"
               OpName %main_1 "main_1"
               OpName %x_32_phi "x_32_phi"
               OpName %x_33 "x_33"
               OpName %main_out "main_out"
               OpMemberName %main_out 0 "x_GLF_color_1"
               OpName %main_inner "main_inner"
               OpName %main "main"
               OpDecorate %x_GLF_color_1_1 Location 0
               OpDecorate %buf0 Block
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %_arr_int_uint_3 ArrayStride 16
               OpDecorate %x_5 NonWritable
               OpDecorate %x_5 DescriptorSet 0
               OpDecorate %x_5 Binding 0
               OpMemberDecorate %main_out 0 Offset 0
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
          %5 = OpConstantNull %v4float
%x_GLF_color_1_1 = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Private_v4float = OpTypePointer Private %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %5
        %int = OpTypeInt 32 1
       %uint = OpTypeInt 32 0
     %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_5 = OpVariable %_ptr_Uniform_buf0 Uniform
       %void = OpTypeVoid
         %15 = OpTypeFunction %void
%_ptr_Function_int = OpTypePointer Function %int
         %21 = OpConstantNull %int
     %uint_0 = OpConstant %uint 0
      %int_1 = OpConstant %int 1
%_ptr_Uniform_int = OpTypePointer Uniform %int
      %int_0 = OpConstant %int 0
     %int_10 = OpConstant %int 10
       %bool = OpTypeBool
      %int_2 = OpConstant %int 2
   %main_out = OpTypeStruct %v4float
         %60 = OpTypeFunction %main_out
     %main_1 = OpFunction %void None %15
         %18 = OpLabel
   %x_32_phi = OpVariable %_ptr_Function_int Function %21
       %x_33 = OpVariable %_ptr_Function_int Function %21
         %25 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_1
         %26 = OpLoad %int %25
         %27 = OpConvertSToF %float %26
         %28 = OpCompositeConstruct %v4float %27 %27 %27 %27
               OpStore %x_GLF_color %28
         %30 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0
         %31 = OpLoad %int %30
         %32 = OpBitcast %uint %31
         %33 = OpShiftLeftLogical %int %31 %32
         %34 = OpBitcast %uint %int_1
         %35 = OpShiftRightArithmetic %int %33 %34
               OpStore %x_32_phi %26
               OpBranch %36
         %36 = OpLabel
               OpLoopMerge %37 %38 None
               OpBranch %39
         %39 = OpLabel
         %40 = OpLoad %int %x_32_phi
         %42 = OpSLessThan %bool %35 %int_10
               OpSelectionMerge %44 None
               OpBranchConditional %42 %45 %46
         %45 = OpLabel
               OpBranch %44
         %46 = OpLabel
               OpBranch %37
         %44 = OpLabel
         %48 = OpIAdd %int %40 %int_1
               OpStore %x_33 %48
         %50 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_2
         %51 = OpLoad %int %50
         %52 = OpLoad %int %x_33
         %53 = OpCopyObject %int %51
         %54 = OpIEqual %bool %52 %53
               OpSelectionMerge %55 None
               OpBranchConditional %54 %56 %55
         %56 = OpLabel
         %57 = OpConvertSToF %float %31
         %58 = OpCompositeConstruct %v4float %57 %27 %27 %57
               OpStore %x_GLF_color %58
               OpBranch %37
         %55 = OpLabel
               OpBranch %38
         %38 = OpLabel
         %59 = OpLoad %int %x_33
               OpStore %x_32_phi %59
               OpBranch %36
         %37 = OpLabel
               OpReturn
               OpFunctionEnd
 %main_inner = OpFunction %main_out None %60
         %63 = OpLabel
         %64 = OpFunctionCall %void %main_1
         %65 = OpLoad %v4float %x_GLF_color
         %66 = OpCompositeConstruct %main_out %65
               OpReturnValue %66
               OpFunctionEnd
       %main = OpFunction %void None %15
         %68 = OpLabel
         %69 = OpFunctionCall %main_out %main_inner
         %70 = OpCompositeExtract %v4float %69 0
               OpStore %x_GLF_color_1_1 %70
               OpReturn
               OpFunctionEnd
