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 "unknownInput" 12OpName %_entrypoint_v "_entrypoint_v" 13OpName %test_int_b "test_int_b" 14OpName %ok "ok" 15OpName %inputRed "inputRed" 16OpName %inputGreen "inputGreen" 17OpName %x "x" 18OpName %main "main" 19OpName %_0_ok "_0_ok" 20OpName %_1_inputRed "_1_inputRed" 21OpName %_2_inputGreen "_2_inputGreen" 22OpName %_3_x "_3_x" 23OpDecorate %sk_FragColor RelaxedPrecision 24OpDecorate %sk_FragColor Location 0 25OpDecorate %sk_FragColor Index 0 26OpDecorate %sk_Clockwise BuiltIn FrontFacing 27OpMemberDecorate %_UniformBuffer 0 Offset 0 28OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 29OpMemberDecorate %_UniformBuffer 1 Offset 16 30OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 31OpMemberDecorate %_UniformBuffer 2 Offset 32 32OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 33OpDecorate %_UniformBuffer Block 34OpDecorate %11 Binding 0 35OpDecorate %11 DescriptorSet 0 36OpDecorate %36 RelaxedPrecision 37OpDecorate %37 RelaxedPrecision 38OpDecorate %39 RelaxedPrecision 39OpDecorate %41 RelaxedPrecision 40OpDecorate %43 RelaxedPrecision 41OpDecorate %49 RelaxedPrecision 42OpDecorate %50 RelaxedPrecision 43OpDecorate %52 RelaxedPrecision 44OpDecorate %54 RelaxedPrecision 45OpDecorate %56 RelaxedPrecision 46OpDecorate %65 RelaxedPrecision 47OpDecorate %79 RelaxedPrecision 48OpDecorate %94 RelaxedPrecision 49OpDecorate %110 RelaxedPrecision 50OpDecorate %125 RelaxedPrecision 51OpDecorate %138 RelaxedPrecision 52OpDecorate %149 RelaxedPrecision 53OpDecorate %161 RelaxedPrecision 54OpDecorate %174 RelaxedPrecision 55OpDecorate %188 RelaxedPrecision 56OpDecorate %202 RelaxedPrecision 57OpDecorate %216 RelaxedPrecision 58OpDecorate %236 RelaxedPrecision 59OpDecorate %255 RelaxedPrecision 60OpDecorate %262 RelaxedPrecision 61OpDecorate %_1_inputRed RelaxedPrecision 62OpDecorate %270 RelaxedPrecision 63OpDecorate %_2_inputGreen RelaxedPrecision 64OpDecorate %273 RelaxedPrecision 65OpDecorate %_3_x RelaxedPrecision 66OpDecorate %275 RelaxedPrecision 67OpDecorate %277 RelaxedPrecision 68OpDecorate %278 RelaxedPrecision 69OpDecorate %279 RelaxedPrecision 70OpDecorate %282 RelaxedPrecision 71OpDecorate %284 RelaxedPrecision 72OpDecorate %288 RelaxedPrecision 73OpDecorate %289 RelaxedPrecision 74OpDecorate %290 RelaxedPrecision 75OpDecorate %291 RelaxedPrecision 76OpDecorate %292 RelaxedPrecision 77OpDecorate %295 RelaxedPrecision 78OpDecorate %298 RelaxedPrecision 79OpDecorate %302 RelaxedPrecision 80OpDecorate %303 RelaxedPrecision 81OpDecorate %304 RelaxedPrecision 82OpDecorate %305 RelaxedPrecision 83OpDecorate %306 RelaxedPrecision 84OpDecorate %307 RelaxedPrecision 85OpDecorate %310 RelaxedPrecision 86OpDecorate %312 RelaxedPrecision 87OpDecorate %316 RelaxedPrecision 88OpDecorate %317 RelaxedPrecision 89OpDecorate %320 RelaxedPrecision 90OpDecorate %321 RelaxedPrecision 91OpDecorate %322 RelaxedPrecision 92OpDecorate %323 RelaxedPrecision 93OpDecorate %326 RelaxedPrecision 94OpDecorate %327 RelaxedPrecision 95OpDecorate %331 RelaxedPrecision 96OpDecorate %332 RelaxedPrecision 97OpDecorate %333 RelaxedPrecision 98OpDecorate %334 RelaxedPrecision 99OpDecorate %335 RelaxedPrecision 100OpDecorate %336 RelaxedPrecision 101OpDecorate %339 RelaxedPrecision 102OpDecorate %342 RelaxedPrecision 103OpDecorate %346 RelaxedPrecision 104OpDecorate %348 RelaxedPrecision 105OpDecorate %349 RelaxedPrecision 106OpDecorate %350 RelaxedPrecision 107OpDecorate %353 RelaxedPrecision 108OpDecorate %354 RelaxedPrecision 109OpDecorate %358 RelaxedPrecision 110OpDecorate %359 RelaxedPrecision 111OpDecorate %360 RelaxedPrecision 112OpDecorate %361 RelaxedPrecision 113OpDecorate %364 RelaxedPrecision 114OpDecorate %369 RelaxedPrecision 115OpDecorate %370 RelaxedPrecision 116OpDecorate %371 RelaxedPrecision 117OpDecorate %372 RelaxedPrecision 118OpDecorate %373 RelaxedPrecision 119OpDecorate %376 RelaxedPrecision 120OpDecorate %377 RelaxedPrecision 121OpDecorate %381 RelaxedPrecision 122OpDecorate %382 RelaxedPrecision 123OpDecorate %383 RelaxedPrecision 124OpDecorate %384 RelaxedPrecision 125OpDecorate %385 RelaxedPrecision 126OpDecorate %386 RelaxedPrecision 127OpDecorate %389 RelaxedPrecision 128OpDecorate %390 RelaxedPrecision 129OpDecorate %394 RelaxedPrecision 130OpDecorate %395 RelaxedPrecision 131OpDecorate %396 RelaxedPrecision 132OpDecorate %397 RelaxedPrecision 133OpDecorate %398 RelaxedPrecision 134OpDecorate %399 RelaxedPrecision 135OpDecorate %402 RelaxedPrecision 136OpDecorate %407 RelaxedPrecision 137OpDecorate %408 RelaxedPrecision 138OpDecorate %409 RelaxedPrecision 139OpDecorate %410 RelaxedPrecision 140OpDecorate %411 RelaxedPrecision 141OpDecorate %412 RelaxedPrecision 142OpDecorate %413 RelaxedPrecision 143OpDecorate %416 RelaxedPrecision 144OpDecorate %417 RelaxedPrecision 145OpDecorate %421 RelaxedPrecision 146OpDecorate %422 RelaxedPrecision 147OpDecorate %423 RelaxedPrecision 148OpDecorate %424 RelaxedPrecision 149OpDecorate %425 RelaxedPrecision 150OpDecorate %428 RelaxedPrecision 151OpDecorate %429 RelaxedPrecision 152OpDecorate %433 RelaxedPrecision 153OpDecorate %434 RelaxedPrecision 154OpDecorate %435 RelaxedPrecision 155OpDecorate %436 RelaxedPrecision 156OpDecorate %437 RelaxedPrecision 157OpDecorate %438 RelaxedPrecision 158OpDecorate %439 RelaxedPrecision 159OpDecorate %440 RelaxedPrecision 160OpDecorate %441 RelaxedPrecision 161OpDecorate %442 RelaxedPrecision 162OpDecorate %443 RelaxedPrecision 163OpDecorate %444 RelaxedPrecision 164OpDecorate %447 RelaxedPrecision 165OpDecorate %451 RelaxedPrecision 166OpDecorate %452 RelaxedPrecision 167OpDecorate %453 RelaxedPrecision 168OpDecorate %454 RelaxedPrecision 169OpDecorate %455 RelaxedPrecision 170OpDecorate %456 RelaxedPrecision 171OpDecorate %457 RelaxedPrecision 172OpDecorate %458 RelaxedPrecision 173OpDecorate %459 RelaxedPrecision 174OpDecorate %461 RelaxedPrecision 175OpDecorate %462 RelaxedPrecision 176OpDecorate %465 RelaxedPrecision 177OpDecorate %469 RelaxedPrecision 178OpDecorate %479 RelaxedPrecision 179OpDecorate %481 RelaxedPrecision 180OpDecorate %482 RelaxedPrecision 181%float = OpTypeFloat 32 182%v4float = OpTypeVector %float 4 183%_ptr_Output_v4float = OpTypePointer Output %v4float 184%sk_FragColor = OpVariable %_ptr_Output_v4float Output 185%bool = OpTypeBool 186%_ptr_Input_bool = OpTypePointer Input %bool 187%sk_Clockwise = OpVariable %_ptr_Input_bool Input 188%_UniformBuffer = OpTypeStruct %v4float %v4float %float 189%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 190%11 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 191%void = OpTypeVoid 192%16 = OpTypeFunction %void 193%v2float = OpTypeVector %float 2 194%float_0 = OpConstant %float 0 195%20 = OpConstantComposite %v2float %float_0 %float_0 196%_ptr_Function_v2float = OpTypePointer Function %v2float 197%24 = OpTypeFunction %bool 198%_ptr_Function_bool = OpTypePointer Function %bool 199%true = OpConstantTrue %bool 200%int = OpTypeInt 32 1 201%v4int = OpTypeVector %int 4 202%_ptr_Function_v4int = OpTypePointer Function %v4int 203%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 204%int_0 = OpConstant %int 0 205%int_1 = OpConstant %int 1 206%int_2 = OpConstant %int 2 207%false = OpConstantFalse %bool 208%int_3 = OpConstant %int 3 209%70 = OpConstantComposite %v4int %int_3 %int_2 %int_2 %int_3 210%v4bool = OpTypeVector %bool 4 211%int_n1 = OpConstant %int -1 212%int_n2 = OpConstant %int -2 213%85 = OpConstantComposite %v4int %int_n1 %int_n1 %int_n2 %int_n2 214%98 = OpConstantComposite %v4int %int_2 %int_1 %int_1 %int_2 215%v3int = OpTypeVector %int 3 216%int_9 = OpConstant %int 9 217%114 = OpConstantComposite %v4int %int_9 %int_9 %int_9 %int_2 218%v2int = OpTypeVector %int 2 219%129 = OpConstantComposite %v4int %int_3 %int_0 %int_9 %int_2 220%int_5 = OpConstant %int 5 221%142 = OpConstantComposite %v4int %int_0 %int_5 %int_5 %int_0 222%int_10 = OpConstant %int 10 223%165 = OpConstantComposite %v4int %int_9 %int_9 %int_10 %int_10 224%178 = OpConstantComposite %v4int %int_1 %int_2 %int_1 %int_2 225%int_36 = OpConstant %int 36 226%int_4 = OpConstant %int 4 227%int_18 = OpConstant %int 18 228%208 = OpConstantComposite %v4int %int_4 %int_18 %int_9 %int_2 229%220 = OpConstantComposite %v4int %int_2 %int_9 %int_18 %int_4 230%263 = OpTypeFunction %v4float %_ptr_Function_v2float 231%_ptr_Function_v4float = OpTypePointer Function %v4float 232%float_2 = OpConstant %float 2 233%float_3 = OpConstant %float 3 234%284 = OpConstantComposite %v4float %float_3 %float_2 %float_2 %float_3 235%float_n1 = OpConstant %float -1 236%float_n2 = OpConstant %float -2 237%298 = OpConstantComposite %v4float %float_n1 %float_n1 %float_n2 %float_n2 238%float_1 = OpConstant %float 1 239%312 = OpConstantComposite %v4float %float_2 %float_1 %float_1 %float_2 240%v3float = OpTypeVector %float 3 241%float_9 = OpConstant %float 9 242%327 = OpConstantComposite %v4float %float_9 %float_9 %float_9 %float_2 243%float_18 = OpConstant %float 18 244%float_4 = OpConstant %float 4 245%342 = OpConstantComposite %v4float %float_18 %float_4 %float_9 %float_2 246%float_5 = OpConstant %float 5 247%354 = OpConstantComposite %v4float %float_0 %float_5 %float_5 %float_0 248%float_10 = OpConstant %float 10 249%377 = OpConstantComposite %v4float %float_9 %float_9 %float_10 %float_10 250%390 = OpConstantComposite %v4float %float_1 %float_2 %float_1 %float_2 251%float_36 = OpConstant %float 36 252%417 = OpConstantComposite %v4float %float_4 %float_18 %float_9 %float_2 253%429 = OpConstantComposite %v4float %float_2 %float_9 %float_18 %float_4 254%float_0_5 = OpConstant %float 0.5 255%_entrypoint_v = OpFunction %void None %16 256%17 = OpLabel 257%21 = OpVariable %_ptr_Function_v2float Function 258OpStore %21 %20 259%23 = OpFunctionCall %v4float %main %21 260OpStore %sk_FragColor %23 261OpReturn 262OpFunctionEnd 263%test_int_b = OpFunction %bool None %24 264%25 = OpLabel 265%ok = OpVariable %_ptr_Function_bool Function 266%inputRed = OpVariable %_ptr_Function_v4int Function 267%inputGreen = OpVariable %_ptr_Function_v4int Function 268%x = OpVariable %_ptr_Function_v4int Function 269OpStore %ok %true 270%33 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 271%36 = OpLoad %v4float %33 272%37 = OpCompositeExtract %float %36 0 273%38 = OpConvertFToS %int %37 274%39 = OpCompositeExtract %float %36 1 275%40 = OpConvertFToS %int %39 276%41 = OpCompositeExtract %float %36 2 277%42 = OpConvertFToS %int %41 278%43 = OpCompositeExtract %float %36 3 279%44 = OpConvertFToS %int %43 280%45 = OpCompositeConstruct %v4int %38 %40 %42 %44 281OpStore %inputRed %45 282%47 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 283%49 = OpLoad %v4float %47 284%50 = OpCompositeExtract %float %49 0 285%51 = OpConvertFToS %int %50 286%52 = OpCompositeExtract %float %49 1 287%53 = OpConvertFToS %int %52 288%54 = OpCompositeExtract %float %49 2 289%55 = OpConvertFToS %int %54 290%56 = OpCompositeExtract %float %49 3 291%57 = OpConvertFToS %int %56 292%58 = OpCompositeConstruct %v4int %51 %53 %55 %57 293OpStore %inputGreen %58 294%60 = OpLoad %v4int %inputRed 295%62 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 296%63 = OpIAdd %v4int %60 %62 297OpStore %x %63 298%65 = OpLoad %bool %ok 299OpSelectionMerge %67 None 300OpBranchConditional %65 %66 %67 301%66 = OpLabel 302%68 = OpLoad %v4int %x 303%71 = OpIEqual %v4bool %68 %70 304%73 = OpAll %bool %71 305OpBranch %67 306%67 = OpLabel 307%74 = OpPhi %bool %false %25 %73 %66 308OpStore %ok %74 309%75 = OpLoad %v4int %inputGreen 310%76 = OpVectorShuffle %v4int %75 %75 1 3 0 2 311%77 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 312%78 = OpISub %v4int %76 %77 313OpStore %x %78 314%79 = OpLoad %bool %ok 315OpSelectionMerge %81 None 316OpBranchConditional %79 %80 %81 317%80 = OpLabel 318%82 = OpLoad %v4int %x 319%86 = OpIEqual %v4bool %82 %85 320%87 = OpAll %bool %86 321OpBranch %81 322%81 = OpLabel 323%88 = OpPhi %bool %false %67 %87 %80 324OpStore %ok %88 325%89 = OpLoad %v4int %inputRed 326%90 = OpLoad %v4int %inputGreen 327%91 = OpCompositeExtract %int %90 1 328%92 = OpCompositeConstruct %v4int %91 %91 %91 %91 329%93 = OpIAdd %v4int %89 %92 330OpStore %x %93 331%94 = OpLoad %bool %ok 332OpSelectionMerge %96 None 333OpBranchConditional %94 %95 %96 334%95 = OpLabel 335%97 = OpLoad %v4int %x 336%99 = OpIEqual %v4bool %97 %98 337%100 = OpAll %bool %99 338OpBranch %96 339%96 = OpLabel 340%101 = OpPhi %bool %false %81 %100 %95 341OpStore %ok %101 342%102 = OpLoad %v4int %inputGreen 343%103 = OpVectorShuffle %v3int %102 %102 3 1 3 344%106 = OpCompositeConstruct %v3int %int_9 %int_9 %int_9 345%107 = OpIMul %v3int %103 %106 346%108 = OpLoad %v4int %x 347%109 = OpVectorShuffle %v4int %108 %107 4 5 6 3 348OpStore %x %109 349%110 = OpLoad %bool %ok 350OpSelectionMerge %112 None 351OpBranchConditional %110 %111 %112 352%111 = OpLabel 353%113 = OpLoad %v4int %x 354%115 = OpIEqual %v4bool %113 %114 355%116 = OpAll %bool %115 356OpBranch %112 357%112 = OpLabel 358%117 = OpPhi %bool %false %96 %116 %111 359OpStore %ok %117 360%118 = OpLoad %v4int %x 361%119 = OpVectorShuffle %v2int %118 %118 2 3 362%121 = OpCompositeConstruct %v2int %int_3 %int_3 363%122 = OpSDiv %v2int %119 %121 364%123 = OpLoad %v4int %x 365%124 = OpVectorShuffle %v4int %123 %122 4 5 2 3 366OpStore %x %124 367%125 = OpLoad %bool %ok 368OpSelectionMerge %127 None 369OpBranchConditional %125 %126 %127 370%126 = OpLabel 371%128 = OpLoad %v4int %x 372%130 = OpIEqual %v4bool %128 %129 373%131 = OpAll %bool %130 374OpBranch %127 375%127 = OpLabel 376%132 = OpPhi %bool %false %112 %131 %126 377OpStore %ok %132 378%133 = OpLoad %v4int %inputRed 379%135 = OpCompositeConstruct %v4int %int_5 %int_5 %int_5 %int_5 380%136 = OpIMul %v4int %133 %135 381%137 = OpVectorShuffle %v4int %136 %136 1 0 3 2 382OpStore %x %137 383%138 = OpLoad %bool %ok 384OpSelectionMerge %140 None 385OpBranchConditional %138 %139 %140 386%139 = OpLabel 387%141 = OpLoad %v4int %x 388%143 = OpIEqual %v4bool %141 %142 389%144 = OpAll %bool %143 390OpBranch %140 391%140 = OpLabel 392%145 = OpPhi %bool %false %127 %144 %139 393OpStore %ok %145 394%146 = OpLoad %v4int %inputRed 395%147 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 396%148 = OpIAdd %v4int %147 %146 397OpStore %x %148 398%149 = OpLoad %bool %ok 399OpSelectionMerge %151 None 400OpBranchConditional %149 %150 %151 401%150 = OpLabel 402%152 = OpLoad %v4int %x 403%153 = OpIEqual %v4bool %152 %70 404%154 = OpAll %bool %153 405OpBranch %151 406%151 = OpLabel 407%155 = OpPhi %bool %false %140 %154 %150 408OpStore %ok %155 409%157 = OpLoad %v4int %inputGreen 410%158 = OpVectorShuffle %v4int %157 %157 1 3 0 2 411%159 = OpCompositeConstruct %v4int %int_10 %int_10 %int_10 %int_10 412%160 = OpISub %v4int %159 %158 413OpStore %x %160 414%161 = OpLoad %bool %ok 415OpSelectionMerge %163 None 416OpBranchConditional %161 %162 %163 417%162 = OpLabel 418%164 = OpLoad %v4int %x 419%166 = OpIEqual %v4bool %164 %165 420%167 = OpAll %bool %166 421OpBranch %163 422%163 = OpLabel 423%168 = OpPhi %bool %false %151 %167 %162 424OpStore %ok %168 425%169 = OpLoad %v4int %inputRed 426%170 = OpCompositeExtract %int %169 0 427%171 = OpLoad %v4int %inputGreen 428%172 = OpCompositeConstruct %v4int %170 %170 %170 %170 429%173 = OpIAdd %v4int %172 %171 430OpStore %x %173 431%174 = OpLoad %bool %ok 432OpSelectionMerge %176 None 433OpBranchConditional %174 %175 %176 434%175 = OpLabel 435%177 = OpLoad %v4int %x 436%179 = OpIEqual %v4bool %177 %178 437%180 = OpAll %bool %179 438OpBranch %176 439%176 = OpLabel 440%181 = OpPhi %bool %false %163 %180 %175 441OpStore %ok %181 442%182 = OpLoad %v4int %inputGreen 443%183 = OpVectorShuffle %v3int %182 %182 3 1 3 444%184 = OpCompositeConstruct %v3int %int_9 %int_9 %int_9 445%185 = OpIMul %v3int %184 %183 446%186 = OpLoad %v4int %x 447%187 = OpVectorShuffle %v4int %186 %185 4 5 6 3 448OpStore %x %187 449%188 = OpLoad %bool %ok 450OpSelectionMerge %190 None 451OpBranchConditional %188 %189 %190 452%189 = OpLabel 453%191 = OpLoad %v4int %x 454%192 = OpIEqual %v4bool %191 %114 455%193 = OpAll %bool %192 456OpBranch %190 457%190 = OpLabel 458%194 = OpPhi %bool %false %176 %193 %189 459OpStore %ok %194 460%196 = OpLoad %v4int %x 461%197 = OpVectorShuffle %v2int %196 %196 2 3 462%198 = OpCompositeConstruct %v2int %int_36 %int_36 463%199 = OpSDiv %v2int %198 %197 464%200 = OpLoad %v4int %x 465%201 = OpVectorShuffle %v4int %200 %199 4 5 2 3 466OpStore %x %201 467%202 = OpLoad %bool %ok 468OpSelectionMerge %204 None 469OpBranchConditional %202 %203 %204 470%203 = OpLabel 471%205 = OpLoad %v4int %x 472%209 = OpIEqual %v4bool %205 %208 473%210 = OpAll %bool %209 474OpBranch %204 475%204 = OpLabel 476%211 = OpPhi %bool %false %190 %210 %203 477OpStore %ok %211 478%212 = OpLoad %v4int %x 479%213 = OpCompositeConstruct %v4int %int_36 %int_36 %int_36 %int_36 480%214 = OpSDiv %v4int %213 %212 481%215 = OpVectorShuffle %v4int %214 %214 1 0 3 2 482OpStore %x %215 483%216 = OpLoad %bool %ok 484OpSelectionMerge %218 None 485OpBranchConditional %216 %217 %218 486%217 = OpLabel 487%219 = OpLoad %v4int %x 488%221 = OpIEqual %v4bool %219 %220 489%222 = OpAll %bool %221 490OpBranch %218 491%218 = OpLabel 492%223 = OpPhi %bool %false %204 %222 %217 493OpStore %ok %223 494%224 = OpLoad %v4int %x 495%225 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 496%226 = OpIAdd %v4int %224 %225 497OpStore %x %226 498%227 = OpLoad %v4int %x 499%228 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 500%229 = OpIMul %v4int %227 %228 501OpStore %x %229 502%230 = OpLoad %v4int %x 503%231 = OpCompositeConstruct %v4int %int_4 %int_4 %int_4 %int_4 504%232 = OpISub %v4int %230 %231 505OpStore %x %232 506%233 = OpLoad %v4int %x 507%234 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 508%235 = OpSDiv %v4int %233 %234 509OpStore %x %235 510%236 = OpLoad %bool %ok 511OpSelectionMerge %238 None 512OpBranchConditional %236 %237 %238 513%237 = OpLabel 514%239 = OpLoad %v4int %x 515%240 = OpIEqual %v4bool %239 %220 516%241 = OpAll %bool %240 517OpBranch %238 518%238 = OpLabel 519%242 = OpPhi %bool %false %218 %241 %237 520OpStore %ok %242 521%243 = OpLoad %v4int %x 522%244 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 523%245 = OpIAdd %v4int %243 %244 524OpStore %x %245 525%246 = OpLoad %v4int %x 526%247 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 527%248 = OpIMul %v4int %246 %247 528OpStore %x %248 529%249 = OpLoad %v4int %x 530%250 = OpCompositeConstruct %v4int %int_4 %int_4 %int_4 %int_4 531%251 = OpISub %v4int %249 %250 532OpStore %x %251 533%252 = OpLoad %v4int %x 534%253 = OpCompositeConstruct %v4int %int_2 %int_2 %int_2 %int_2 535%254 = OpSDiv %v4int %252 %253 536OpStore %x %254 537%255 = OpLoad %bool %ok 538OpSelectionMerge %257 None 539OpBranchConditional %255 %256 %257 540%256 = OpLabel 541%258 = OpLoad %v4int %x 542%259 = OpIEqual %v4bool %258 %220 543%260 = OpAll %bool %259 544OpBranch %257 545%257 = OpLabel 546%261 = OpPhi %bool %false %238 %260 %256 547OpStore %ok %261 548%262 = OpLoad %bool %ok 549OpReturnValue %262 550OpFunctionEnd 551%main = OpFunction %v4float None %263 552%264 = OpFunctionParameter %_ptr_Function_v2float 553%265 = OpLabel 554%_0_ok = OpVariable %_ptr_Function_bool Function 555%_1_inputRed = OpVariable %_ptr_Function_v4float Function 556%_2_inputGreen = OpVariable %_ptr_Function_v4float Function 557%_3_x = OpVariable %_ptr_Function_v4float Function 558%474 = OpVariable %_ptr_Function_v4float Function 559OpStore %_0_ok %true 560%269 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 561%270 = OpLoad %v4float %269 562OpStore %_1_inputRed %270 563%272 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 564%273 = OpLoad %v4float %272 565OpStore %_2_inputGreen %273 566%275 = OpLoad %v4float %_1_inputRed 567%277 = OpCompositeConstruct %v4float %float_2 %float_2 %float_2 %float_2 568%278 = OpFAdd %v4float %275 %277 569OpStore %_3_x %278 570%279 = OpLoad %bool %_0_ok 571OpSelectionMerge %281 None 572OpBranchConditional %279 %280 %281 573%280 = OpLabel 574%282 = OpLoad %v4float %_3_x 575%285 = OpFOrdEqual %v4bool %282 %284 576%286 = OpAll %bool %285 577OpBranch %281 578%281 = OpLabel 579%287 = OpPhi %bool %false %265 %286 %280 580OpStore %_0_ok %287 581%288 = OpLoad %v4float %_2_inputGreen 582%289 = OpVectorShuffle %v4float %288 %288 1 3 0 2 583%290 = OpCompositeConstruct %v4float %float_2 %float_2 %float_2 %float_2 584%291 = OpFSub %v4float %289 %290 585OpStore %_3_x %291 586%292 = OpLoad %bool %_0_ok 587OpSelectionMerge %294 None 588OpBranchConditional %292 %293 %294 589%293 = OpLabel 590%295 = OpLoad %v4float %_3_x 591%299 = OpFOrdEqual %v4bool %295 %298 592%300 = OpAll %bool %299 593OpBranch %294 594%294 = OpLabel 595%301 = OpPhi %bool %false %281 %300 %293 596OpStore %_0_ok %301 597%302 = OpLoad %v4float %_1_inputRed 598%303 = OpLoad %v4float %_2_inputGreen 599%304 = OpCompositeExtract %float %303 1 600%305 = OpCompositeConstruct %v4float %304 %304 %304 %304 601%306 = OpFAdd %v4float %302 %305 602OpStore %_3_x %306 603%307 = OpLoad %bool %_0_ok 604OpSelectionMerge %309 None 605OpBranchConditional %307 %308 %309 606%308 = OpLabel 607%310 = OpLoad %v4float %_3_x 608%313 = OpFOrdEqual %v4bool %310 %312 609%314 = OpAll %bool %313 610OpBranch %309 611%309 = OpLabel 612%315 = OpPhi %bool %false %294 %314 %308 613OpStore %_0_ok %315 614%316 = OpLoad %v4float %_2_inputGreen 615%317 = OpVectorShuffle %v3float %316 %316 3 1 3 616%320 = OpVectorTimesScalar %v3float %317 %float_9 617%321 = OpLoad %v4float %_3_x 618%322 = OpVectorShuffle %v4float %321 %320 4 5 6 3 619OpStore %_3_x %322 620%323 = OpLoad %bool %_0_ok 621OpSelectionMerge %325 None 622OpBranchConditional %323 %324 %325 623%324 = OpLabel 624%326 = OpLoad %v4float %_3_x 625%328 = OpFOrdEqual %v4bool %326 %327 626%329 = OpAll %bool %328 627OpBranch %325 628%325 = OpLabel 629%330 = OpPhi %bool %false %309 %329 %324 630OpStore %_0_ok %330 631%331 = OpLoad %v4float %_3_x 632%332 = OpVectorShuffle %v2float %331 %331 2 3 633%333 = OpVectorTimesScalar %v2float %332 %float_2 634%334 = OpLoad %v4float %_3_x 635%335 = OpVectorShuffle %v4float %334 %333 4 5 2 3 636OpStore %_3_x %335 637%336 = OpLoad %bool %_0_ok 638OpSelectionMerge %338 None 639OpBranchConditional %336 %337 %338 640%337 = OpLabel 641%339 = OpLoad %v4float %_3_x 642%343 = OpFOrdEqual %v4bool %339 %342 643%344 = OpAll %bool %343 644OpBranch %338 645%338 = OpLabel 646%345 = OpPhi %bool %false %325 %344 %337 647OpStore %_0_ok %345 648%346 = OpLoad %v4float %_1_inputRed 649%348 = OpVectorTimesScalar %v4float %346 %float_5 650%349 = OpVectorShuffle %v4float %348 %348 1 0 3 2 651OpStore %_3_x %349 652%350 = OpLoad %bool %_0_ok 653OpSelectionMerge %352 None 654OpBranchConditional %350 %351 %352 655%351 = OpLabel 656%353 = OpLoad %v4float %_3_x 657%355 = OpFOrdEqual %v4bool %353 %354 658%356 = OpAll %bool %355 659OpBranch %352 660%352 = OpLabel 661%357 = OpPhi %bool %false %338 %356 %351 662OpStore %_0_ok %357 663%358 = OpLoad %v4float %_1_inputRed 664%359 = OpCompositeConstruct %v4float %float_2 %float_2 %float_2 %float_2 665%360 = OpFAdd %v4float %359 %358 666OpStore %_3_x %360 667%361 = OpLoad %bool %_0_ok 668OpSelectionMerge %363 None 669OpBranchConditional %361 %362 %363 670%362 = OpLabel 671%364 = OpLoad %v4float %_3_x 672%365 = OpFOrdEqual %v4bool %364 %284 673%366 = OpAll %bool %365 674OpBranch %363 675%363 = OpLabel 676%367 = OpPhi %bool %false %352 %366 %362 677OpStore %_0_ok %367 678%369 = OpLoad %v4float %_2_inputGreen 679%370 = OpVectorShuffle %v4float %369 %369 1 3 0 2 680%371 = OpCompositeConstruct %v4float %float_10 %float_10 %float_10 %float_10 681%372 = OpFSub %v4float %371 %370 682OpStore %_3_x %372 683%373 = OpLoad %bool %_0_ok 684OpSelectionMerge %375 None 685OpBranchConditional %373 %374 %375 686%374 = OpLabel 687%376 = OpLoad %v4float %_3_x 688%378 = OpFOrdEqual %v4bool %376 %377 689%379 = OpAll %bool %378 690OpBranch %375 691%375 = OpLabel 692%380 = OpPhi %bool %false %363 %379 %374 693OpStore %_0_ok %380 694%381 = OpLoad %v4float %_1_inputRed 695%382 = OpCompositeExtract %float %381 0 696%383 = OpLoad %v4float %_2_inputGreen 697%384 = OpCompositeConstruct %v4float %382 %382 %382 %382 698%385 = OpFAdd %v4float %384 %383 699OpStore %_3_x %385 700%386 = OpLoad %bool %_0_ok 701OpSelectionMerge %388 None 702OpBranchConditional %386 %387 %388 703%387 = OpLabel 704%389 = OpLoad %v4float %_3_x 705%391 = OpFOrdEqual %v4bool %389 %390 706%392 = OpAll %bool %391 707OpBranch %388 708%388 = OpLabel 709%393 = OpPhi %bool %false %375 %392 %387 710OpStore %_0_ok %393 711%394 = OpLoad %v4float %_2_inputGreen 712%395 = OpVectorShuffle %v3float %394 %394 3 1 3 713%396 = OpVectorTimesScalar %v3float %395 %float_9 714%397 = OpLoad %v4float %_3_x 715%398 = OpVectorShuffle %v4float %397 %396 4 5 6 3 716OpStore %_3_x %398 717%399 = OpLoad %bool %_0_ok 718OpSelectionMerge %401 None 719OpBranchConditional %399 %400 %401 720%400 = OpLabel 721%402 = OpLoad %v4float %_3_x 722%403 = OpFOrdEqual %v4bool %402 %327 723%404 = OpAll %bool %403 724OpBranch %401 725%401 = OpLabel 726%405 = OpPhi %bool %false %388 %404 %400 727OpStore %_0_ok %405 728%407 = OpLoad %v4float %_3_x 729%408 = OpVectorShuffle %v2float %407 %407 2 3 730%409 = OpCompositeConstruct %v2float %float_36 %float_36 731%410 = OpFDiv %v2float %409 %408 732%411 = OpLoad %v4float %_3_x 733%412 = OpVectorShuffle %v4float %411 %410 4 5 2 3 734OpStore %_3_x %412 735%413 = OpLoad %bool %_0_ok 736OpSelectionMerge %415 None 737OpBranchConditional %413 %414 %415 738%414 = OpLabel 739%416 = OpLoad %v4float %_3_x 740%418 = OpFOrdEqual %v4bool %416 %417 741%419 = OpAll %bool %418 742OpBranch %415 743%415 = OpLabel 744%420 = OpPhi %bool %false %401 %419 %414 745OpStore %_0_ok %420 746%421 = OpLoad %v4float %_3_x 747%422 = OpCompositeConstruct %v4float %float_36 %float_36 %float_36 %float_36 748%423 = OpFDiv %v4float %422 %421 749%424 = OpVectorShuffle %v4float %423 %423 1 0 3 2 750OpStore %_3_x %424 751%425 = OpLoad %bool %_0_ok 752OpSelectionMerge %427 None 753OpBranchConditional %425 %426 %427 754%426 = OpLabel 755%428 = OpLoad %v4float %_3_x 756%430 = OpFOrdEqual %v4bool %428 %429 757%431 = OpAll %bool %430 758OpBranch %427 759%427 = OpLabel 760%432 = OpPhi %bool %false %415 %431 %426 761OpStore %_0_ok %432 762%433 = OpLoad %v4float %_3_x 763%434 = OpCompositeConstruct %v4float %float_2 %float_2 %float_2 %float_2 764%435 = OpFAdd %v4float %433 %434 765OpStore %_3_x %435 766%436 = OpLoad %v4float %_3_x 767%437 = OpVectorTimesScalar %v4float %436 %float_2 768OpStore %_3_x %437 769%438 = OpLoad %v4float %_3_x 770%439 = OpCompositeConstruct %v4float %float_4 %float_4 %float_4 %float_4 771%440 = OpFSub %v4float %438 %439 772OpStore %_3_x %440 773%441 = OpLoad %v4float %_3_x 774%442 = OpFDiv %float %float_1 %float_2 775%443 = OpVectorTimesScalar %v4float %441 %442 776OpStore %_3_x %443 777%444 = OpLoad %bool %_0_ok 778OpSelectionMerge %446 None 779OpBranchConditional %444 %445 %446 780%445 = OpLabel 781%447 = OpLoad %v4float %_3_x 782%448 = OpFOrdEqual %v4bool %447 %429 783%449 = OpAll %bool %448 784OpBranch %446 785%446 = OpLabel 786%450 = OpPhi %bool %false %427 %449 %445 787OpStore %_0_ok %450 788%451 = OpLoad %v4float %_3_x 789%452 = OpCompositeConstruct %v4float %float_2 %float_2 %float_2 %float_2 790%453 = OpFAdd %v4float %451 %452 791OpStore %_3_x %453 792%454 = OpLoad %v4float %_3_x 793%455 = OpVectorTimesScalar %v4float %454 %float_2 794OpStore %_3_x %455 795%456 = OpLoad %v4float %_3_x 796%457 = OpCompositeConstruct %v4float %float_4 %float_4 %float_4 %float_4 797%458 = OpFSub %v4float %456 %457 798OpStore %_3_x %458 799%459 = OpLoad %v4float %_3_x 800%461 = OpVectorTimesScalar %v4float %459 %float_0_5 801OpStore %_3_x %461 802%462 = OpLoad %bool %_0_ok 803OpSelectionMerge %464 None 804OpBranchConditional %462 %463 %464 805%463 = OpLabel 806%465 = OpLoad %v4float %_3_x 807%466 = OpFOrdEqual %v4bool %465 %429 808%467 = OpAll %bool %466 809OpBranch %464 810%464 = OpLabel 811%468 = OpPhi %bool %false %446 %467 %463 812OpStore %_0_ok %468 813%469 = OpLoad %bool %_0_ok 814OpSelectionMerge %471 None 815OpBranchConditional %469 %470 %471 816%470 = OpLabel 817%472 = OpFunctionCall %bool %test_int_b 818OpBranch %471 819%471 = OpLabel 820%473 = OpPhi %bool %false %464 %472 %470 821OpSelectionMerge %477 None 822OpBranchConditional %473 %475 %476 823%475 = OpLabel 824%478 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1 825%479 = OpLoad %v4float %478 826OpStore %474 %479 827OpBranch %477 828%476 = OpLabel 829%480 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0 830%481 = OpLoad %v4float %480 831OpStore %474 %481 832OpBranch %477 833%477 = OpLabel 834%482 = OpLoad %v4float %474 835OpReturnValue %482 836OpFunctionEnd 837