1hlsl.implicitBool.frag 2Shader version: 500 3gl_FragCoord origin is upper left 40:? Sequence 50:7 Function Definition: @main( ( temp 4-component vector of float) 60:7 Function Parameters: 70:? Sequence 80:8 Sequence 90:8 move second child to first child ( temp 4-component vector of float) 100:8 'a' ( temp 4-component vector of float) 110:? Constant: 120:? 2.000000 130:? 2.000000 140:? 2.000000 150:? 2.000000 160:9 Test condition and select ( temp void) 170:9 Condition 180:9 Convert int to bool ( temp bool) 190:9 condi: direct index for structure ( uniform int) 200:9 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 210:9 Constant: 220:9 1 (const uint) 230:9 true case 240:10 Branch: Return with expression 250:10 add ( temp 4-component vector of float) 260:10 'a' ( temp 4-component vector of float) 270:10 Constant: 280:10 1.000000 290:11 Test condition and select ( temp void) 300:11 Condition 310:11 Convert float to bool ( temp bool) 320:11 condf: direct index for structure ( uniform float) 330:11 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 340:11 Constant: 350:11 0 (const uint) 360:11 true case 370:12 Branch: Return with expression 380:12 add ( temp 4-component vector of float) 390:12 'a' ( temp 4-component vector of float) 400:12 Constant: 410:12 2.000000 420:13 Test condition and select ( temp void) 430:13 Condition 440:13 Convert float to bool ( temp bool) 450:13 condf1: direct index for structure ( uniform 1-component vector of float) 460:13 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 470:13 Constant: 480:13 2 (const uint) 490:13 true case 500:14 Branch: Return with expression 510:14 add ( temp 4-component vector of float) 520:14 'a' ( temp 4-component vector of float) 530:14 Constant: 540:14 3.000000 550:15 Test condition and select ( temp void) 560:15 Condition 570:15 Convert int to bool ( temp bool) 580:15 condi1: direct index for structure ( uniform 1-component vector of int) 590:15 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 600:15 Constant: 610:15 3 (const uint) 620:15 true case 630:16 Branch: Return with expression 640:16 add ( temp 4-component vector of float) 650:16 'a' ( temp 4-component vector of float) 660:16 Constant: 670:16 4.000000 680:17 Test condition and select ( temp void) 690:17 Condition 700:17 logical-or ( temp bool) 710:17 logical-and ( temp bool) 720:17 Convert int to bool ( temp bool) 730:17 condi: direct index for structure ( uniform int) 740:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 750:17 Constant: 760:17 1 (const uint) 770:17 Convert float to bool ( temp bool) 780:17 condf: direct index for structure ( uniform float) 790:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 800:17 Constant: 810:17 0 (const uint) 820:17 Convert float to bool ( temp bool) 830:17 condf1: direct index for structure ( uniform 1-component vector of float) 840:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 850:17 Constant: 860:17 2 (const uint) 870:17 true case 880:18 Branch: Return with expression 890:18 add ( temp 4-component vector of float) 900:18 'a' ( temp 4-component vector of float) 910:18 Constant: 920:18 5.000000 930:20 Sequence 940:20 move second child to first child ( temp float) 950:20 'f' ( temp float) 960:20 condf: direct index for structure ( uniform float) 970:20 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 980:20 Constant: 990:20 0 (const uint) 1000:21 Loop with condition tested first 1010:21 Loop Condition 1020:21 Convert float to bool ( temp bool) 1030:21 'f' ( temp float) 1040:21 Loop Body 1050:? Sequence 1060:21 Pre-Decrement ( temp float) 1070:21 'f' ( temp float) 1080:23 Sequence 1090:23 move second child to first child ( temp int) 1100:23 'i' ( temp int) 1110:23 condi: direct index for structure ( uniform int) 1120:23 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 1130:23 Constant: 1140:23 1 (const uint) 1150:24 Loop with condition not tested first 1160:24 Loop Condition 1170:24 Convert int to bool ( temp bool) 1180:24 'i' ( temp int) 1190:24 Loop Body 1200:? Sequence 1210:24 Pre-Decrement ( temp int) 1220:24 'i' ( temp int) 1230:? Sequence 1240:26 Loop with condition tested first 1250:26 Loop Condition 1260:26 Convert int to bool ( temp bool) 1270:26 'i' ( temp int) 1280:26 Loop Body 1290:? Sequence 1300:26 Pre-Decrement ( temp int) 1310:26 'i' ( temp int) 1320:28 Sequence 1330:28 move second child to first child ( temp float) 1340:28 'g' ( temp float) 1350:28 Test condition and select ( temp float): no shortcircuit 1360:28 Condition 1370:28 Convert float to bool ( temp bool) 1380:28 condf: direct index for structure ( uniform float) 1390:28 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 1400:28 Constant: 1410:28 0 (const uint) 1420:28 true case 1430:28 Constant: 1440:28 7.000000 1450:28 false case 1460:28 Constant: 1470:28 8.000000 1480:29 add second child into first child ( temp 4-component vector of float) 1490:29 'a' ( temp 4-component vector of float) 1500:29 'g' ( temp float) 1510:31 Branch: Return with expression 1520:31 subtract ( temp 4-component vector of float) 1530:31 'a' ( temp 4-component vector of float) 1540:31 Constant: 1550:31 1.000000 1560:7 Function Definition: main( ( temp void) 1570:7 Function Parameters: 1580:? Sequence 1590:7 move second child to first child ( temp 4-component vector of float) 1600:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1610:7 Function Call: @main( ( temp 4-component vector of float) 1620:? Linker Objects 1630:? 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 1640:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 165 166 167Linked fragment stage: 168 169 170Shader version: 500 171gl_FragCoord origin is upper left 1720:? Sequence 1730:7 Function Definition: @main( ( temp 4-component vector of float) 1740:7 Function Parameters: 1750:? Sequence 1760:8 Sequence 1770:8 move second child to first child ( temp 4-component vector of float) 1780:8 'a' ( temp 4-component vector of float) 1790:? Constant: 1800:? 2.000000 1810:? 2.000000 1820:? 2.000000 1830:? 2.000000 1840:9 Test condition and select ( temp void) 1850:9 Condition 1860:9 Convert int to bool ( temp bool) 1870:9 condi: direct index for structure ( uniform int) 1880:9 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 1890:9 Constant: 1900:9 1 (const uint) 1910:9 true case 1920:10 Branch: Return with expression 1930:10 add ( temp 4-component vector of float) 1940:10 'a' ( temp 4-component vector of float) 1950:10 Constant: 1960:10 1.000000 1970:11 Test condition and select ( temp void) 1980:11 Condition 1990:11 Convert float to bool ( temp bool) 2000:11 condf: direct index for structure ( uniform float) 2010:11 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 2020:11 Constant: 2030:11 0 (const uint) 2040:11 true case 2050:12 Branch: Return with expression 2060:12 add ( temp 4-component vector of float) 2070:12 'a' ( temp 4-component vector of float) 2080:12 Constant: 2090:12 2.000000 2100:13 Test condition and select ( temp void) 2110:13 Condition 2120:13 Convert float to bool ( temp bool) 2130:13 condf1: direct index for structure ( uniform 1-component vector of float) 2140:13 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 2150:13 Constant: 2160:13 2 (const uint) 2170:13 true case 2180:14 Branch: Return with expression 2190:14 add ( temp 4-component vector of float) 2200:14 'a' ( temp 4-component vector of float) 2210:14 Constant: 2220:14 3.000000 2230:15 Test condition and select ( temp void) 2240:15 Condition 2250:15 Convert int to bool ( temp bool) 2260:15 condi1: direct index for structure ( uniform 1-component vector of int) 2270:15 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 2280:15 Constant: 2290:15 3 (const uint) 2300:15 true case 2310:16 Branch: Return with expression 2320:16 add ( temp 4-component vector of float) 2330:16 'a' ( temp 4-component vector of float) 2340:16 Constant: 2350:16 4.000000 2360:17 Test condition and select ( temp void) 2370:17 Condition 2380:17 logical-or ( temp bool) 2390:17 logical-and ( temp bool) 2400:17 Convert int to bool ( temp bool) 2410:17 condi: direct index for structure ( uniform int) 2420:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 2430:17 Constant: 2440:17 1 (const uint) 2450:17 Convert float to bool ( temp bool) 2460:17 condf: direct index for structure ( uniform float) 2470:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 2480:17 Constant: 2490:17 0 (const uint) 2500:17 Convert float to bool ( temp bool) 2510:17 condf1: direct index for structure ( uniform 1-component vector of float) 2520:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 2530:17 Constant: 2540:17 2 (const uint) 2550:17 true case 2560:18 Branch: Return with expression 2570:18 add ( temp 4-component vector of float) 2580:18 'a' ( temp 4-component vector of float) 2590:18 Constant: 2600:18 5.000000 2610:20 Sequence 2620:20 move second child to first child ( temp float) 2630:20 'f' ( temp float) 2640:20 condf: direct index for structure ( uniform float) 2650:20 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 2660:20 Constant: 2670:20 0 (const uint) 2680:21 Loop with condition tested first 2690:21 Loop Condition 2700:21 Convert float to bool ( temp bool) 2710:21 'f' ( temp float) 2720:21 Loop Body 2730:? Sequence 2740:21 Pre-Decrement ( temp float) 2750:21 'f' ( temp float) 2760:23 Sequence 2770:23 move second child to first child ( temp int) 2780:23 'i' ( temp int) 2790:23 condi: direct index for structure ( uniform int) 2800:23 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 2810:23 Constant: 2820:23 1 (const uint) 2830:24 Loop with condition not tested first 2840:24 Loop Condition 2850:24 Convert int to bool ( temp bool) 2860:24 'i' ( temp int) 2870:24 Loop Body 2880:? Sequence 2890:24 Pre-Decrement ( temp int) 2900:24 'i' ( temp int) 2910:? Sequence 2920:26 Loop with condition tested first 2930:26 Loop Condition 2940:26 Convert int to bool ( temp bool) 2950:26 'i' ( temp int) 2960:26 Loop Body 2970:? Sequence 2980:26 Pre-Decrement ( temp int) 2990:26 'i' ( temp int) 3000:28 Sequence 3010:28 move second child to first child ( temp float) 3020:28 'g' ( temp float) 3030:28 Test condition and select ( temp float): no shortcircuit 3040:28 Condition 3050:28 Convert float to bool ( temp bool) 3060:28 condf: direct index for structure ( uniform float) 3070:28 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 3080:28 Constant: 3090:28 0 (const uint) 3100:28 true case 3110:28 Constant: 3120:28 7.000000 3130:28 false case 3140:28 Constant: 3150:28 8.000000 3160:29 add second child into first child ( temp 4-component vector of float) 3170:29 'a' ( temp 4-component vector of float) 3180:29 'g' ( temp float) 3190:31 Branch: Return with expression 3200:31 subtract ( temp 4-component vector of float) 3210:31 'a' ( temp 4-component vector of float) 3220:31 Constant: 3230:31 1.000000 3240:7 Function Definition: main( ( temp void) 3250:7 Function Parameters: 3260:? Sequence 3270:7 move second child to first child ( temp 4-component vector of float) 3280:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 3290:7 Function Call: @main( ( temp 4-component vector of float) 3300:? Linker Objects 3310:? 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1}) 3320:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 333 334// Module Version 10000 335// Generated by (magic number): 8000a 336// Id's are bound by 139 337 338 Capability Shader 339 1: ExtInstImport "GLSL.std.450" 340 MemoryModel Logical GLSL450 341 EntryPoint Fragment 4 "main" 137 342 ExecutionMode 4 OriginUpperLeft 343 Source HLSL 500 344 Name 4 "main" 345 Name 9 "@main(" 346 Name 12 "a" 347 Name 16 "$Global" 348 MemberName 16($Global) 0 "condf" 349 MemberName 16($Global) 1 "condi" 350 MemberName 16($Global) 2 "condf1" 351 MemberName 16($Global) 3 "condi1" 352 Name 18 "" 353 Name 87 "f" 354 Name 100 "i" 355 Name 120 "g" 356 Name 137 "@entryPointOutput" 357 MemberDecorate 16($Global) 0 Offset 0 358 MemberDecorate 16($Global) 1 Offset 4 359 MemberDecorate 16($Global) 2 Offset 8 360 MemberDecorate 16($Global) 3 Offset 12 361 Decorate 16($Global) Block 362 Decorate 18 DescriptorSet 0 363 Decorate 18 Binding 0 364 Decorate 137(@entryPointOutput) Location 0 365 2: TypeVoid 366 3: TypeFunction 2 367 6: TypeFloat 32 368 7: TypeVector 6(float) 4 369 8: TypeFunction 7(fvec4) 370 11: TypePointer Function 7(fvec4) 371 13: 6(float) Constant 1073741824 372 14: 7(fvec4) ConstantComposite 13 13 13 13 373 15: TypeInt 32 1 374 16($Global): TypeStruct 6(float) 15(int) 6(float) 15(int) 375 17: TypePointer Uniform 16($Global) 376 18: 17(ptr) Variable Uniform 377 19: 15(int) Constant 1 378 20: TypePointer Uniform 15(int) 379 23: TypeBool 380 24: TypeInt 32 0 381 25: 24(int) Constant 0 382 30: 6(float) Constant 1065353216 383 34: 15(int) Constant 0 384 35: TypePointer Uniform 6(float) 385 38: 6(float) Constant 0 386 46: 15(int) Constant 2 387 53: 6(float) Constant 1077936128 388 57: 15(int) Constant 3 389 64: 6(float) Constant 1082130432 390 82: 6(float) Constant 1084227584 391 86: TypePointer Function 6(float) 392 99: TypePointer Function 15(int) 393 124: 6(float) Constant 1088421888 394 125: 6(float) Constant 1090519040 395 136: TypePointer Output 7(fvec4) 396137(@entryPointOutput): 136(ptr) Variable Output 397 4(main): 2 Function None 3 398 5: Label 399 138: 7(fvec4) FunctionCall 9(@main() 400 Store 137(@entryPointOutput) 138 401 Return 402 FunctionEnd 403 9(@main(): 7(fvec4) Function None 8 404 10: Label 405 12(a): 11(ptr) Variable Function 406 87(f): 86(ptr) Variable Function 407 100(i): 99(ptr) Variable Function 408 120(g): 86(ptr) Variable Function 409 Store 12(a) 14 410 21: 20(ptr) AccessChain 18 19 411 22: 15(int) Load 21 412 26: 23(bool) INotEqual 22 25 413 SelectionMerge 28 None 414 BranchConditional 26 27 28 415 27: Label 416 29: 7(fvec4) Load 12(a) 417 31: 7(fvec4) CompositeConstruct 30 30 30 30 418 32: 7(fvec4) FAdd 29 31 419 ReturnValue 32 420 28: Label 421 36: 35(ptr) AccessChain 18 34 422 37: 6(float) Load 36 423 39: 23(bool) FUnordNotEqual 37 38 424 SelectionMerge 41 None 425 BranchConditional 39 40 41 426 40: Label 427 42: 7(fvec4) Load 12(a) 428 43: 7(fvec4) CompositeConstruct 13 13 13 13 429 44: 7(fvec4) FAdd 42 43 430 ReturnValue 44 431 41: Label 432 47: 35(ptr) AccessChain 18 46 433 48: 6(float) Load 47 434 49: 23(bool) FUnordNotEqual 48 38 435 SelectionMerge 51 None 436 BranchConditional 49 50 51 437 50: Label 438 52: 7(fvec4) Load 12(a) 439 54: 7(fvec4) CompositeConstruct 53 53 53 53 440 55: 7(fvec4) FAdd 52 54 441 ReturnValue 55 442 51: Label 443 58: 20(ptr) AccessChain 18 57 444 59: 15(int) Load 58 445 60: 23(bool) INotEqual 59 25 446 SelectionMerge 62 None 447 BranchConditional 60 61 62 448 61: Label 449 63: 7(fvec4) Load 12(a) 450 65: 7(fvec4) CompositeConstruct 64 64 64 64 451 66: 7(fvec4) FAdd 63 65 452 ReturnValue 66 453 62: Label 454 68: 20(ptr) AccessChain 18 19 455 69: 15(int) Load 68 456 70: 23(bool) INotEqual 69 25 457 71: 35(ptr) AccessChain 18 34 458 72: 6(float) Load 71 459 73: 23(bool) FUnordNotEqual 72 38 460 74: 23(bool) LogicalAnd 70 73 461 75: 35(ptr) AccessChain 18 46 462 76: 6(float) Load 75 463 77: 23(bool) FUnordNotEqual 76 38 464 78: 23(bool) LogicalOr 74 77 465 SelectionMerge 80 None 466 BranchConditional 78 79 80 467 79: Label 468 81: 7(fvec4) Load 12(a) 469 83: 7(fvec4) CompositeConstruct 82 82 82 82 470 84: 7(fvec4) FAdd 81 83 471 ReturnValue 84 472 80: Label 473 88: 35(ptr) AccessChain 18 34 474 89: 6(float) Load 88 475 Store 87(f) 89 476 Branch 90 477 90: Label 478 LoopMerge 92 93 None 479 Branch 94 480 94: Label 481 95: 6(float) Load 87(f) 482 96: 23(bool) FUnordNotEqual 95 38 483 BranchConditional 96 91 92 484 91: Label 485 97: 6(float) Load 87(f) 486 98: 6(float) FSub 97 30 487 Store 87(f) 98 488 Branch 93 489 93: Label 490 Branch 90 491 92: Label 492 101: 20(ptr) AccessChain 18 19 493 102: 15(int) Load 101 494 Store 100(i) 102 495 Branch 103 496 103: Label 497 LoopMerge 105 106 None 498 Branch 104 499 104: Label 500 107: 15(int) Load 100(i) 501 108: 15(int) ISub 107 19 502 Store 100(i) 108 503 Branch 106 504 106: Label 505 109: 15(int) Load 100(i) 506 110: 23(bool) INotEqual 109 25 507 BranchConditional 110 103 105 508 105: Label 509 Branch 111 510 111: Label 511 LoopMerge 113 114 None 512 Branch 115 513 115: Label 514 116: 15(int) Load 100(i) 515 117: 23(bool) INotEqual 116 25 516 BranchConditional 117 112 113 517 112: Label 518 118: 15(int) Load 100(i) 519 119: 15(int) ISub 118 19 520 Store 100(i) 119 521 Branch 114 522 114: Label 523 Branch 111 524 113: Label 525 121: 35(ptr) AccessChain 18 34 526 122: 6(float) Load 121 527 123: 23(bool) FUnordNotEqual 122 38 528 126: 6(float) Select 123 124 125 529 Store 120(g) 126 530 127: 6(float) Load 120(g) 531 128: 7(fvec4) Load 12(a) 532 129: 7(fvec4) CompositeConstruct 127 127 127 127 533 130: 7(fvec4) FAdd 128 129 534 Store 12(a) 130 535 131: 7(fvec4) Load 12(a) 536 132: 7(fvec4) CompositeConstruct 30 30 30 30 537 133: 7(fvec4) FSub 131 132 538 ReturnValue 133 539 FunctionEnd 540