1hlsl.flattenOpaque.frag 2WARNING: AST will form illegal SPIR-V; need to transform to legalize 3Shader version: 500 4gl_FragCoord origin is upper left 50:? Sequence 60:15 Function Definition: osCall1(struct-os-p11; ( temp 4-component vector of float) 70:15 Function Parameters: 80:15 's' ( in structure{ temp sampler s2D}) 90:? Sequence 100:16 Branch: Return with expression 110:16 texture ( temp 4-component vector of float) 120:16 Construct combined texture-sampler ( temp sampler2D) 130:16 'tex' ( uniform texture2D) 140:16 s2D: direct index for structure ( temp sampler) 150:16 's' ( in structure{ temp sampler s2D}) 160:16 Constant: 170:16 0 (const int) 180:16 Constant: 190:16 0.200000 200:16 0.300000 210:20 Function Definition: osCall2(struct-os-p11;vf2; ( temp 4-component vector of float) 220:20 Function Parameters: 230:20 's' ( in structure{ temp sampler s2D}) 240:20 'f2' ( in 2-component vector of float) 250:? Sequence 260:21 Branch: Return with expression 270:21 texture ( temp 4-component vector of float) 280:21 Construct combined texture-sampler ( temp sampler2D) 290:21 'tex' ( uniform texture2D) 300:21 s2D: direct index for structure ( temp sampler) 310:21 's' ( in structure{ temp sampler s2D}) 320:21 Constant: 330:21 0 (const int) 340:21 'f2' ( in 2-component vector of float) 350:25 Function Definition: os2Call1(struct-os2-p1-t211; ( temp 4-component vector of float) 360:25 Function Parameters: 370:25 's' ( in structure{ temp sampler s2D, temp texture2D tex}) 380:? Sequence 390:26 Branch: Return with expression 400:26 texture ( temp 4-component vector of float) 410:26 Construct combined texture-sampler ( temp sampler2D) 420:26 tex: direct index for structure ( temp texture2D) 430:26 's' ( in structure{ temp sampler s2D, temp texture2D tex}) 440:26 Constant: 450:26 1 (const int) 460:26 s2D: direct index for structure ( temp sampler) 470:26 's' ( in structure{ temp sampler s2D, temp texture2D tex}) 480:26 Constant: 490:26 0 (const int) 500:26 Constant: 510:26 0.200000 520:26 0.300000 530:30 Function Definition: os2Call2(struct-os2-p1-t211;vf2; ( temp 4-component vector of float) 540:30 Function Parameters: 550:30 's' ( in structure{ temp sampler s2D, temp texture2D tex}) 560:30 'f2' ( in 2-component vector of float) 570:? Sequence 580:31 Branch: Return with expression 590:31 texture ( temp 4-component vector of float) 600:31 Construct combined texture-sampler ( temp sampler2D) 610:31 tex: direct index for structure ( temp texture2D) 620:31 's' ( in structure{ temp sampler s2D, temp texture2D tex}) 630:31 Constant: 640:31 1 (const int) 650:31 s2D: direct index for structure ( temp sampler) 660:31 's' ( in structure{ temp sampler s2D, temp texture2D tex}) 670:31 Constant: 680:31 0 (const int) 690:31 'f2' ( in 2-component vector of float) 700:35 Function Definition: @main( ( temp 4-component vector of float) 710:35 Function Parameters: 720:? Sequence 730:39 Branch: Return with expression 740:38 add ( temp 4-component vector of float) 750:37 add ( temp 4-component vector of float) 760:36 add ( temp 4-component vector of float) 770:36 Function Call: osCall1(struct-os-p11; ( temp 4-component vector of float) 780:36 Comma ( temp structure{ temp sampler s2D}) 790:36 Sequence 800:36 move second child to first child ( temp sampler) 810:36 s2D: direct index for structure ( temp sampler) 820:36 'aggShadow' ( temp structure{ temp sampler s2D}) 830:36 Constant: 840:36 0 (const int) 850:? 's.s2D' ( uniform sampler) 860:36 'aggShadow' ( temp structure{ temp sampler s2D}) 870:37 Function Call: osCall2(struct-os-p11;vf2; ( temp 4-component vector of float) 880:37 Comma ( temp structure{ temp sampler s2D}) 890:37 Sequence 900:37 move second child to first child ( temp sampler) 910:37 s2D: direct index for structure ( temp sampler) 920:37 'aggShadow' ( temp structure{ temp sampler s2D}) 930:37 Constant: 940:37 0 (const int) 950:? 's.s2D' ( uniform sampler) 960:37 'aggShadow' ( temp structure{ temp sampler s2D}) 970:37 Constant: 980:37 0.200000 990:37 0.300000 1000:38 Function Call: os2Call1(struct-os2-p1-t211; ( temp 4-component vector of float) 1010:38 Comma ( temp structure{ temp sampler s2D, temp texture2D tex}) 1020:38 Sequence 1030:38 move second child to first child ( temp sampler) 1040:38 s2D: direct index for structure ( temp sampler) 1050:38 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex}) 1060:38 Constant: 1070:38 0 (const int) 1080:? 's2.s2D' ( uniform sampler) 1090:38 move second child to first child ( temp texture2D) 1100:38 tex: direct index for structure ( temp texture2D) 1110:38 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex}) 1120:38 Constant: 1130:38 1 (const int) 1140:? 's2.tex' ( uniform texture2D) 1150:38 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex}) 1160:39 Function Call: os2Call2(struct-os2-p1-t211;vf2; ( temp 4-component vector of float) 1170:39 Comma ( temp structure{ temp sampler s2D, temp texture2D tex}) 1180:39 Sequence 1190:39 move second child to first child ( temp sampler) 1200:39 s2D: direct index for structure ( temp sampler) 1210:39 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex}) 1220:39 Constant: 1230:39 0 (const int) 1240:? 's2.s2D' ( uniform sampler) 1250:39 move second child to first child ( temp texture2D) 1260:39 tex: direct index for structure ( temp texture2D) 1270:39 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex}) 1280:39 Constant: 1290:39 1 (const int) 1300:? 's2.tex' ( uniform texture2D) 1310:39 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex}) 1320:39 Constant: 1330:39 0.200000 1340:39 0.300000 1350:35 Function Definition: main( ( temp void) 1360:35 Function Parameters: 1370:? Sequence 1380:35 move second child to first child ( temp 4-component vector of float) 1390:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1400:35 Function Call: @main( ( temp 4-component vector of float) 1410:? Linker Objects 1420:? 'tex' ( uniform texture2D) 1430:? 's.s2D' ( uniform sampler) 1440:? 's2.s2D' ( uniform sampler) 1450:? 's2.tex' ( uniform texture2D) 1460:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 147 148 149Linked fragment stage: 150 151 152Shader version: 500 153gl_FragCoord origin is upper left 1540:? Sequence 1550:15 Function Definition: osCall1(struct-os-p11; ( temp 4-component vector of float) 1560:15 Function Parameters: 1570:15 's' ( in structure{ temp sampler s2D}) 1580:? Sequence 1590:16 Branch: Return with expression 1600:16 texture ( temp 4-component vector of float) 1610:16 Construct combined texture-sampler ( temp sampler2D) 1620:16 'tex' ( uniform texture2D) 1630:16 s2D: direct index for structure ( temp sampler) 1640:16 's' ( in structure{ temp sampler s2D}) 1650:16 Constant: 1660:16 0 (const int) 1670:16 Constant: 1680:16 0.200000 1690:16 0.300000 1700:20 Function Definition: osCall2(struct-os-p11;vf2; ( temp 4-component vector of float) 1710:20 Function Parameters: 1720:20 's' ( in structure{ temp sampler s2D}) 1730:20 'f2' ( in 2-component vector of float) 1740:? Sequence 1750:21 Branch: Return with expression 1760:21 texture ( temp 4-component vector of float) 1770:21 Construct combined texture-sampler ( temp sampler2D) 1780:21 'tex' ( uniform texture2D) 1790:21 s2D: direct index for structure ( temp sampler) 1800:21 's' ( in structure{ temp sampler s2D}) 1810:21 Constant: 1820:21 0 (const int) 1830:21 'f2' ( in 2-component vector of float) 1840:25 Function Definition: os2Call1(struct-os2-p1-t211; ( temp 4-component vector of float) 1850:25 Function Parameters: 1860:25 's' ( in structure{ temp sampler s2D, temp texture2D tex}) 1870:? Sequence 1880:26 Branch: Return with expression 1890:26 texture ( temp 4-component vector of float) 1900:26 Construct combined texture-sampler ( temp sampler2D) 1910:26 tex: direct index for structure ( temp texture2D) 1920:26 's' ( in structure{ temp sampler s2D, temp texture2D tex}) 1930:26 Constant: 1940:26 1 (const int) 1950:26 s2D: direct index for structure ( temp sampler) 1960:26 's' ( in structure{ temp sampler s2D, temp texture2D tex}) 1970:26 Constant: 1980:26 0 (const int) 1990:26 Constant: 2000:26 0.200000 2010:26 0.300000 2020:30 Function Definition: os2Call2(struct-os2-p1-t211;vf2; ( temp 4-component vector of float) 2030:30 Function Parameters: 2040:30 's' ( in structure{ temp sampler s2D, temp texture2D tex}) 2050:30 'f2' ( in 2-component vector of float) 2060:? Sequence 2070:31 Branch: Return with expression 2080:31 texture ( temp 4-component vector of float) 2090:31 Construct combined texture-sampler ( temp sampler2D) 2100:31 tex: direct index for structure ( temp texture2D) 2110:31 's' ( in structure{ temp sampler s2D, temp texture2D tex}) 2120:31 Constant: 2130:31 1 (const int) 2140:31 s2D: direct index for structure ( temp sampler) 2150:31 's' ( in structure{ temp sampler s2D, temp texture2D tex}) 2160:31 Constant: 2170:31 0 (const int) 2180:31 'f2' ( in 2-component vector of float) 2190:35 Function Definition: @main( ( temp 4-component vector of float) 2200:35 Function Parameters: 2210:? Sequence 2220:39 Branch: Return with expression 2230:38 add ( temp 4-component vector of float) 2240:37 add ( temp 4-component vector of float) 2250:36 add ( temp 4-component vector of float) 2260:36 Function Call: osCall1(struct-os-p11; ( temp 4-component vector of float) 2270:36 Comma ( temp structure{ temp sampler s2D}) 2280:36 Sequence 2290:36 move second child to first child ( temp sampler) 2300:36 s2D: direct index for structure ( temp sampler) 2310:36 'aggShadow' ( temp structure{ temp sampler s2D}) 2320:36 Constant: 2330:36 0 (const int) 2340:? 's.s2D' ( uniform sampler) 2350:36 'aggShadow' ( temp structure{ temp sampler s2D}) 2360:37 Function Call: osCall2(struct-os-p11;vf2; ( temp 4-component vector of float) 2370:37 Comma ( temp structure{ temp sampler s2D}) 2380:37 Sequence 2390:37 move second child to first child ( temp sampler) 2400:37 s2D: direct index for structure ( temp sampler) 2410:37 'aggShadow' ( temp structure{ temp sampler s2D}) 2420:37 Constant: 2430:37 0 (const int) 2440:? 's.s2D' ( uniform sampler) 2450:37 'aggShadow' ( temp structure{ temp sampler s2D}) 2460:37 Constant: 2470:37 0.200000 2480:37 0.300000 2490:38 Function Call: os2Call1(struct-os2-p1-t211; ( temp 4-component vector of float) 2500:38 Comma ( temp structure{ temp sampler s2D, temp texture2D tex}) 2510:38 Sequence 2520:38 move second child to first child ( temp sampler) 2530:38 s2D: direct index for structure ( temp sampler) 2540:38 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex}) 2550:38 Constant: 2560:38 0 (const int) 2570:? 's2.s2D' ( uniform sampler) 2580:38 move second child to first child ( temp texture2D) 2590:38 tex: direct index for structure ( temp texture2D) 2600:38 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex}) 2610:38 Constant: 2620:38 1 (const int) 2630:? 's2.tex' ( uniform texture2D) 2640:38 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex}) 2650:39 Function Call: os2Call2(struct-os2-p1-t211;vf2; ( temp 4-component vector of float) 2660:39 Comma ( temp structure{ temp sampler s2D, temp texture2D tex}) 2670:39 Sequence 2680:39 move second child to first child ( temp sampler) 2690:39 s2D: direct index for structure ( temp sampler) 2700:39 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex}) 2710:39 Constant: 2720:39 0 (const int) 2730:? 's2.s2D' ( uniform sampler) 2740:39 move second child to first child ( temp texture2D) 2750:39 tex: direct index for structure ( temp texture2D) 2760:39 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex}) 2770:39 Constant: 2780:39 1 (const int) 2790:? 's2.tex' ( uniform texture2D) 2800:39 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex}) 2810:39 Constant: 2820:39 0.200000 2830:39 0.300000 2840:35 Function Definition: main( ( temp void) 2850:35 Function Parameters: 2860:? Sequence 2870:35 move second child to first child ( temp 4-component vector of float) 2880:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 2890:35 Function Call: @main( ( temp 4-component vector of float) 2900:? Linker Objects 2910:? 'tex' ( uniform texture2D) 2920:? 's.s2D' ( uniform sampler) 2930:? 's2.s2D' ( uniform sampler) 2940:? 's2.tex' ( uniform texture2D) 2950:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 296 297// Module Version 10000 298// Generated by (magic number): 8000b 299// Id's are bound by 122 300 301 Capability Shader 302 1: ExtInstImport "GLSL.std.450" 303 MemoryModel Logical GLSL450 304 EntryPoint Fragment 4 "main" 120 305 ExecutionMode 4 OriginUpperLeft 306 Source HLSL 500 307 Name 4 "main" 308 Name 7 "os" 309 MemberName 7(os) 0 "s2D" 310 Name 13 "osCall1(struct-os-p11;" 311 Name 12 "s" 312 Name 20 "osCall2(struct-os-p11;vf2;" 313 Name 18 "s" 314 Name 19 "f2" 315 Name 23 "os2" 316 MemberName 23(os2) 0 "s2D" 317 MemberName 23(os2) 1 "tex" 318 Name 27 "os2Call1(struct-os2-p1-t211;" 319 Name 26 "s" 320 Name 32 "os2Call2(struct-os2-p1-t211;vf2;" 321 Name 30 "s" 322 Name 31 "f2" 323 Name 35 "@main(" 324 Name 38 "tex" 325 Name 80 "aggShadow" 326 Name 82 "s.s2D" 327 Name 85 "param" 328 Name 88 "aggShadow" 329 Name 91 "param" 330 Name 93 "param" 331 Name 96 "aggShadow" 332 Name 97 "s2.s2D" 333 Name 100 "s2.tex" 334 Name 103 "param" 335 Name 107 "aggShadow" 336 Name 112 "param" 337 Name 114 "param" 338 Name 120 "@entryPointOutput" 339 Decorate 38(tex) DescriptorSet 0 340 Decorate 38(tex) Binding 0 341 Decorate 82(s.s2D) DescriptorSet 0 342 Decorate 82(s.s2D) Binding 1 343 Decorate 97(s2.s2D) DescriptorSet 0 344 Decorate 97(s2.s2D) Binding 2 345 Decorate 100(s2.tex) DescriptorSet 0 346 Decorate 100(s2.tex) Binding 3 347 Decorate 120(@entryPointOutput) Location 0 348 2: TypeVoid 349 3: TypeFunction 2 350 6: TypeSampler 351 7(os): TypeStruct 6 352 8: TypePointer Function 7(os) 353 9: TypeFloat 32 354 10: TypeVector 9(float) 4 355 11: TypeFunction 10(fvec4) 8(ptr) 356 15: TypeVector 9(float) 2 357 16: TypePointer Function 15(fvec2) 358 17: TypeFunction 10(fvec4) 8(ptr) 16(ptr) 359 22: TypeImage 9(float) 2D sampled format:Unknown 360 23(os2): TypeStruct 6 22 361 24: TypePointer Function 23(os2) 362 25: TypeFunction 10(fvec4) 24(ptr) 363 29: TypeFunction 10(fvec4) 24(ptr) 16(ptr) 364 34: TypeFunction 10(fvec4) 365 37: TypePointer UniformConstant 22 366 38(tex): 37(ptr) Variable UniformConstant 367 40: TypeInt 32 1 368 41: 40(int) Constant 0 369 42: TypePointer Function 6 370 45: TypeSampledImage 22 371 47: 9(float) Constant 1045220557 372 48: 9(float) Constant 1050253722 373 49: 15(fvec2) ConstantComposite 47 48 374 61: 40(int) Constant 1 375 62: TypePointer Function 22 376 81: TypePointer UniformConstant 6 377 82(s.s2D): 81(ptr) Variable UniformConstant 378 97(s2.s2D): 81(ptr) Variable UniformConstant 379 100(s2.tex): 37(ptr) Variable UniformConstant 380 119: TypePointer Output 10(fvec4) 381120(@entryPointOutput): 119(ptr) Variable Output 382 4(main): 2 Function None 3 383 5: Label 384 121: 10(fvec4) FunctionCall 35(@main() 385 Store 120(@entryPointOutput) 121 386 Return 387 FunctionEnd 38813(osCall1(struct-os-p11;): 10(fvec4) Function None 11 389 12(s): 8(ptr) FunctionParameter 390 14: Label 391 39: 22 Load 38(tex) 392 43: 42(ptr) AccessChain 12(s) 41 393 44: 6 Load 43 394 46: 45 SampledImage 39 44 395 50: 10(fvec4) ImageSampleImplicitLod 46 49 396 ReturnValue 50 397 FunctionEnd 39820(osCall2(struct-os-p11;vf2;): 10(fvec4) Function None 17 399 18(s): 8(ptr) FunctionParameter 400 19(f2): 16(ptr) FunctionParameter 401 21: Label 402 53: 22 Load 38(tex) 403 54: 42(ptr) AccessChain 18(s) 41 404 55: 6 Load 54 405 56: 45 SampledImage 53 55 406 57: 15(fvec2) Load 19(f2) 407 58: 10(fvec4) ImageSampleImplicitLod 56 57 408 ReturnValue 58 409 FunctionEnd 41027(os2Call1(struct-os2-p1-t211;): 10(fvec4) Function None 25 411 26(s): 24(ptr) FunctionParameter 412 28: Label 413 63: 62(ptr) AccessChain 26(s) 61 414 64: 22 Load 63 415 65: 42(ptr) AccessChain 26(s) 41 416 66: 6 Load 65 417 67: 45 SampledImage 64 66 418 68: 10(fvec4) ImageSampleImplicitLod 67 49 419 ReturnValue 68 420 FunctionEnd 42132(os2Call2(struct-os2-p1-t211;vf2;): 10(fvec4) Function None 29 422 30(s): 24(ptr) FunctionParameter 423 31(f2): 16(ptr) FunctionParameter 424 33: Label 425 71: 62(ptr) AccessChain 30(s) 61 426 72: 22 Load 71 427 73: 42(ptr) AccessChain 30(s) 41 428 74: 6 Load 73 429 75: 45 SampledImage 72 74 430 76: 15(fvec2) Load 31(f2) 431 77: 10(fvec4) ImageSampleImplicitLod 75 76 432 ReturnValue 77 433 FunctionEnd 434 35(@main(): 10(fvec4) Function None 34 435 36: Label 436 80(aggShadow): 8(ptr) Variable Function 437 85(param): 8(ptr) Variable Function 438 88(aggShadow): 8(ptr) Variable Function 439 91(param): 8(ptr) Variable Function 440 93(param): 16(ptr) Variable Function 441 96(aggShadow): 24(ptr) Variable Function 442 103(param): 24(ptr) Variable Function 443 107(aggShadow): 24(ptr) Variable Function 444 112(param): 24(ptr) Variable Function 445 114(param): 16(ptr) Variable Function 446 83: 6 Load 82(s.s2D) 447 84: 42(ptr) AccessChain 80(aggShadow) 41 448 Store 84 83 449 86: 7(os) Load 80(aggShadow) 450 Store 85(param) 86 451 87: 10(fvec4) FunctionCall 13(osCall1(struct-os-p11;) 85(param) 452 89: 6 Load 82(s.s2D) 453 90: 42(ptr) AccessChain 88(aggShadow) 41 454 Store 90 89 455 92: 7(os) Load 88(aggShadow) 456 Store 91(param) 92 457 Store 93(param) 49 458 94: 10(fvec4) FunctionCall 20(osCall2(struct-os-p11;vf2;) 91(param) 93(param) 459 95: 10(fvec4) FAdd 87 94 460 98: 6 Load 97(s2.s2D) 461 99: 42(ptr) AccessChain 96(aggShadow) 41 462 Store 99 98 463 101: 22 Load 100(s2.tex) 464 102: 62(ptr) AccessChain 96(aggShadow) 61 465 Store 102 101 466 104: 23(os2) Load 96(aggShadow) 467 Store 103(param) 104 468 105: 10(fvec4) FunctionCall 27(os2Call1(struct-os2-p1-t211;) 103(param) 469 106: 10(fvec4) FAdd 95 105 470 108: 6 Load 97(s2.s2D) 471 109: 42(ptr) AccessChain 107(aggShadow) 41 472 Store 109 108 473 110: 22 Load 100(s2.tex) 474 111: 62(ptr) AccessChain 107(aggShadow) 61 475 Store 111 110 476 113: 23(os2) Load 107(aggShadow) 477 Store 112(param) 113 478 Store 114(param) 49 479 115: 10(fvec4) FunctionCall 32(os2Call2(struct-os2-p1-t211;vf2;) 112(param) 114(param) 480 116: 10(fvec4) FAdd 106 115 481 ReturnValue 116 482 FunctionEnd 483