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