; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 66
; 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_6 "x_6"
               OpName %x_GLF_color "x_GLF_color"
               OpName %main_1 "main_1"
               OpName %data "data"
               OpName %x_32 "x_32"
               OpName %x_43_phi "x_43_phi"
               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_6 NonWritable
               OpDecorate %x_6 DescriptorSet 0
               OpDecorate %x_6 Binding 0
               OpDecorate %_arr_float_uint_2 ArrayStride 4
               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_6 = 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
       %uint = OpTypeInt 32 0
     %uint_2 = OpConstant %uint 2
%_arr_float_uint_2 = OpTypeArray %float %uint_2
%_ptr_Function__arr_float_uint_2 = OpTypePointer Function %_arr_float_uint_2
         %21 = OpConstantNull %_arr_float_uint_2
%_ptr_Function_float = OpTypePointer Function %float
         %24 = OpConstantNull %float
     %uint_0 = OpConstant %uint 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
        %int = OpTypeInt 32 1
      %int_0 = OpConstant %int 0
      %int_1 = OpConstant %int 1
    %float_1 = OpConstant %float 1
    %float_0 = OpConstant %float 0
         %38 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
       %bool = OpTypeBool
         %54 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
   %main_out = OpTypeStruct %v4float
         %55 = OpTypeFunction %main_out
     %main_1 = OpFunction %void None %12
         %15 = OpLabel
       %data = OpVariable %_ptr_Function__arr_float_uint_2 Function %21
       %x_32 = OpVariable %_ptr_Function_float Function %24
   %x_43_phi = OpVariable %_ptr_Function_float Function %24
         %27 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_0
         %28 = OpLoad %float %27
               OpStore %x_32 %28
         %31 = OpAccessChain %_ptr_Function_float %data %int_0
         %32 = OpLoad %float %x_32
               OpStore %31 %32
         %34 = OpAccessChain %_ptr_Function_float %data %int_1
         %35 = OpLoad %float %x_32
               OpStore %34 %35
               OpStore %x_GLF_color %38
         %39 = OpAccessChain %_ptr_Function_float %data %int_1
         %40 = OpLoad %float %39
         %41 = OpFOrdGreaterThan %bool %40 %float_1
               OpSelectionMerge %43 None
               OpBranchConditional %41 %44 %43
         %44 = OpLabel
         %47 = OpLoad %float %x_32
         %46 = OpConvertFToS %int %47
               OpStore %x_43_phi %float_0
               OpSelectionMerge %48 None
               OpSwitch %46 %49 0 %50 1 %51
         %50 = OpLabel
               OpStore %x_43_phi %float_1
               OpBranch %51
         %51 = OpLabel
         %52 = OpLoad %float %x_43_phi
         %53 = OpAccessChain %_ptr_Function_float %data %46
               OpStore %53 %52
               OpStore %x_GLF_color %54
               OpBranch %48
         %49 = OpLabel
               OpBranch %48
         %48 = OpLabel
               OpBranch %43
         %43 = OpLabel
               OpReturn
               OpFunctionEnd
 %main_inner = OpFunction %main_out None %55
         %58 = OpLabel
         %59 = OpFunctionCall %void %main_1
         %60 = OpLoad %v4float %x_GLF_color
         %61 = OpCompositeConstruct %main_out %60
               OpReturnValue %61
               OpFunctionEnd
       %main = OpFunction %void None %12
         %63 = OpLabel
         %64 = OpFunctionCall %main_out %main_inner
         %65 = OpCompositeExtract %v4float %64 0
               OpStore %x_GLF_color_1_1 %65
               OpReturn
               OpFunctionEnd
