1hlsl.init2.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:3  Function Definition: Test1( ( temp void)
60:3    Function Parameters:
70:?     Sequence
80:5      Sequence
90:5        move second child to first child ( temp structure{ temp 2-component vector of float a})
100:5          'test1' ( temp structure{ temp 2-component vector of float a})
110:5          Constant:
120:5            1.000000
130:5            2.000000
140:9      Sequence
150:9        move second child to first child ( temp structure{ temp 2-component vector of float a})
160:9          'test2' ( temp structure{ temp 2-component vector of float a})
170:9          Constant:
180:9            3.000000
190:9            4.000000
200:17      Sequence
210:17        move second child to first child ( temp float)
220:17          'test4' ( temp float)
230:17          Constant:
240:17            7.000000
250:20      Sequence
260:20        move second child to first child ( temp structure{ temp float a,  temp float b,  temp float c})
270:20          'test5' ( temp structure{ temp float a,  temp float b,  temp float c})
280:20          Constant:
290:20            8.000000
300:20            9.000000
310:20            10.000000
320:22      Constant:
330:22        10.000000
340:25      Sequence
350:25        move second child to first child ( temp float)
360:25          'n' ( temp float)
370:25          Constant:
380:25            0.000000
390:26      Sequence
400:26        move second child to first child ( temp 8-element array of 3-component vector of float)
410:26          'a' ( const (read only) 8-element array of 3-component vector of float)
420:26          Construct vec3 ( temp 8-element array of 3-component vector of float)
430:27            vector-scale ( temp 3-component vector of float)
440:?               Constant:
450:?                 0.577350
460:?                 0.577350
470:?                 0.577350
480:27              add second child into first child ( temp float)
490:27                'n' ( temp float)
500:27                Constant:
510:27                  1.000000
520:28            vector-scale ( temp 3-component vector of float)
530:?               Constant:
540:?                 -0.577350
550:?                 -0.577350
560:?                 -0.577350
570:28              add second child into first child ( temp float)
580:28                'n' ( temp float)
590:28                Constant:
600:28                  1.000000
610:29            vector-scale ( temp 3-component vector of float)
620:?               Constant:
630:?                 -0.577350
640:?                 -0.577350
650:?                 0.577350
660:29              add second child into first child ( temp float)
670:29                'n' ( temp float)
680:29                Constant:
690:29                  1.000000
700:30            vector-scale ( temp 3-component vector of float)
710:?               Constant:
720:?                 -0.577350
730:?                 0.577350
740:?                 -0.577350
750:30              add second child into first child ( temp float)
760:30                'n' ( temp float)
770:30                Constant:
780:30                  1.000000
790:31            vector-scale ( temp 3-component vector of float)
800:?               Constant:
810:?                 -0.577350
820:?                 0.577350
830:?                 0.577350
840:31              add second child into first child ( temp float)
850:31                'n' ( temp float)
860:31                Constant:
870:31                  1.000000
880:32            vector-scale ( temp 3-component vector of float)
890:?               Constant:
900:?                 0.577350
910:?                 -0.577350
920:?                 -0.577350
930:32              add second child into first child ( temp float)
940:32                'n' ( temp float)
950:32                Constant:
960:32                  1.000000
970:33            vector-scale ( temp 3-component vector of float)
980:?               Constant:
990:?                 0.577350
1000:?                 -0.577350
1010:?                 0.577350
1020:33              add second child into first child ( temp float)
1030:33                'n' ( temp float)
1040:33                Constant:
1050:33                  1.000000
1060:34            vector-scale ( temp 3-component vector of float)
1070:?               Constant:
1080:?                 0.577350
1090:?                 0.577350
1100:?                 -0.577350
1110:34              add second child into first child ( temp float)
1120:34                'n' ( temp float)
1130:34                Constant:
1140:34                  1.000000
1150:36      Sequence
1160:36        move second child to first child ( temp structure{ temp 3-component vector of float a})
1170:36          'oneNonConst' ( const (read only) structure{ temp 3-component vector of float a})
1180:36          Construct structure ( temp structure{ temp 3-component vector of float a})
1190:36            vector-scale ( temp 3-component vector of float)
1200:?               Constant:
1210:?                 -0.577350
1220:?                 0.577350
1230:?                 0.577350
1240:36              add second child into first child ( temp float)
1250:36                'n' ( temp float)
1260:36                Constant:
1270:36                  1.000000
1280:38      Sequence
1290:38        move second child to first child ( temp structure{ temp 3-component vector of float a,  temp 3-component vector of float b})
1300:38          'twoNonConst' ( const (read only) structure{ temp 3-component vector of float a,  temp 3-component vector of float b})
1310:38          Construct structure ( temp structure{ temp 3-component vector of float a,  temp 3-component vector of float b})
1320:38            vector-scale ( temp 3-component vector of float)
1330:?               Constant:
1340:?                 -0.577350
1350:?                 0.577350
1360:?                 0.577350
1370:38              add second child into first child ( temp float)
1380:38                'n' ( temp float)
1390:38                Constant:
1400:38                  1.000000
1410:39            vector-scale ( temp 3-component vector of float)
1420:?               Constant:
1430:?                 -0.577350
1440:?                 0.577350
1450:?                 0.577350
1460:39              add second child into first child ( temp float)
1470:39                'n' ( temp float)
1480:39                Constant:
1490:39                  1.000000
1500:45  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
1510:45    Function Parameters:
1520:?     Sequence
1530:46      Function Call: Test1( ( temp void)
1540:49      move second child to first child ( temp 4-component vector of float)
1550:49        color: direct index for structure ( temp 4-component vector of float)
1560:49          'ps_output' ( temp structure{ temp 4-component vector of float color})
1570:49          Constant:
1580:49            0 (const int)
1590:49        Constant:
1600:49          1.000000
1610:49          1.000000
1620:49          1.000000
1630:49          1.000000
1640:50      Branch: Return with expression
1650:50        'ps_output' ( temp structure{ temp 4-component vector of float color})
1660:45  Function Definition: main( ( temp void)
1670:45    Function Parameters:
1680:?     Sequence
1690:45      Sequence
1700:45        move second child to first child ( temp 4-component vector of float)
1710:?           '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
1720:45          color: direct index for structure ( temp 4-component vector of float)
1730:45            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
1740:45            Constant:
1750:45              0 (const int)
1760:?   Linker Objects
1770:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
178
179
180Linked fragment stage:
181
182
183Shader version: 500
184gl_FragCoord origin is upper left
1850:? Sequence
1860:3  Function Definition: Test1( ( temp void)
1870:3    Function Parameters:
1880:?     Sequence
1890:5      Sequence
1900:5        move second child to first child ( temp structure{ temp 2-component vector of float a})
1910:5          'test1' ( temp structure{ temp 2-component vector of float a})
1920:5          Constant:
1930:5            1.000000
1940:5            2.000000
1950:9      Sequence
1960:9        move second child to first child ( temp structure{ temp 2-component vector of float a})
1970:9          'test2' ( temp structure{ temp 2-component vector of float a})
1980:9          Constant:
1990:9            3.000000
2000:9            4.000000
2010:17      Sequence
2020:17        move second child to first child ( temp float)
2030:17          'test4' ( temp float)
2040:17          Constant:
2050:17            7.000000
2060:20      Sequence
2070:20        move second child to first child ( temp structure{ temp float a,  temp float b,  temp float c})
2080:20          'test5' ( temp structure{ temp float a,  temp float b,  temp float c})
2090:20          Constant:
2100:20            8.000000
2110:20            9.000000
2120:20            10.000000
2130:22      Constant:
2140:22        10.000000
2150:25      Sequence
2160:25        move second child to first child ( temp float)
2170:25          'n' ( temp float)
2180:25          Constant:
2190:25            0.000000
2200:26      Sequence
2210:26        move second child to first child ( temp 8-element array of 3-component vector of float)
2220:26          'a' ( const (read only) 8-element array of 3-component vector of float)
2230:26          Construct vec3 ( temp 8-element array of 3-component vector of float)
2240:27            vector-scale ( temp 3-component vector of float)
2250:?               Constant:
2260:?                 0.577350
2270:?                 0.577350
2280:?                 0.577350
2290:27              add second child into first child ( temp float)
2300:27                'n' ( temp float)
2310:27                Constant:
2320:27                  1.000000
2330:28            vector-scale ( temp 3-component vector of float)
2340:?               Constant:
2350:?                 -0.577350
2360:?                 -0.577350
2370:?                 -0.577350
2380:28              add second child into first child ( temp float)
2390:28                'n' ( temp float)
2400:28                Constant:
2410:28                  1.000000
2420:29            vector-scale ( temp 3-component vector of float)
2430:?               Constant:
2440:?                 -0.577350
2450:?                 -0.577350
2460:?                 0.577350
2470:29              add second child into first child ( temp float)
2480:29                'n' ( temp float)
2490:29                Constant:
2500:29                  1.000000
2510:30            vector-scale ( temp 3-component vector of float)
2520:?               Constant:
2530:?                 -0.577350
2540:?                 0.577350
2550:?                 -0.577350
2560:30              add second child into first child ( temp float)
2570:30                'n' ( temp float)
2580:30                Constant:
2590:30                  1.000000
2600:31            vector-scale ( temp 3-component vector of float)
2610:?               Constant:
2620:?                 -0.577350
2630:?                 0.577350
2640:?                 0.577350
2650:31              add second child into first child ( temp float)
2660:31                'n' ( temp float)
2670:31                Constant:
2680:31                  1.000000
2690:32            vector-scale ( temp 3-component vector of float)
2700:?               Constant:
2710:?                 0.577350
2720:?                 -0.577350
2730:?                 -0.577350
2740:32              add second child into first child ( temp float)
2750:32                'n' ( temp float)
2760:32                Constant:
2770:32                  1.000000
2780:33            vector-scale ( temp 3-component vector of float)
2790:?               Constant:
2800:?                 0.577350
2810:?                 -0.577350
2820:?                 0.577350
2830:33              add second child into first child ( temp float)
2840:33                'n' ( temp float)
2850:33                Constant:
2860:33                  1.000000
2870:34            vector-scale ( temp 3-component vector of float)
2880:?               Constant:
2890:?                 0.577350
2900:?                 0.577350
2910:?                 -0.577350
2920:34              add second child into first child ( temp float)
2930:34                'n' ( temp float)
2940:34                Constant:
2950:34                  1.000000
2960:36      Sequence
2970:36        move second child to first child ( temp structure{ temp 3-component vector of float a})
2980:36          'oneNonConst' ( const (read only) structure{ temp 3-component vector of float a})
2990:36          Construct structure ( temp structure{ temp 3-component vector of float a})
3000:36            vector-scale ( temp 3-component vector of float)
3010:?               Constant:
3020:?                 -0.577350
3030:?                 0.577350
3040:?                 0.577350
3050:36              add second child into first child ( temp float)
3060:36                'n' ( temp float)
3070:36                Constant:
3080:36                  1.000000
3090:38      Sequence
3100:38        move second child to first child ( temp structure{ temp 3-component vector of float a,  temp 3-component vector of float b})
3110:38          'twoNonConst' ( const (read only) structure{ temp 3-component vector of float a,  temp 3-component vector of float b})
3120:38          Construct structure ( temp structure{ temp 3-component vector of float a,  temp 3-component vector of float b})
3130:38            vector-scale ( temp 3-component vector of float)
3140:?               Constant:
3150:?                 -0.577350
3160:?                 0.577350
3170:?                 0.577350
3180:38              add second child into first child ( temp float)
3190:38                'n' ( temp float)
3200:38                Constant:
3210:38                  1.000000
3220:39            vector-scale ( temp 3-component vector of float)
3230:?               Constant:
3240:?                 -0.577350
3250:?                 0.577350
3260:?                 0.577350
3270:39              add second child into first child ( temp float)
3280:39                'n' ( temp float)
3290:39                Constant:
3300:39                  1.000000
3310:45  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
3320:45    Function Parameters:
3330:?     Sequence
3340:46      Function Call: Test1( ( temp void)
3350:49      move second child to first child ( temp 4-component vector of float)
3360:49        color: direct index for structure ( temp 4-component vector of float)
3370:49          'ps_output' ( temp structure{ temp 4-component vector of float color})
3380:49          Constant:
3390:49            0 (const int)
3400:49        Constant:
3410:49          1.000000
3420:49          1.000000
3430:49          1.000000
3440:49          1.000000
3450:50      Branch: Return with expression
3460:50        'ps_output' ( temp structure{ temp 4-component vector of float color})
3470:45  Function Definition: main( ( temp void)
3480:45    Function Parameters:
3490:?     Sequence
3500:45      Sequence
3510:45        move second child to first child ( temp 4-component vector of float)
3520:?           '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
3530:45          color: direct index for structure ( temp 4-component vector of float)
3540:45            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
3550:45            Constant:
3560:45              0 (const int)
3570:?   Linker Objects
3580:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
359
360// Module Version 10000
361// Generated by (magic number): 80007
362// Id's are bound by 112
363
364                              Capability Shader
365               1:             ExtInstImport  "GLSL.std.450"
366                              MemoryModel Logical GLSL450
367                              EntryPoint Fragment 4  "main" 109
368                              ExecutionMode 4 OriginUpperLeft
369                              Source HLSL 500
370                              Name 4  "main"
371                              Name 6  "Test1("
372                              Name 10  "PS_OUTPUT"
373                              MemberName 10(PS_OUTPUT) 0  "color"
374                              Name 12  "@main("
375                              Name 15  "mystruct"
376                              MemberName 15(mystruct) 0  "a"
377                              Name 17  "test1"
378                              Name 22  "test2"
379                              Name 28  "test4"
380                              Name 30  "mystruct2"
381                              MemberName 30(mystruct2) 0  "a"
382                              MemberName 30(mystruct2) 1  "b"
383                              MemberName 30(mystruct2) 2  "c"
384                              Name 32  "test5"
385                              Name 37  "n"
386                              Name 44  "a"
387                              Name 80  "one"
388                              MemberName 80(one) 0  "a"
389                              Name 82  "oneNonConst"
390                              Name 87  "two"
391                              MemberName 87(two) 0  "a"
392                              MemberName 87(two) 1  "b"
393                              Name 89  "twoNonConst"
394                              Name 99  "ps_output"
395                              Name 109  "@entryPointOutput.color"
396                              Decorate 109(@entryPointOutput.color) Location 0
397               2:             TypeVoid
398               3:             TypeFunction 2
399               8:             TypeFloat 32
400               9:             TypeVector 8(float) 4
401   10(PS_OUTPUT):             TypeStruct 9(fvec4)
402              11:             TypeFunction 10(PS_OUTPUT)
403              14:             TypeVector 8(float) 2
404    15(mystruct):             TypeStruct 14(fvec2)
405              16:             TypePointer Function 15(mystruct)
406              18:    8(float) Constant 1065353216
407              19:    8(float) Constant 1073741824
408              20:   14(fvec2) ConstantComposite 18 19
409              21:15(mystruct) ConstantComposite 20
410              23:    8(float) Constant 1077936128
411              24:    8(float) Constant 1082130432
412              25:   14(fvec2) ConstantComposite 23 24
413              26:15(mystruct) ConstantComposite 25
414              27:             TypePointer Function 8(float)
415              29:    8(float) Constant 1088421888
416   30(mystruct2):             TypeStruct 8(float) 8(float) 8(float)
417              31:             TypePointer Function 30(mystruct2)
418              33:    8(float) Constant 1090519040
419              34:    8(float) Constant 1091567616
420              35:    8(float) Constant 1092616192
421              36:30(mystruct2) ConstantComposite 33 34 35
422              38:    8(float) Constant 0
423              39:             TypeVector 8(float) 3
424              40:             TypeInt 32 0
425              41:     40(int) Constant 8
426              42:             TypeArray 39(fvec3) 41
427              43:             TypePointer Function 42
428              45:    8(float) Constant 1058262330
429              46:   39(fvec3) ConstantComposite 45 45 45
430              50:    8(float) Constant 3205745978
431              51:   39(fvec3) ConstantComposite 50 50 50
432              55:   39(fvec3) ConstantComposite 50 50 45
433              59:   39(fvec3) ConstantComposite 50 45 50
434              63:   39(fvec3) ConstantComposite 50 45 45
435              67:   39(fvec3) ConstantComposite 45 50 50
436              71:   39(fvec3) ConstantComposite 45 50 45
437              75:   39(fvec3) ConstantComposite 45 45 50
438         80(one):             TypeStruct 39(fvec3)
439              81:             TypePointer Function 80(one)
440         87(two):             TypeStruct 39(fvec3) 39(fvec3)
441              88:             TypePointer Function 87(two)
442              98:             TypePointer Function 10(PS_OUTPUT)
443             100:             TypeInt 32 1
444             101:    100(int) Constant 0
445             102:    9(fvec4) ConstantComposite 18 18 18 18
446             103:             TypePointer Function 9(fvec4)
447             108:             TypePointer Output 9(fvec4)
448109(@entryPointOutput.color):    108(ptr) Variable Output
449         4(main):           2 Function None 3
450               5:             Label
451             110:10(PS_OUTPUT) FunctionCall 12(@main()
452             111:    9(fvec4) CompositeExtract 110 0
453                              Store 109(@entryPointOutput.color) 111
454                              Return
455                              FunctionEnd
456       6(Test1():           2 Function None 3
457               7:             Label
458       17(test1):     16(ptr) Variable Function
459       22(test2):     16(ptr) Variable Function
460       28(test4):     27(ptr) Variable Function
461       32(test5):     31(ptr) Variable Function
462           37(n):     27(ptr) Variable Function
463           44(a):     43(ptr) Variable Function
464 82(oneNonConst):     81(ptr) Variable Function
465 89(twoNonConst):     88(ptr) Variable Function
466                              Store 17(test1) 21
467                              Store 22(test2) 26
468                              Store 28(test4) 29
469                              Store 32(test5) 36
470                              Store 37(n) 38
471              47:    8(float) Load 37(n)
472              48:    8(float) FAdd 47 18
473                              Store 37(n) 48
474              49:   39(fvec3) VectorTimesScalar 46 48
475              52:    8(float) Load 37(n)
476              53:    8(float) FAdd 52 18
477                              Store 37(n) 53
478              54:   39(fvec3) VectorTimesScalar 51 53
479              56:    8(float) Load 37(n)
480              57:    8(float) FAdd 56 18
481                              Store 37(n) 57
482              58:   39(fvec3) VectorTimesScalar 55 57
483              60:    8(float) Load 37(n)
484              61:    8(float) FAdd 60 18
485                              Store 37(n) 61
486              62:   39(fvec3) VectorTimesScalar 59 61
487              64:    8(float) Load 37(n)
488              65:    8(float) FAdd 64 18
489                              Store 37(n) 65
490              66:   39(fvec3) VectorTimesScalar 63 65
491              68:    8(float) Load 37(n)
492              69:    8(float) FAdd 68 18
493                              Store 37(n) 69
494              70:   39(fvec3) VectorTimesScalar 67 69
495              72:    8(float) Load 37(n)
496              73:    8(float) FAdd 72 18
497                              Store 37(n) 73
498              74:   39(fvec3) VectorTimesScalar 71 73
499              76:    8(float) Load 37(n)
500              77:    8(float) FAdd 76 18
501                              Store 37(n) 77
502              78:   39(fvec3) VectorTimesScalar 75 77
503              79:          42 CompositeConstruct 49 54 58 62 66 70 74 78
504                              Store 44(a) 79
505              83:    8(float) Load 37(n)
506              84:    8(float) FAdd 83 18
507                              Store 37(n) 84
508              85:   39(fvec3) VectorTimesScalar 63 84
509              86:     80(one) CompositeConstruct 85
510                              Store 82(oneNonConst) 86
511              90:    8(float) Load 37(n)
512              91:    8(float) FAdd 90 18
513                              Store 37(n) 91
514              92:   39(fvec3) VectorTimesScalar 63 91
515              93:    8(float) Load 37(n)
516              94:    8(float) FAdd 93 18
517                              Store 37(n) 94
518              95:   39(fvec3) VectorTimesScalar 63 94
519              96:     87(two) CompositeConstruct 92 95
520                              Store 89(twoNonConst) 96
521                              Return
522                              FunctionEnd
523      12(@main():10(PS_OUTPUT) Function None 11
524              13:             Label
525   99(ps_output):     98(ptr) Variable Function
526              97:           2 FunctionCall 6(Test1()
527             104:    103(ptr) AccessChain 99(ps_output) 101
528                              Store 104 102
529             105:10(PS_OUTPUT) Load 99(ps_output)
530                              ReturnValue 105
531                              FunctionEnd
532