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): 80007 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 137(@entryPointOutput) Location 0 364 2: TypeVoid 365 3: TypeFunction 2 366 6: TypeFloat 32 367 7: TypeVector 6(float) 4 368 8: TypeFunction 7(fvec4) 369 11: TypePointer Function 7(fvec4) 370 13: 6(float) Constant 1073741824 371 14: 7(fvec4) ConstantComposite 13 13 13 13 372 15: TypeInt 32 1 373 16($Global): TypeStruct 6(float) 15(int) 6(float) 15(int) 374 17: TypePointer Uniform 16($Global) 375 18: 17(ptr) Variable Uniform 376 19: 15(int) Constant 1 377 20: TypePointer Uniform 15(int) 378 23: TypeBool 379 24: TypeInt 32 0 380 25: 24(int) Constant 0 381 30: 6(float) Constant 1065353216 382 34: 15(int) Constant 0 383 35: TypePointer Uniform 6(float) 384 38: 6(float) Constant 0 385 46: 15(int) Constant 2 386 53: 6(float) Constant 1077936128 387 57: 15(int) Constant 3 388 64: 6(float) Constant 1082130432 389 82: 6(float) Constant 1084227584 390 86: TypePointer Function 6(float) 391 99: TypePointer Function 15(int) 392 124: 6(float) Constant 1088421888 393 125: 6(float) Constant 1090519040 394 136: TypePointer Output 7(fvec4) 395137(@entryPointOutput): 136(ptr) Variable Output 396 4(main): 2 Function None 3 397 5: Label 398 138: 7(fvec4) FunctionCall 9(@main() 399 Store 137(@entryPointOutput) 138 400 Return 401 FunctionEnd 402 9(@main(): 7(fvec4) Function None 8 403 10: Label 404 12(a): 11(ptr) Variable Function 405 87(f): 86(ptr) Variable Function 406 100(i): 99(ptr) Variable Function 407 120(g): 86(ptr) Variable Function 408 Store 12(a) 14 409 21: 20(ptr) AccessChain 18 19 410 22: 15(int) Load 21 411 26: 23(bool) INotEqual 22 25 412 SelectionMerge 28 None 413 BranchConditional 26 27 28 414 27: Label 415 29: 7(fvec4) Load 12(a) 416 31: 7(fvec4) CompositeConstruct 30 30 30 30 417 32: 7(fvec4) FAdd 29 31 418 ReturnValue 32 419 28: Label 420 36: 35(ptr) AccessChain 18 34 421 37: 6(float) Load 36 422 39: 23(bool) FOrdNotEqual 37 38 423 SelectionMerge 41 None 424 BranchConditional 39 40 41 425 40: Label 426 42: 7(fvec4) Load 12(a) 427 43: 7(fvec4) CompositeConstruct 13 13 13 13 428 44: 7(fvec4) FAdd 42 43 429 ReturnValue 44 430 41: Label 431 47: 35(ptr) AccessChain 18 46 432 48: 6(float) Load 47 433 49: 23(bool) FOrdNotEqual 48 38 434 SelectionMerge 51 None 435 BranchConditional 49 50 51 436 50: Label 437 52: 7(fvec4) Load 12(a) 438 54: 7(fvec4) CompositeConstruct 53 53 53 53 439 55: 7(fvec4) FAdd 52 54 440 ReturnValue 55 441 51: Label 442 58: 20(ptr) AccessChain 18 57 443 59: 15(int) Load 58 444 60: 23(bool) INotEqual 59 25 445 SelectionMerge 62 None 446 BranchConditional 60 61 62 447 61: Label 448 63: 7(fvec4) Load 12(a) 449 65: 7(fvec4) CompositeConstruct 64 64 64 64 450 66: 7(fvec4) FAdd 63 65 451 ReturnValue 66 452 62: Label 453 68: 20(ptr) AccessChain 18 19 454 69: 15(int) Load 68 455 70: 23(bool) INotEqual 69 25 456 71: 35(ptr) AccessChain 18 34 457 72: 6(float) Load 71 458 73: 23(bool) FOrdNotEqual 72 38 459 74: 23(bool) LogicalAnd 70 73 460 75: 35(ptr) AccessChain 18 46 461 76: 6(float) Load 75 462 77: 23(bool) FOrdNotEqual 76 38 463 78: 23(bool) LogicalOr 74 77 464 SelectionMerge 80 None 465 BranchConditional 78 79 80 466 79: Label 467 81: 7(fvec4) Load 12(a) 468 83: 7(fvec4) CompositeConstruct 82 82 82 82 469 84: 7(fvec4) FAdd 81 83 470 ReturnValue 84 471 80: Label 472 88: 35(ptr) AccessChain 18 34 473 89: 6(float) Load 88 474 Store 87(f) 89 475 Branch 90 476 90: Label 477 LoopMerge 92 93 None 478 Branch 94 479 94: Label 480 95: 6(float) Load 87(f) 481 96: 23(bool) FOrdNotEqual 95 38 482 BranchConditional 96 91 92 483 91: Label 484 97: 6(float) Load 87(f) 485 98: 6(float) FSub 97 30 486 Store 87(f) 98 487 Branch 93 488 93: Label 489 Branch 90 490 92: Label 491 101: 20(ptr) AccessChain 18 19 492 102: 15(int) Load 101 493 Store 100(i) 102 494 Branch 103 495 103: Label 496 LoopMerge 105 106 None 497 Branch 104 498 104: Label 499 107: 15(int) Load 100(i) 500 108: 15(int) ISub 107 19 501 Store 100(i) 108 502 Branch 106 503 106: Label 504 109: 15(int) Load 100(i) 505 110: 23(bool) INotEqual 109 25 506 BranchConditional 110 103 105 507 105: Label 508 Branch 111 509 111: Label 510 LoopMerge 113 114 None 511 Branch 115 512 115: Label 513 116: 15(int) Load 100(i) 514 117: 23(bool) INotEqual 116 25 515 BranchConditional 117 112 113 516 112: Label 517 118: 15(int) Load 100(i) 518 119: 15(int) ISub 118 19 519 Store 100(i) 119 520 Branch 114 521 114: Label 522 Branch 111 523 113: Label 524 121: 35(ptr) AccessChain 18 34 525 122: 6(float) Load 121 526 123: 23(bool) FOrdNotEqual 122 38 527 126: 6(float) Select 123 124 125 528 Store 120(g) 126 529 127: 6(float) Load 120(g) 530 128: 7(fvec4) Load 12(a) 531 129: 7(fvec4) CompositeConstruct 127 127 127 127 532 130: 7(fvec4) FAdd 128 129 533 Store 12(a) 130 534 131: 7(fvec4) Load 12(a) 535 132: 7(fvec4) CompositeConstruct 30 30 30 30 536 133: 7(fvec4) FSub 131 132 537 ReturnValue 133 538 FunctionEnd 539