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 "testInputs" 12OpName %_entrypoint_v "_entrypoint_v" 13OpName %fn_hh4 "fn_hh4" 14OpName %x "x" 15OpName %main "main" 16OpName %v "v" 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 25OpMemberDecorate %_UniformBuffer 2 Offset 32 26OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 27OpDecorate %_UniformBuffer Block 28OpDecorate %11 Binding 0 29OpDecorate %11 DescriptorSet 0 30OpDecorate %40 RelaxedPrecision 31OpDecorate %41 RelaxedPrecision 32OpDecorate %v RelaxedPrecision 33OpDecorate %50 RelaxedPrecision 34OpDecorate %51 RelaxedPrecision 35OpDecorate %52 RelaxedPrecision 36OpDecorate %54 RelaxedPrecision 37OpDecorate %55 RelaxedPrecision 38OpDecorate %56 RelaxedPrecision 39OpDecorate %57 RelaxedPrecision 40OpDecorate %58 RelaxedPrecision 41OpDecorate %59 RelaxedPrecision 42OpDecorate %60 RelaxedPrecision 43OpDecorate %61 RelaxedPrecision 44OpDecorate %62 RelaxedPrecision 45OpDecorate %64 RelaxedPrecision 46OpDecorate %65 RelaxedPrecision 47OpDecorate %66 RelaxedPrecision 48OpDecorate %67 RelaxedPrecision 49OpDecorate %68 RelaxedPrecision 50OpDecorate %69 RelaxedPrecision 51OpDecorate %70 RelaxedPrecision 52OpDecorate %71 RelaxedPrecision 53OpDecorate %72 RelaxedPrecision 54OpDecorate %73 RelaxedPrecision 55OpDecorate %74 RelaxedPrecision 56OpDecorate %75 RelaxedPrecision 57OpDecorate %76 RelaxedPrecision 58OpDecorate %77 RelaxedPrecision 59OpDecorate %78 RelaxedPrecision 60OpDecorate %79 RelaxedPrecision 61OpDecorate %80 RelaxedPrecision 62OpDecorate %81 RelaxedPrecision 63OpDecorate %86 RelaxedPrecision 64OpDecorate %87 RelaxedPrecision 65OpDecorate %88 RelaxedPrecision 66OpDecorate %91 RelaxedPrecision 67OpDecorate %92 RelaxedPrecision 68OpDecorate %93 RelaxedPrecision 69OpDecorate %96 RelaxedPrecision 70OpDecorate %97 RelaxedPrecision 71OpDecorate %100 RelaxedPrecision 72OpDecorate %101 RelaxedPrecision 73OpDecorate %104 RelaxedPrecision 74OpDecorate %105 RelaxedPrecision 75OpDecorate %106 RelaxedPrecision 76OpDecorate %109 RelaxedPrecision 77OpDecorate %110 RelaxedPrecision 78OpDecorate %113 RelaxedPrecision 79OpDecorate %116 RelaxedPrecision 80OpDecorate %117 RelaxedPrecision 81OpDecorate %118 RelaxedPrecision 82OpDecorate %119 RelaxedPrecision 83OpDecorate %120 RelaxedPrecision 84OpDecorate %121 RelaxedPrecision 85OpDecorate %123 RelaxedPrecision 86OpDecorate %124 RelaxedPrecision 87OpDecorate %126 RelaxedPrecision 88OpDecorate %127 RelaxedPrecision 89OpDecorate %128 RelaxedPrecision 90OpDecorate %129 RelaxedPrecision 91OpDecorate %130 RelaxedPrecision 92OpDecorate %131 RelaxedPrecision 93OpDecorate %132 RelaxedPrecision 94OpDecorate %133 RelaxedPrecision 95OpDecorate %134 RelaxedPrecision 96OpDecorate %135 RelaxedPrecision 97OpDecorate %136 RelaxedPrecision 98OpDecorate %137 RelaxedPrecision 99OpDecorate %138 RelaxedPrecision 100OpDecorate %139 RelaxedPrecision 101OpDecorate %140 RelaxedPrecision 102OpDecorate %141 RelaxedPrecision 103OpDecorate %142 RelaxedPrecision 104OpDecorate %143 RelaxedPrecision 105OpDecorate %144 RelaxedPrecision 106OpDecorate %145 RelaxedPrecision 107OpDecorate %146 RelaxedPrecision 108OpDecorate %155 RelaxedPrecision 109OpDecorate %157 RelaxedPrecision 110OpDecorate %158 RelaxedPrecision 111%float = OpTypeFloat 32 112%v4float = OpTypeVector %float 4 113%_ptr_Output_v4float = OpTypePointer Output %v4float 114%sk_FragColor = OpVariable %_ptr_Output_v4float Output 115%bool = OpTypeBool 116%_ptr_Input_bool = OpTypePointer Input %bool 117%sk_Clockwise = OpVariable %_ptr_Input_bool Input 118%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float 119%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 120%11 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 121%void = OpTypeVoid 122%16 = OpTypeFunction %void 123%v2float = OpTypeVector %float 2 124%float_0 = OpConstant %float 0 125%20 = OpConstantComposite %v2float %float_0 %float_0 126%_ptr_Function_v2float = OpTypePointer Function %v2float 127%_ptr_Function_v4float = OpTypePointer Function %v4float 128%24 = OpTypeFunction %float %_ptr_Function_v4float 129%int = OpTypeInt 32 1 130%_ptr_Function_int = OpTypePointer Function %int 131%int_1 = OpConstant %int 1 132%int_2 = OpConstant %int 2 133%44 = OpTypeFunction %v4float %_ptr_Function_v2float 134%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 135%v3float = OpTypeVector %float 3 136%float_1 = OpConstant %float 1 137%float_123 = OpConstant %float 123 138%float_456 = OpConstant %float 456 139%float_2 = OpConstant %float 2 140%float_3 = OpConstant %float 3 141%113 = OpConstantComposite %v4float %float_1 %float_1 %float_2 %float_3 142%int_0 = OpConstant %int 0 143%146 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 144%v4bool = OpTypeVector %bool 4 145%_entrypoint_v = OpFunction %void None %16 146%17 = OpLabel 147%21 = OpVariable %_ptr_Function_v2float Function 148OpStore %21 %20 149%23 = OpFunctionCall %v4float %main %21 150OpStore %sk_FragColor %23 151OpReturn 152OpFunctionEnd 153%fn_hh4 = OpFunction %float None %24 154%26 = OpFunctionParameter %_ptr_Function_v4float 155%27 = OpLabel 156%x = OpVariable %_ptr_Function_int Function 157OpStore %x %int_1 158OpBranch %32 159%32 = OpLabel 160OpLoopMerge %36 %35 None 161OpBranch %33 162%33 = OpLabel 163%37 = OpLoad %int %x 164%39 = OpSLessThanEqual %bool %37 %int_2 165OpBranchConditional %39 %34 %36 166%34 = OpLabel 167%40 = OpLoad %v4float %26 168%41 = OpCompositeExtract %float %40 0 169OpReturnValue %41 170%35 = OpLabel 171%42 = OpLoad %int %x 172%43 = OpIAdd %int %42 %int_1 173OpStore %x %43 174OpBranch %32 175%36 = OpLabel 176OpUnreachable 177OpFunctionEnd 178%main = OpFunction %v4float None %44 179%45 = OpFunctionParameter %_ptr_Function_v2float 180%46 = OpLabel 181%v = OpVariable %_ptr_Function_v4float Function 182%82 = OpVariable %_ptr_Function_v4float Function 183%89 = OpVariable %_ptr_Function_v4float Function 184%94 = OpVariable %_ptr_Function_v4float Function 185%98 = OpVariable %_ptr_Function_v4float Function 186%102 = OpVariable %_ptr_Function_v4float Function 187%107 = OpVariable %_ptr_Function_v4float Function 188%150 = OpVariable %_ptr_Function_v4float Function 189%48 = OpAccessChain %_ptr_Uniform_v4float %11 %int_2 190%50 = OpLoad %v4float %48 191OpStore %v %50 192%51 = OpLoad %v4float %v 193%52 = OpVectorShuffle %v3float %51 %51 2 1 0 194%54 = OpCompositeExtract %float %52 0 195%55 = OpCompositeExtract %float %52 1 196%56 = OpCompositeExtract %float %52 2 197%57 = OpCompositeConstruct %v4float %float_0 %54 %55 %56 198OpStore %v %57 199%58 = OpLoad %v4float %v 200%59 = OpVectorShuffle %v2float %58 %58 0 3 201%60 = OpCompositeExtract %float %59 0 202%61 = OpCompositeExtract %float %59 1 203%62 = OpCompositeConstruct %v4float %float_0 %float_0 %60 %61 204OpStore %v %62 205%64 = OpLoad %v4float %v 206%65 = OpVectorShuffle %v2float %64 %64 3 0 207%66 = OpCompositeExtract %float %65 0 208%67 = OpCompositeExtract %float %65 1 209%68 = OpCompositeConstruct %v4float %float_1 %float_1 %66 %67 210OpStore %v %68 211%69 = OpLoad %v4float %v 212%70 = OpVectorShuffle %v2float %69 %69 2 1 213%71 = OpCompositeExtract %float %70 0 214%72 = OpCompositeExtract %float %70 1 215%73 = OpCompositeConstruct %v4float %71 %72 %float_1 %float_1 216OpStore %v %73 217%74 = OpLoad %v4float %v 218%75 = OpVectorShuffle %v2float %74 %74 0 0 219%76 = OpCompositeExtract %float %75 0 220%77 = OpCompositeExtract %float %75 1 221%78 = OpCompositeConstruct %v4float %76 %77 %float_1 %float_1 222OpStore %v %78 223%79 = OpLoad %v4float %v 224%80 = OpVectorShuffle %v4float %79 %79 3 2 3 2 225OpStore %v %80 226%81 = OpLoad %v4float %v 227OpStore %82 %81 228%83 = OpFunctionCall %float %fn_hh4 %82 229%86 = OpCompositeConstruct %v3float %83 %float_123 %float_456 230%87 = OpVectorShuffle %v4float %86 %86 1 1 2 2 231OpStore %v %87 232%88 = OpLoad %v4float %v 233OpStore %89 %88 234%90 = OpFunctionCall %float %fn_hh4 %89 235%91 = OpCompositeConstruct %v3float %90 %float_123 %float_456 236%92 = OpVectorShuffle %v4float %91 %91 1 1 2 2 237OpStore %v %92 238%93 = OpLoad %v4float %v 239OpStore %94 %93 240%95 = OpFunctionCall %float %fn_hh4 %94 241%96 = OpCompositeConstruct %v4float %float_123 %float_456 %float_456 %95 242OpStore %v %96 243%97 = OpLoad %v4float %v 244OpStore %98 %97 245%99 = OpFunctionCall %float %fn_hh4 %98 246%100 = OpCompositeConstruct %v4float %float_123 %float_456 %float_456 %99 247OpStore %v %100 248%101 = OpLoad %v4float %v 249OpStore %102 %101 250%103 = OpFunctionCall %float %fn_hh4 %102 251%104 = OpCompositeConstruct %v3float %103 %float_123 %float_456 252%105 = OpVectorShuffle %v4float %104 %104 1 0 0 2 253OpStore %v %105 254%106 = OpLoad %v4float %v 255OpStore %107 %106 256%108 = OpFunctionCall %float %fn_hh4 %107 257%109 = OpCompositeConstruct %v3float %108 %float_123 %float_456 258%110 = OpVectorShuffle %v4float %109 %109 1 0 0 2 259OpStore %v %110 260OpStore %v %113 261%114 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 262%116 = OpLoad %v4float %114 263%117 = OpVectorShuffle %v3float %116 %116 0 1 2 264%118 = OpCompositeExtract %float %117 0 265%119 = OpCompositeExtract %float %117 1 266%120 = OpCompositeExtract %float %117 2 267%121 = OpCompositeConstruct %v4float %118 %119 %120 %float_1 268OpStore %v %121 269%122 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 270%123 = OpLoad %v4float %122 271%124 = OpCompositeExtract %float %123 0 272%125 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 273%126 = OpLoad %v4float %125 274%127 = OpVectorShuffle %v2float %126 %126 1 2 275%128 = OpCompositeExtract %float %127 0 276%129 = OpCompositeExtract %float %127 1 277%130 = OpCompositeConstruct %v4float %124 %float_1 %128 %129 278OpStore %v %130 279%131 = OpLoad %v4float %v 280%132 = OpLoad %v4float %v 281%133 = OpVectorShuffle %v4float %132 %131 7 6 5 4 282OpStore %v %133 283%134 = OpLoad %v4float %v 284%135 = OpVectorShuffle %v2float %134 %134 1 2 285%136 = OpLoad %v4float %v 286%137 = OpVectorShuffle %v4float %136 %135 4 1 2 5 287OpStore %v %137 288%138 = OpLoad %v4float %v 289%139 = OpVectorShuffle %v2float %138 %138 3 3 290%140 = OpCompositeExtract %float %139 0 291%141 = OpCompositeExtract %float %139 1 292%142 = OpCompositeConstruct %v3float %140 %141 %float_1 293%143 = OpLoad %v4float %v 294%144 = OpVectorShuffle %v4float %143 %142 6 5 4 3 295OpStore %v %144 296%145 = OpLoad %v4float %v 297%147 = OpFOrdEqual %v4bool %145 %146 298%149 = OpAll %bool %147 299OpSelectionMerge %153 None 300OpBranchConditional %149 %151 %152 301%151 = OpLabel 302%154 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 303%155 = OpLoad %v4float %154 304OpStore %150 %155 305OpBranch %153 306%152 = OpLabel 307%156 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 308%157 = OpLoad %v4float %156 309OpStore %150 %157 310OpBranch %153 311%153 = OpLabel 312%158 = OpLoad %v4float %150 313OpReturnValue %158 314OpFunctionEnd 315