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:?           Constant:
190:?             0.200000
200:?             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:?           Constant:
510:?             0.200000
520:?             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:?                 Constant:
980:?                   0.200000
990:?                   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:?             Constant:
1330:?               0.200000
1340:?               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:?           Constant:
1680:?             0.200000
1690:?             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:?           Constant:
2000:?             0.200000
2010:?             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:?                 Constant:
2470:?                   0.200000
2480:?                   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:?             Constant:
2820:?               0.200000
2830:?               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): 80007
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 82(s.s2D) DescriptorSet 0
341                              Decorate 97(s2.s2D) DescriptorSet 0
342                              Decorate 100(s2.tex) DescriptorSet 0
343                              Decorate 120(@entryPointOutput) Location 0
344               2:             TypeVoid
345               3:             TypeFunction 2
346               6:             TypeSampler
347           7(os):             TypeStruct 6
348               8:             TypePointer Function 7(os)
349               9:             TypeFloat 32
350              10:             TypeVector 9(float) 4
351              11:             TypeFunction 10(fvec4) 8(ptr)
352              15:             TypeVector 9(float) 2
353              16:             TypePointer Function 15(fvec2)
354              17:             TypeFunction 10(fvec4) 8(ptr) 16(ptr)
355              22:             TypeImage 9(float) 2D sampled format:Unknown
356         23(os2):             TypeStruct 6 22
357              24:             TypePointer Function 23(os2)
358              25:             TypeFunction 10(fvec4) 24(ptr)
359              29:             TypeFunction 10(fvec4) 24(ptr) 16(ptr)
360              34:             TypeFunction 10(fvec4)
361              37:             TypePointer UniformConstant 22
362         38(tex):     37(ptr) Variable UniformConstant
363              40:             TypeInt 32 1
364              41:     40(int) Constant 0
365              42:             TypePointer Function 6
366              45:             TypeSampledImage 22
367              47:    9(float) Constant 1045220557
368              48:    9(float) Constant 1050253722
369              49:   15(fvec2) ConstantComposite 47 48
370              61:     40(int) Constant 1
371              62:             TypePointer Function 22
372              81:             TypePointer UniformConstant 6
373       82(s.s2D):     81(ptr) Variable UniformConstant
374      97(s2.s2D):     81(ptr) Variable UniformConstant
375     100(s2.tex):     37(ptr) Variable UniformConstant
376             119:             TypePointer Output 10(fvec4)
377120(@entryPointOutput):    119(ptr) Variable Output
378         4(main):           2 Function None 3
379               5:             Label
380             121:   10(fvec4) FunctionCall 35(@main()
381                              Store 120(@entryPointOutput) 121
382                              Return
383                              FunctionEnd
38413(osCall1(struct-os-p11;):   10(fvec4) Function None 11
385           12(s):      8(ptr) FunctionParameter
386              14:             Label
387              39:          22 Load 38(tex)
388              43:     42(ptr) AccessChain 12(s) 41
389              44:           6 Load 43
390              46:          45 SampledImage 39 44
391              50:   10(fvec4) ImageSampleImplicitLod 46 49
392                              ReturnValue 50
393                              FunctionEnd
39420(osCall2(struct-os-p11;vf2;):   10(fvec4) Function None 17
395           18(s):      8(ptr) FunctionParameter
396          19(f2):     16(ptr) FunctionParameter
397              21:             Label
398              53:          22 Load 38(tex)
399              54:     42(ptr) AccessChain 18(s) 41
400              55:           6 Load 54
401              56:          45 SampledImage 53 55
402              57:   15(fvec2) Load 19(f2)
403              58:   10(fvec4) ImageSampleImplicitLod 56 57
404                              ReturnValue 58
405                              FunctionEnd
40627(os2Call1(struct-os2-p1-t211;):   10(fvec4) Function None 25
407           26(s):     24(ptr) FunctionParameter
408              28:             Label
409              63:     62(ptr) AccessChain 26(s) 61
410              64:          22 Load 63
411              65:     42(ptr) AccessChain 26(s) 41
412              66:           6 Load 65
413              67:          45 SampledImage 64 66
414              68:   10(fvec4) ImageSampleImplicitLod 67 49
415                              ReturnValue 68
416                              FunctionEnd
41732(os2Call2(struct-os2-p1-t211;vf2;):   10(fvec4) Function None 29
418           30(s):     24(ptr) FunctionParameter
419          31(f2):     16(ptr) FunctionParameter
420              33:             Label
421              71:     62(ptr) AccessChain 30(s) 61
422              72:          22 Load 71
423              73:     42(ptr) AccessChain 30(s) 41
424              74:           6 Load 73
425              75:          45 SampledImage 72 74
426              76:   15(fvec2) Load 31(f2)
427              77:   10(fvec4) ImageSampleImplicitLod 75 76
428                              ReturnValue 77
429                              FunctionEnd
430      35(@main():   10(fvec4) Function None 34
431              36:             Label
432   80(aggShadow):      8(ptr) Variable Function
433       85(param):      8(ptr) Variable Function
434   88(aggShadow):      8(ptr) Variable Function
435       91(param):      8(ptr) Variable Function
436       93(param):     16(ptr) Variable Function
437   96(aggShadow):     24(ptr) Variable Function
438      103(param):     24(ptr) Variable Function
439  107(aggShadow):     24(ptr) Variable Function
440      112(param):     24(ptr) Variable Function
441      114(param):     16(ptr) Variable Function
442              83:           6 Load 82(s.s2D)
443              84:     42(ptr) AccessChain 80(aggShadow) 41
444                              Store 84 83
445              86:       7(os) Load 80(aggShadow)
446                              Store 85(param) 86
447              87:   10(fvec4) FunctionCall 13(osCall1(struct-os-p11;) 85(param)
448              89:           6 Load 82(s.s2D)
449              90:     42(ptr) AccessChain 88(aggShadow) 41
450                              Store 90 89
451              92:       7(os) Load 88(aggShadow)
452                              Store 91(param) 92
453                              Store 93(param) 49
454              94:   10(fvec4) FunctionCall 20(osCall2(struct-os-p11;vf2;) 91(param) 93(param)
455              95:   10(fvec4) FAdd 87 94
456              98:           6 Load 97(s2.s2D)
457              99:     42(ptr) AccessChain 96(aggShadow) 41
458                              Store 99 98
459             101:          22 Load 100(s2.tex)
460             102:     62(ptr) AccessChain 96(aggShadow) 61
461                              Store 102 101
462             104:     23(os2) Load 96(aggShadow)
463                              Store 103(param) 104
464             105:   10(fvec4) FunctionCall 27(os2Call1(struct-os2-p1-t211;) 103(param)
465             106:   10(fvec4) FAdd 95 105
466             108:           6 Load 97(s2.s2D)
467             109:     42(ptr) AccessChain 107(aggShadow) 41
468                              Store 109 108
469             110:          22 Load 100(s2.tex)
470             111:     62(ptr) AccessChain 107(aggShadow) 61
471                              Store 111 110
472             113:     23(os2) Load 107(aggShadow)
473                              Store 112(param) 113
474                              Store 114(param) 49
475             115:   10(fvec4) FunctionCall 32(os2Call2(struct-os2-p1-t211;vf2;) 112(param) 114(param)
476             116:   10(fvec4) FAdd 106 115
477                              ReturnValue 116
478                              FunctionEnd
479