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 "colorWhite" 10OpMemberName %_UniformBuffer 1 "colorGreen" 11OpMemberName %_UniformBuffer 2 "colorRed" 12OpName %_entrypoint_v "_entrypoint_v" 13OpName %main "main" 14OpName %x "x" 15OpDecorate %sk_FragColor RelaxedPrecision 16OpDecorate %sk_FragColor Location 0 17OpDecorate %sk_FragColor Index 0 18OpDecorate %sk_Clockwise BuiltIn FrontFacing 19OpMemberDecorate %_UniformBuffer 0 Offset 0 20OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 21OpMemberDecorate %_UniformBuffer 1 Offset 16 22OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 23OpMemberDecorate %_UniformBuffer 2 Offset 32 24OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 25OpDecorate %_UniformBuffer Block 26OpDecorate %10 Binding 0 27OpDecorate %10 DescriptorSet 0 28OpDecorate %x RelaxedPrecision 29OpDecorate %31 RelaxedPrecision 30OpDecorate %32 RelaxedPrecision 31OpDecorate %33 RelaxedPrecision 32OpDecorate %34 RelaxedPrecision 33OpDecorate %35 RelaxedPrecision 34OpDecorate %37 RelaxedPrecision 35OpDecorate %48 RelaxedPrecision 36OpDecorate %51 RelaxedPrecision 37OpDecorate %52 RelaxedPrecision 38%float = OpTypeFloat 32 39%v4float = OpTypeVector %float 4 40%_ptr_Output_v4float = OpTypePointer Output %v4float 41%sk_FragColor = OpVariable %_ptr_Output_v4float Output 42%bool = OpTypeBool 43%_ptr_Input_bool = OpTypePointer Input %bool 44%sk_Clockwise = OpVariable %_ptr_Input_bool Input 45%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float 46%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 47%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 48%void = OpTypeVoid 49%15 = OpTypeFunction %void 50%v2float = OpTypeVector %float 2 51%float_0 = OpConstant %float 0 52%19 = OpConstantComposite %v2float %float_0 %float_0 53%_ptr_Function_v2float = OpTypePointer Function %v2float 54%23 = OpTypeFunction %v4float %_ptr_Function_v2float 55%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 56%int = OpTypeInt 32 1 57%int_0 = OpConstant %int 0 58%float_n1 = OpConstant %float -1 59%37 = OpConstantComposite %v2float %float_n1 %float_n1 60%v2bool = OpTypeVector %bool 2 61%_ptr_Function_v4float = OpTypePointer Function %v4float 62%int_1 = OpConstant %int 1 63%int_2 = OpConstant %int 2 64%_entrypoint_v = OpFunction %void None %15 65%16 = OpLabel 66%20 = OpVariable %_ptr_Function_v2float Function 67OpStore %20 %19 68%22 = OpFunctionCall %v4float %main %20 69OpStore %sk_FragColor %22 70OpReturn 71OpFunctionEnd 72%main = OpFunction %v4float None %23 73%24 = OpFunctionParameter %_ptr_Function_v2float 74%25 = OpLabel 75%x = OpVariable %_ptr_Function_v2float Function 76%41 = OpVariable %_ptr_Function_v4float Function 77%27 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 78%31 = OpLoad %v4float %27 79%32 = OpVectorShuffle %v2float %31 %31 0 1 80OpStore %x %32 81%34 = OpLoad %v2float %x 82%33 = OpFNegate %v2float %34 83OpStore %x %33 84%35 = OpLoad %v2float %x 85%38 = OpFOrdEqual %v2bool %35 %37 86%40 = OpAll %bool %38 87OpSelectionMerge %45 None 88OpBranchConditional %40 %43 %44 89%43 = OpLabel 90%46 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 91%48 = OpLoad %v4float %46 92OpStore %41 %48 93OpBranch %45 94%44 = OpLabel 95%49 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 96%51 = OpLoad %v4float %49 97OpStore %41 %51 98OpBranch %45 99%45 = OpLabel 100%52 = OpLoad %v4float %41 101OpReturnValue %52 102OpFunctionEnd 103