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 %main "main" 13OpName %a "a" 14OpName %b "b" 15OpName %c "c" 16OpName %d "d" 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 %10 Binding 0 27OpDecorate %10 DescriptorSet 0 28OpDecorate %61 RelaxedPrecision 29OpDecorate %63 RelaxedPrecision 30OpDecorate %64 RelaxedPrecision 31%float = OpTypeFloat 32 32%v4float = OpTypeVector %float 4 33%_ptr_Output_v4float = OpTypePointer Output %v4float 34%sk_FragColor = OpVariable %_ptr_Output_v4float Output 35%bool = OpTypeBool 36%_ptr_Input_bool = OpTypePointer Input %bool 37%sk_Clockwise = OpVariable %_ptr_Input_bool Input 38%_UniformBuffer = OpTypeStruct %v4float %v4float 39%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 40%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 41%void = OpTypeVoid 42%15 = OpTypeFunction %void 43%v2float = OpTypeVector %float 2 44%float_0 = OpConstant %float 0 45%19 = OpConstantComposite %v2float %float_0 %float_0 46%_ptr_Function_v2float = OpTypePointer Function %v2float 47%23 = OpTypeFunction %v4float %_ptr_Function_v2float 48%int = OpTypeInt 32 1 49%_ptr_Function_int = OpTypePointer Function %int 50%int_0 = OpConstant %int 0 51%int_1 = OpConstant %int 1 52%int_2 = OpConstant %int 2 53%int_5 = OpConstant %int 5 54%false = OpConstantFalse %bool 55%_ptr_Function_v4float = OpTypePointer Function %v4float 56%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 57%_entrypoint_v = OpFunction %void None %15 58%16 = OpLabel 59%20 = OpVariable %_ptr_Function_v2float Function 60OpStore %20 %19 61%22 = OpFunctionCall %v4float %main %20 62OpStore %sk_FragColor %22 63OpReturn 64OpFunctionEnd 65%main = OpFunction %v4float None %23 66%24 = OpFunctionParameter %_ptr_Function_v2float 67%25 = OpLabel 68%a = OpVariable %_ptr_Function_int Function 69%b = OpVariable %_ptr_Function_int Function 70%c = OpVariable %_ptr_Function_int Function 71%d = OpVariable %_ptr_Function_int Function 72%54 = OpVariable %_ptr_Function_v4float Function 73OpStore %a %int_0 74OpStore %b %int_0 75OpStore %c %int_0 76OpStore %d %int_0 77OpStore %a %int_1 78OpStore %b %int_2 79OpStore %c %int_5 80%37 = OpLoad %int %a 81%38 = OpIEqual %bool %37 %int_1 82OpSelectionMerge %40 None 83OpBranchConditional %38 %39 %40 84%39 = OpLabel 85%41 = OpLoad %int %b 86%42 = OpIEqual %bool %41 %int_2 87OpBranch %40 88%40 = OpLabel 89%43 = OpPhi %bool %false %25 %42 %39 90OpSelectionMerge %45 None 91OpBranchConditional %43 %44 %45 92%44 = OpLabel 93%46 = OpLoad %int %c 94%47 = OpIEqual %bool %46 %int_5 95OpBranch %45 96%45 = OpLabel 97%48 = OpPhi %bool %false %40 %47 %44 98OpSelectionMerge %50 None 99OpBranchConditional %48 %49 %50 100%49 = OpLabel 101%51 = OpLoad %int %d 102%52 = OpIEqual %bool %51 %int_0 103OpBranch %50 104%50 = OpLabel 105%53 = OpPhi %bool %false %45 %52 %49 106OpSelectionMerge %58 None 107OpBranchConditional %53 %56 %57 108%56 = OpLabel 109%59 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 110%61 = OpLoad %v4float %59 111OpStore %54 %61 112OpBranch %58 113%57 = OpLabel 114%62 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 115%63 = OpLoad %v4float %62 116OpStore %54 %63 117OpBranch %58 118%58 = OpLabel 119%64 = OpLoad %v4float %54 120OpReturnValue %64 121OpFunctionEnd 122