; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 103
; 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 %buf0 "buf0"
               OpMemberName %buf0 0 "injectionSwitch"
               OpName %x_5 "x_5"
               OpName %x_GLF_color "x_GLF_color"
               OpName %main_1 "main_1"
               OpName %StructType "StructType"
               OpMemberName %StructType 0 "col"
               OpMemberName %StructType 1 "bbbb"
               OpName %x_33 "x_33"
               OpName %x_38 "x_38"
               OpName %x_42 "x_42"
               OpName %x_33_phi "x_33_phi"
               OpName %x_9_phi "x_9_phi"
               OpName %x_42_phi "x_42_phi"
               OpName %x_10_phi "x_10_phi"
               OpName %x_34 "x_34"
               OpName %x_7 "x_7"
               OpName %x_43 "x_43"
               OpName %x_8 "x_8"
               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 %x_5 NonWritable
               OpDecorate %x_5 DescriptorSet 0
               OpDecorate %x_5 Binding 0
               OpMemberDecorate %StructType 0 Offset 0
               OpMemberDecorate %StructType 1 Offset 16
               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
    %v2float = OpTypeVector %float 2
       %buf0 = OpTypeStruct %v2float
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
        %x_5 = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Private_v4float = OpTypePointer Private %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %5
       %void = OpTypeVoid
         %12 = OpTypeFunction %void
    %v3float = OpTypeVector %float 3
       %bool = OpTypeBool
     %v4bool = OpTypeVector %bool 4
 %StructType = OpTypeStruct %v3float %v4bool
%_ptr_Function_StructType = OpTypePointer Function %StructType
         %22 = OpConstantNull %StructType
        %int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
         %26 = OpConstantNull %int
    %float_0 = OpConstant %float 0
         %33 = OpConstantComposite %v3float %float_0 %float_0 %float_0
      %false = OpConstantFalse %bool
         %35 = OpConstantComposite %v4bool %false %false %false %false
         %36 = OpConstantComposite %StructType %33 %35
      %int_0 = OpConstant %int 0
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
     %uint_1 = OpConstant %uint 1
%_ptr_Uniform_float = OpTypePointer Uniform %float
%_ptr_Function_v3float = OpTypePointer Function %v3float
    %float_1 = OpConstant %float 1
         %62 = OpConstantComposite %v3float %float_1 %float_0 %float_0
      %int_1 = OpConstant %int 1
   %main_out = OpTypeStruct %v4float
         %92 = OpTypeFunction %main_out
     %main_1 = OpFunction %void None %12
         %15 = OpLabel
       %x_33 = OpVariable %_ptr_Function_StructType Function %22
       %x_38 = OpVariable %_ptr_Function_int Function %26
       %x_42 = OpVariable %_ptr_Function_StructType Function %22
   %x_33_phi = OpVariable %_ptr_Function_StructType Function %22
    %x_9_phi = OpVariable %_ptr_Function_int Function %26
   %x_42_phi = OpVariable %_ptr_Function_StructType Function %22
   %x_10_phi = OpVariable %_ptr_Function_int Function %26
       %x_34 = OpVariable %_ptr_Function_StructType Function %22
        %x_7 = OpVariable %_ptr_Function_int Function %26
       %x_43 = OpVariable %_ptr_Function_StructType Function %22
        %x_8 = OpVariable %_ptr_Function_int Function %26
               OpStore %x_33_phi %36
               OpStore %x_9_phi %int_0
               OpBranch %38
         %38 = OpLabel
               OpLoopMerge %39 %40 None
               OpBranch %41
         %41 = OpLabel
         %44 = OpLoad %StructType %x_33_phi
               OpStore %x_33 %44
         %45 = OpLoad %int %x_9_phi
         %50 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %uint_1
         %51 = OpLoad %float %50
         %52 = OpConvertFToS %int %51
               OpStore %x_38 %52
         %53 = OpLoad %int %x_38
         %54 = OpSLessThan %bool %45 %53
               OpSelectionMerge %55 None
               OpBranchConditional %54 %56 %57
         %56 = OpLabel
               OpBranch %55
         %57 = OpLabel
               OpBranch %39
         %55 = OpLabel
               OpBranch %40
         %40 = OpLabel
         %58 = OpLoad %StructType %x_33
               OpStore %x_34 %58
         %60 = OpAccessChain %_ptr_Function_v3float %x_34 %uint_0
               OpStore %60 %62
         %64 = OpIAdd %int %45 %int_1
               OpStore %x_7 %64
         %65 = OpLoad %StructType %x_34
               OpStore %x_33_phi %65
         %66 = OpLoad %int %x_7
               OpStore %x_9_phi %66
               OpBranch %38
         %39 = OpLabel
         %67 = OpLoad %StructType %x_33
               OpStore %x_42_phi %67
               OpStore %x_10_phi %int_0
               OpBranch %68
         %68 = OpLabel
               OpLoopMerge %69 %70 None
               OpBranch %71
         %71 = OpLabel
         %74 = OpLoad %StructType %x_42_phi
               OpStore %x_42 %74
         %75 = OpLoad %int %x_10_phi
         %76 = OpLoad %int %x_38
         %77 = OpSLessThan %bool %75 %76
               OpSelectionMerge %78 None
               OpBranchConditional %77 %79 %80
         %79 = OpLabel
               OpBranch %78
         %80 = OpLabel
               OpBranch %69
         %78 = OpLabel
               OpBranch %70
         %70 = OpLabel
         %81 = OpLoad %StructType %x_42
               OpStore %x_43 %81
         %82 = OpAccessChain %_ptr_Function_v3float %x_43 %uint_0
               OpStore %82 %62
         %83 = OpIAdd %int %75 %int_1
               OpStore %x_8 %83
         %84 = OpLoad %StructType %x_43
               OpStore %x_42_phi %84
         %85 = OpLoad %int %x_8
               OpStore %x_10_phi %85
               OpBranch %68
         %69 = OpLabel
         %86 = OpAccessChain %_ptr_Function_v3float %x_42 %uint_0
         %87 = OpLoad %v3float %86
         %88 = OpCompositeExtract %float %87 0
         %89 = OpCompositeExtract %float %87 1
         %90 = OpCompositeExtract %float %87 2
         %91 = OpCompositeConstruct %v4float %88 %89 %90 %float_1
               OpStore %x_GLF_color %91
               OpReturn
               OpFunctionEnd
 %main_inner = OpFunction %main_out None %92
         %95 = OpLabel
         %96 = OpFunctionCall %void %main_1
         %97 = OpLoad %v4float %x_GLF_color
         %98 = OpCompositeConstruct %main_out %97
               OpReturnValue %98
               OpFunctionEnd
       %main = OpFunction %void None %12
        %100 = OpLabel
        %101 = OpFunctionCall %main_out %main_inner
        %102 = OpCompositeExtract %v4float %101 0
               OpStore %x_GLF_color_1_1 %102
               OpReturn
               OpFunctionEnd
