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 %ok "ok" 14OpDecorate %sk_FragColor RelaxedPrecision 15OpDecorate %sk_FragColor Location 0 16OpDecorate %sk_FragColor Index 0 17OpDecorate %sk_Clockwise BuiltIn FrontFacing 18OpMemberDecorate %_UniformBuffer 0 Offset 0 19OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 20OpMemberDecorate %_UniformBuffer 1 Offset 16 21OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 22OpDecorate %_UniformBuffer Block 23OpDecorate %10 Binding 0 24OpDecorate %10 DescriptorSet 0 25OpDecorate %29 RelaxedPrecision 26OpDecorate %39 RelaxedPrecision 27OpDecorate %42 RelaxedPrecision 28OpDecorate %43 RelaxedPrecision 29%float = OpTypeFloat 32 30%v4float = OpTypeVector %float 4 31%_ptr_Output_v4float = OpTypePointer Output %v4float 32%sk_FragColor = OpVariable %_ptr_Output_v4float Output 33%bool = OpTypeBool 34%_ptr_Input_bool = OpTypePointer Input %bool 35%sk_Clockwise = OpVariable %_ptr_Input_bool Input 36%_UniformBuffer = OpTypeStruct %v4float %v4float 37%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 38%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 39%void = OpTypeVoid 40%15 = OpTypeFunction %void 41%v2float = OpTypeVector %float 2 42%float_0 = OpConstant %float 0 43%19 = OpConstantComposite %v2float %float_0 %float_0 44%_ptr_Function_v2float = OpTypePointer Function %v2float 45%23 = OpTypeFunction %v4float %_ptr_Function_v2float 46%_ptr_Function_bool = OpTypePointer Function %bool 47%true = OpConstantTrue %bool 48%_ptr_Function_v4float = OpTypePointer Function %v4float 49%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 50%int = OpTypeInt 32 1 51%int_0 = OpConstant %int 0 52%int_1 = OpConstant %int 1 53%_entrypoint_v = OpFunction %void None %15 54%16 = OpLabel 55%20 = OpVariable %_ptr_Function_v2float Function 56OpStore %20 %19 57%22 = OpFunctionCall %v4float %main %20 58OpStore %sk_FragColor %22 59OpReturn 60OpFunctionEnd 61%main = OpFunction %v4float None %23 62%24 = OpFunctionParameter %_ptr_Function_v2float 63%25 = OpLabel 64%ok = OpVariable %_ptr_Function_bool Function 65%30 = OpVariable %_ptr_Function_v4float Function 66OpStore %ok %true 67%29 = OpLoad %bool %ok 68OpSelectionMerge %34 None 69OpBranchConditional %29 %32 %33 70%32 = OpLabel 71%35 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 72%39 = OpLoad %v4float %35 73OpStore %30 %39 74OpBranch %34 75%33 = OpLabel 76%40 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 77%42 = OpLoad %v4float %40 78OpStore %30 %42 79OpBranch %34 80%34 = OpLabel 81%43 = OpLoad %v4float %30 82OpReturnValue %43 83OpFunctionEnd 84