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 "colorRed" 10OpMemberName %_UniformBuffer 1 "colorGreen" 11OpMemberName %_UniformBuffer 2 "colorWhite" 12OpMemberName %_UniformBuffer 3 "colorBlack" 13OpName %_entrypoint_v "_entrypoint_v" 14OpName %setToColorBlack_vh4 "setToColorBlack_vh4" 15OpName %main "main" 16OpName %a "a" 17OpName %b "b" 18OpName %c "c" 19OpName %d "d" 20OpDecorate %sk_FragColor RelaxedPrecision 21OpDecorate %sk_FragColor Location 0 22OpDecorate %sk_FragColor Index 0 23OpDecorate %sk_Clockwise BuiltIn FrontFacing 24OpMemberDecorate %_UniformBuffer 0 Offset 0 25OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 26OpMemberDecorate %_UniformBuffer 1 Offset 16 27OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 28OpMemberDecorate %_UniformBuffer 2 Offset 32 29OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 30OpMemberDecorate %_UniformBuffer 3 Offset 48 31OpMemberDecorate %_UniformBuffer 3 RelaxedPrecision 32OpDecorate %_UniformBuffer Block 33OpDecorate %11 Binding 0 34OpDecorate %11 DescriptorSet 0 35OpDecorate %32 RelaxedPrecision 36OpDecorate %a RelaxedPrecision 37OpDecorate %b RelaxedPrecision 38OpDecorate %c RelaxedPrecision 39OpDecorate %d RelaxedPrecision 40OpDecorate %42 RelaxedPrecision 41OpDecorate %45 RelaxedPrecision 42OpDecorate %49 RelaxedPrecision 43OpDecorate %50 RelaxedPrecision 44OpDecorate %51 RelaxedPrecision 45OpDecorate %52 RelaxedPrecision 46OpDecorate %53 RelaxedPrecision 47OpDecorate %54 RelaxedPrecision 48OpDecorate %55 RelaxedPrecision 49OpDecorate %56 RelaxedPrecision 50OpDecorate %57 RelaxedPrecision 51OpDecorate %58 RelaxedPrecision 52OpDecorate %59 RelaxedPrecision 53OpDecorate %60 RelaxedPrecision 54OpDecorate %61 RelaxedPrecision 55OpDecorate %63 RelaxedPrecision 56OpDecorate %65 RelaxedPrecision 57OpDecorate %71 RelaxedPrecision 58OpDecorate %73 RelaxedPrecision 59OpDecorate %79 RelaxedPrecision 60OpDecorate %81 RelaxedPrecision 61OpDecorate %87 RelaxedPrecision 62OpDecorate %89 RelaxedPrecision 63OpDecorate %98 RelaxedPrecision 64OpDecorate %100 RelaxedPrecision 65OpDecorate %101 RelaxedPrecision 66%float = OpTypeFloat 32 67%v4float = OpTypeVector %float 4 68%_ptr_Output_v4float = OpTypePointer Output %v4float 69%sk_FragColor = OpVariable %_ptr_Output_v4float Output 70%bool = OpTypeBool 71%_ptr_Input_bool = OpTypePointer Input %bool 72%sk_Clockwise = OpVariable %_ptr_Input_bool Input 73%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float %v4float 74%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 75%11 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 76%void = OpTypeVoid 77%16 = OpTypeFunction %void 78%v2float = OpTypeVector %float 2 79%float_0 = OpConstant %float 0 80%20 = OpConstantComposite %v2float %float_0 %float_0 81%_ptr_Function_v2float = OpTypePointer Function %v2float 82%_ptr_Function_v4float = OpTypePointer Function %v4float 83%24 = OpTypeFunction %void %_ptr_Function_v4float 84%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 85%int = OpTypeInt 32 1 86%int_3 = OpConstant %int 3 87%33 = OpTypeFunction %v4float %_ptr_Function_v2float 88%int_0 = OpConstant %int 0 89%int_1 = OpConstant %int 1 90%int_2 = OpConstant %int 2 91%false = OpConstantFalse %bool 92%v4bool = OpTypeVector %bool 4 93%_entrypoint_v = OpFunction %void None %16 94%17 = OpLabel 95%21 = OpVariable %_ptr_Function_v2float Function 96OpStore %21 %20 97%23 = OpFunctionCall %v4float %main %21 98OpStore %sk_FragColor %23 99OpReturn 100OpFunctionEnd 101%setToColorBlack_vh4 = OpFunction %void None %24 102%26 = OpFunctionParameter %_ptr_Function_v4float 103%27 = OpLabel 104%28 = OpAccessChain %_ptr_Uniform_v4float %11 %int_3 105%32 = OpLoad %v4float %28 106OpStore %26 %32 107OpReturn 108OpFunctionEnd 109%main = OpFunction %v4float None %33 110%34 = OpFunctionParameter %_ptr_Function_v2float 111%35 = OpLabel 112%a = OpVariable %_ptr_Function_v4float Function 113%b = OpVariable %_ptr_Function_v4float Function 114%c = OpVariable %_ptr_Function_v4float Function 115%d = OpVariable %_ptr_Function_v4float Function 116%93 = OpVariable %_ptr_Function_v4float Function 117%40 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 118%42 = OpLoad %v4float %40 119OpStore %b %42 120%43 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 121%45 = OpLoad %v4float %43 122OpStore %c %45 123%46 = OpFunctionCall %void %setToColorBlack_vh4 %d 124%47 = OpAccessChain %_ptr_Uniform_v4float %11 %int_2 125%49 = OpLoad %v4float %47 126OpStore %a %49 127%50 = OpLoad %v4float %a 128%51 = OpLoad %v4float %a 129%52 = OpFMul %v4float %50 %51 130OpStore %a %52 131%53 = OpLoad %v4float %b 132%54 = OpLoad %v4float %b 133%55 = OpFMul %v4float %53 %54 134OpStore %b %55 135%56 = OpLoad %v4float %c 136%57 = OpLoad %v4float %c 137%58 = OpFMul %v4float %56 %57 138OpStore %c %58 139%59 = OpLoad %v4float %d 140%60 = OpLoad %v4float %d 141%61 = OpFMul %v4float %59 %60 142OpStore %d %61 143%63 = OpLoad %v4float %a 144%64 = OpAccessChain %_ptr_Uniform_v4float %11 %int_2 145%65 = OpLoad %v4float %64 146%66 = OpFOrdEqual %v4bool %63 %65 147%68 = OpAll %bool %66 148OpSelectionMerge %70 None 149OpBranchConditional %68 %69 %70 150%69 = OpLabel 151%71 = OpLoad %v4float %b 152%72 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 153%73 = OpLoad %v4float %72 154%74 = OpFOrdEqual %v4bool %71 %73 155%75 = OpAll %bool %74 156OpBranch %70 157%70 = OpLabel 158%76 = OpPhi %bool %false %35 %75 %69 159OpSelectionMerge %78 None 160OpBranchConditional %76 %77 %78 161%77 = OpLabel 162%79 = OpLoad %v4float %c 163%80 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 164%81 = OpLoad %v4float %80 165%82 = OpFOrdEqual %v4bool %79 %81 166%83 = OpAll %bool %82 167OpBranch %78 168%78 = OpLabel 169%84 = OpPhi %bool %false %70 %83 %77 170OpSelectionMerge %86 None 171OpBranchConditional %84 %85 %86 172%85 = OpLabel 173%87 = OpLoad %v4float %d 174%88 = OpAccessChain %_ptr_Uniform_v4float %11 %int_3 175%89 = OpLoad %v4float %88 176%90 = OpFOrdEqual %v4bool %87 %89 177%91 = OpAll %bool %90 178OpBranch %86 179%86 = OpLabel 180%92 = OpPhi %bool %false %78 %91 %85 181OpSelectionMerge %96 None 182OpBranchConditional %92 %94 %95 183%94 = OpLabel 184%97 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 185%98 = OpLoad %v4float %97 186OpStore %93 %98 187OpBranch %96 188%95 = OpLabel 189%99 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 190%100 = OpLoad %v4float %99 191OpStore %93 %100 192OpBranch %96 193%96 = OpLabel 194%101 = OpLoad %v4float %93 195OpReturnValue %101 196OpFunctionEnd 197