1OpCapability Shader 2%1 = OpExtInstImport "GLSL.std.450" 3OpMemoryModel Logical GLSL450 4OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise 5OpExecutionMode %_entrypoint_v OriginUpperLeft 6OpName %sk_FragColor "sk_FragColor" 7OpName %sk_Clockwise "sk_Clockwise" 8OpName %_UniformBuffer "_UniformBuffer" 9OpMemberName %_UniformBuffer 0 "colorGreen" 10OpMemberName %_UniformBuffer 1 "colorRed" 11OpName %_entrypoint_v "_entrypoint_v" 12OpName %fnGreen_h4bf2 "fnGreen_h4bf2" 13OpName %S "S" 14OpMemberName %S 0 "i" 15OpName %fnRed_h4ifS "fnRed_h4ifS" 16OpName %main "main" 17OpDecorate %sk_FragColor RelaxedPrecision 18OpDecorate %sk_FragColor Location 0 19OpDecorate %sk_FragColor Index 0 20OpDecorate %sk_Clockwise BuiltIn FrontFacing 21OpMemberDecorate %_UniformBuffer 0 Offset 0 22OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 23OpMemberDecorate %_UniformBuffer 1 Offset 16 24OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 25OpDecorate %_UniformBuffer Block 26OpDecorate %12 Binding 0 27OpDecorate %12 DescriptorSet 0 28OpDecorate %34 RelaxedPrecision 29OpMemberDecorate %S 0 Offset 0 30OpDecorate %46 RelaxedPrecision 31OpDecorate %51 RelaxedPrecision 32OpDecorate %52 RelaxedPrecision 33OpDecorate %71 RelaxedPrecision 34%float = OpTypeFloat 32 35%v4float = OpTypeVector %float 4 36%_ptr_Output_v4float = OpTypePointer Output %v4float 37%sk_FragColor = OpVariable %_ptr_Output_v4float Output 38%bool = OpTypeBool 39%_ptr_Input_bool = OpTypePointer Input %bool 40%sk_Clockwise = OpVariable %_ptr_Input_bool Input 41%_UniformBuffer = OpTypeStruct %v4float %v4float 42%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 43%12 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 44%void = OpTypeVoid 45%17 = OpTypeFunction %void 46%v2float = OpTypeVector %float 2 47%float_0 = OpConstant %float 0 48%21 = OpConstantComposite %v2float %float_0 %float_0 49%_ptr_Function_v2float = OpTypePointer Function %v2float 50%_ptr_Function_bool = OpTypePointer Function %bool 51%25 = OpTypeFunction %v4float %_ptr_Function_bool %_ptr_Function_v2float 52%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 53%int = OpTypeInt 32 1 54%int_0 = OpConstant %int 0 55%S = OpTypeStruct %int 56%_ptr_Function_int = OpTypePointer Function %int 57%_ptr_Function_float = OpTypePointer Function %float 58%_ptr_Function_S = OpTypePointer Function %S 59%36 = OpTypeFunction %v4float %_ptr_Function_int %_ptr_Function_float %_ptr_Function_S 60%int_1 = OpConstant %int 1 61%47 = OpTypeFunction %v4float %_ptr_Function_v2float 62%_ptr_Function_v4float = OpTypePointer Function %v4float 63%true = OpConstantTrue %bool 64%int_123 = OpConstant %int 123 65%float_3_1400001 = OpConstant %float 3.1400001 66%_entrypoint_v = OpFunction %void None %17 67%18 = OpLabel 68%22 = OpVariable %_ptr_Function_v2float Function 69OpStore %22 %21 70%24 = OpFunctionCall %v4float %main %22 71OpStore %sk_FragColor %24 72OpReturn 73OpFunctionEnd 74%fnGreen_h4bf2 = OpFunction %v4float None %25 75%27 = OpFunctionParameter %_ptr_Function_bool 76%28 = OpFunctionParameter %_ptr_Function_v2float 77%29 = OpLabel 78%30 = OpAccessChain %_ptr_Uniform_v4float %12 %int_0 79%34 = OpLoad %v4float %30 80OpReturnValue %34 81OpFunctionEnd 82%fnRed_h4ifS = OpFunction %v4float None %36 83%40 = OpFunctionParameter %_ptr_Function_int 84%41 = OpFunctionParameter %_ptr_Function_float 85%42 = OpFunctionParameter %_ptr_Function_S 86%43 = OpLabel 87%44 = OpAccessChain %_ptr_Uniform_v4float %12 %int_1 88%46 = OpLoad %v4float %44 89OpReturnValue %46 90OpFunctionEnd 91%main = OpFunction %v4float None %47 92%48 = OpFunctionParameter %_ptr_Function_v2float 93%49 = OpLabel 94%54 = OpVariable %_ptr_Function_v4float Function 95%60 = OpVariable %_ptr_Function_bool Function 96%62 = OpVariable %_ptr_Function_v2float Function 97%65 = OpVariable %_ptr_Function_int Function 98%67 = OpVariable %_ptr_Function_float Function 99%69 = OpVariable %_ptr_Function_S Function 100%50 = OpAccessChain %_ptr_Uniform_v4float %12 %int_0 101%51 = OpLoad %v4float %50 102%52 = OpCompositeExtract %float %51 1 103%53 = OpFUnordNotEqual %bool %52 %float_0 104OpSelectionMerge %58 None 105OpBranchConditional %53 %56 %57 106%56 = OpLabel 107OpStore %60 %true 108%61 = OpLoad %v2float %48 109OpStore %62 %61 110%63 = OpFunctionCall %v4float %fnGreen_h4bf2 %60 %62 111OpStore %54 %63 112OpBranch %58 113%57 = OpLabel 114OpStore %65 %int_123 115OpStore %67 %float_3_1400001 116%68 = OpCompositeConstruct %S %int_0 117OpStore %69 %68 118%70 = OpFunctionCall %v4float %fnRed_h4ifS %65 %67 %69 119OpStore %54 %70 120OpBranch %58 121%58 = OpLabel 122%71 = OpLoad %v4float %54 123OpReturnValue %71 124OpFunctionEnd 125