• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1hlsl.nonstaticMemberFunction.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:1  Sequence
60:1    move second child to first child ( temp 2-component vector of float)
70:1      'i' ( global 2-component vector of float)
80:?       Constant:
90:?         1.000000
100:?         2.000000
110:5  Function Definition: type1::setmem(vf4; ( temp void)
120:5    Function Parameters:
130:5      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
140:5      'm' ( in 4-component vector of float)
150:?     Sequence
160:5      move second child to first child ( temp 4-component vector of float)
170:5        memVar: direct index for structure ( temp 4-component vector of float)
180:5          '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
190:5          Constant:
200:5            0 (const uint)
210:5        'm' ( in 4-component vector of float)
220:6  Function Definition: type1::seti(i1; ( temp void)
230:6    Function Parameters:
240:6      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
250:6      'si' ( in int)
260:?     Sequence
270:6      move second child to first child ( temp int)
280:6        i: direct index for structure ( temp int)
290:6          '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
300:6          Constant:
310:6            1 (const uint)
320:6        'si' ( in int)
330:9  Function Definition: type1::memFun(vf4; ( temp 4-component vector of float)
340:9    Function Parameters:
350:9      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
360:9      'a' ( in 4-component vector of float)
370:?     Sequence
380:10      Branch: Return with expression
390:10        add ( temp 4-component vector of float)
400:10          vector-scale ( temp 4-component vector of float)
410:10            Convert int to float ( temp float)
420:10              i: direct index for structure ( temp int)
430:10                '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
440:10                Constant:
450:10                  1 (const uint)
460:10            'a' ( in 4-component vector of float)
470:10          memVar: direct index for structure ( temp 4-component vector of float)
480:10            '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
490:10            Constant:
500:10              0 (const uint)
510:13  Function Definition: type1::memFun(i1; ( temp int)
520:13    Function Parameters:
530:13      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
540:13      'a' ( in int)
550:?     Sequence
560:14      Branch: Return with expression
570:14        Convert float to int ( temp int)
580:14          subtract ( temp float)
590:14            Convert int to float ( temp float)
600:14              add ( temp int)
610:14                i: direct index for structure ( temp int)
620:14                  '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
630:14                  Constant:
640:14                    1 (const uint)
650:14                'a' ( in int)
660:14            direct index ( temp float)
670:14              memVar: direct index for structure ( temp 4-component vector of float)
680:14                '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
690:14                Constant:
700:14                  0 (const uint)
710:14              Constant:
720:14                2 (const int)
730:19  Sequence
740:19    move second child to first child ( temp 2-component vector of float)
750:19      'j' ( global 2-component vector of float)
760:19      'i' ( global 2-component vector of float)
770:23  Function Definition: type2::memFun( ( temp 2-component vector of float)
780:23    Function Parameters:
790:23      '@this' ( temp structure{})
800:?     Sequence
810:23      Branch: Return with expression
820:23        'i' ( global 2-component vector of float)
830:27  Function Definition: @main( ( temp 4-component vector of float)
840:27    Function Parameters:
850:?     Sequence
860:29      Function Call: type1::setmem(vf4; ( temp void)
870:29        'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
880:?         Constant:
890:?           2.000000
900:?           2.000000
910:?           2.000000
920:?           2.000000
930:30      Function Call: type1::seti(i1; ( temp void)
940:30        'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
950:30        Constant:
960:30          17 (const int)
970:31      Sequence
980:31        move second child to first child ( temp 4-component vector of float)
990:31          'f4' ( temp 4-component vector of float)
1000:?           Constant:
1010:?             1.000000
1020:?             1.000000
1030:?             1.000000
1040:?             1.000000
1050:32      add second child into first child ( temp 4-component vector of float)
1060:32        'f4' ( temp 4-component vector of float)
1070:32        Function Call: type1::memFun(vf4; ( temp 4-component vector of float)
1080:32          'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
1090:?           Constant:
1100:?             5.000000
1110:?             5.000000
1120:?             5.000000
1130:?             5.000000
1140:33      add second child into first child ( temp 4-component vector of float)
1150:33        'f4' ( temp 4-component vector of float)
1160:33        Convert int to float ( temp float)
1170:33          Function Call: type1::memFun(i1; ( temp int)
1180:33            'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
1190:33            Constant:
1200:33              7 (const int)
1210:34      Branch: Return with expression
1220:34        'f4' ( temp 4-component vector of float)
1230:27  Function Definition: main( ( temp void)
1240:27    Function Parameters:
1250:?     Sequence
1260:27      move second child to first child ( temp 4-component vector of float)
1270:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1280:27        Function Call: @main( ( temp 4-component vector of float)
1290:?   Linker Objects
1300:?     'i' ( global 2-component vector of float)
1310:?     'j' ( global 2-component vector of float)
1320:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
133
134
135Linked fragment stage:
136
137
138Shader version: 500
139gl_FragCoord origin is upper left
1400:? Sequence
1410:1  Sequence
1420:1    move second child to first child ( temp 2-component vector of float)
1430:1      'i' ( global 2-component vector of float)
1440:?       Constant:
1450:?         1.000000
1460:?         2.000000
1470:5  Function Definition: type1::setmem(vf4; ( temp void)
1480:5    Function Parameters:
1490:5      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
1500:5      'm' ( in 4-component vector of float)
1510:?     Sequence
1520:5      move second child to first child ( temp 4-component vector of float)
1530:5        memVar: direct index for structure ( temp 4-component vector of float)
1540:5          '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
1550:5          Constant:
1560:5            0 (const uint)
1570:5        'm' ( in 4-component vector of float)
1580:6  Function Definition: type1::seti(i1; ( temp void)
1590:6    Function Parameters:
1600:6      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
1610:6      'si' ( in int)
1620:?     Sequence
1630:6      move second child to first child ( temp int)
1640:6        i: direct index for structure ( temp int)
1650:6          '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
1660:6          Constant:
1670:6            1 (const uint)
1680:6        'si' ( in int)
1690:9  Function Definition: type1::memFun(vf4; ( temp 4-component vector of float)
1700:9    Function Parameters:
1710:9      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
1720:9      'a' ( in 4-component vector of float)
1730:?     Sequence
1740:10      Branch: Return with expression
1750:10        add ( temp 4-component vector of float)
1760:10          vector-scale ( temp 4-component vector of float)
1770:10            Convert int to float ( temp float)
1780:10              i: direct index for structure ( temp int)
1790:10                '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
1800:10                Constant:
1810:10                  1 (const uint)
1820:10            'a' ( in 4-component vector of float)
1830:10          memVar: direct index for structure ( temp 4-component vector of float)
1840:10            '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
1850:10            Constant:
1860:10              0 (const uint)
1870:13  Function Definition: type1::memFun(i1; ( temp int)
1880:13    Function Parameters:
1890:13      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
1900:13      'a' ( in int)
1910:?     Sequence
1920:14      Branch: Return with expression
1930:14        Convert float to int ( temp int)
1940:14          subtract ( temp float)
1950:14            Convert int to float ( temp float)
1960:14              add ( temp int)
1970:14                i: direct index for structure ( temp int)
1980:14                  '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
1990:14                  Constant:
2000:14                    1 (const uint)
2010:14                'a' ( in int)
2020:14            direct index ( temp float)
2030:14              memVar: direct index for structure ( temp 4-component vector of float)
2040:14                '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
2050:14                Constant:
2060:14                  0 (const uint)
2070:14              Constant:
2080:14                2 (const int)
2090:19  Sequence
2100:19    move second child to first child ( temp 2-component vector of float)
2110:19      'j' ( global 2-component vector of float)
2120:19      'i' ( global 2-component vector of float)
2130:23  Function Definition: type2::memFun( ( temp 2-component vector of float)
2140:23    Function Parameters:
2150:23      '@this' ( temp structure{})
2160:?     Sequence
2170:23      Branch: Return with expression
2180:23        'i' ( global 2-component vector of float)
2190:27  Function Definition: @main( ( temp 4-component vector of float)
2200:27    Function Parameters:
2210:?     Sequence
2220:29      Function Call: type1::setmem(vf4; ( temp void)
2230:29        'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
2240:?         Constant:
2250:?           2.000000
2260:?           2.000000
2270:?           2.000000
2280:?           2.000000
2290:30      Function Call: type1::seti(i1; ( temp void)
2300:30        'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
2310:30        Constant:
2320:30          17 (const int)
2330:31      Sequence
2340:31        move second child to first child ( temp 4-component vector of float)
2350:31          'f4' ( temp 4-component vector of float)
2360:?           Constant:
2370:?             1.000000
2380:?             1.000000
2390:?             1.000000
2400:?             1.000000
2410:32      add second child into first child ( temp 4-component vector of float)
2420:32        'f4' ( temp 4-component vector of float)
2430:32        Function Call: type1::memFun(vf4; ( temp 4-component vector of float)
2440:32          'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
2450:?           Constant:
2460:?             5.000000
2470:?             5.000000
2480:?             5.000000
2490:?             5.000000
2500:33      add second child into first child ( temp 4-component vector of float)
2510:33        'f4' ( temp 4-component vector of float)
2520:33        Convert int to float ( temp float)
2530:33          Function Call: type1::memFun(i1; ( temp int)
2540:33            'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
2550:33            Constant:
2560:33              7 (const int)
2570:34      Branch: Return with expression
2580:34        'f4' ( temp 4-component vector of float)
2590:27  Function Definition: main( ( temp void)
2600:27    Function Parameters:
2610:?     Sequence
2620:27      move second child to first child ( temp 4-component vector of float)
2630:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
2640:27        Function Call: @main( ( temp 4-component vector of float)
2650:?   Linker Objects
2660:?     'i' ( global 2-component vector of float)
2670:?     'j' ( global 2-component vector of float)
2680:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
269
270// Module Version 10000
271// Generated by (magic number): 8000a
272// Id's are bound by 111
273
274                              Capability Shader
275               1:             ExtInstImport  "GLSL.std.450"
276                              MemoryModel Logical GLSL450
277                              EntryPoint Fragment 4  "main" 109
278                              ExecutionMode 4 OriginUpperLeft
279                              Source HLSL 500
280                              Name 4  "main"
281                              Name 9  "type1"
282                              MemberName 9(type1) 0  "memVar"
283                              MemberName 9(type1) 1  "i"
284                              Name 15  "type1::setmem(vf4;"
285                              Name 13  "@this"
286                              Name 14  "m"
287                              Name 21  "type1::seti(i1;"
288                              Name 19  "@this"
289                              Name 20  "si"
290                              Name 26  "type1::memFun(vf4;"
291                              Name 24  "@this"
292                              Name 25  "a"
293                              Name 31  "type1::memFun(i1;"
294                              Name 29  "@this"
295                              Name 30  "a"
296                              Name 33  "type2"
297                              Name 38  "type2::memFun("
298                              Name 37  "@this"
299                              Name 41  "@main("
300                              Name 44  "i"
301                              Name 48  "j"
302                              Name 83  "test"
303                              Name 85  "param"
304                              Name 88  "param"
305                              Name 90  "f4"
306                              Name 94  "param"
307                              Name 99  "param"
308                              Name 109  "@entryPointOutput"
309                              Decorate 109(@entryPointOutput) Location 0
310               2:             TypeVoid
311               3:             TypeFunction 2
312               6:             TypeFloat 32
313               7:             TypeVector 6(float) 4
314               8:             TypeInt 32 1
315        9(type1):             TypeStruct 7(fvec4) 8(int)
316              10:             TypePointer Function 9(type1)
317              11:             TypePointer Function 7(fvec4)
318              12:             TypeFunction 2 10(ptr) 11(ptr)
319              17:             TypePointer Function 8(int)
320              18:             TypeFunction 2 10(ptr) 17(ptr)
321              23:             TypeFunction 7(fvec4) 10(ptr) 11(ptr)
322              28:             TypeFunction 8(int) 10(ptr) 17(ptr)
323       33(type2):             TypeStruct
324              34:             TypePointer Function 33(type2)
325              35:             TypeVector 6(float) 2
326              36:             TypeFunction 35(fvec2) 34(ptr)
327              40:             TypeFunction 7(fvec4)
328              43:             TypePointer Private 35(fvec2)
329           44(i):     43(ptr) Variable Private
330              45:    6(float) Constant 1065353216
331              46:    6(float) Constant 1073741824
332              47:   35(fvec2) ConstantComposite 45 46
333           48(j):     43(ptr) Variable Private
334              50:      8(int) Constant 0
335              53:      8(int) Constant 1
336              71:             TypeInt 32 0
337              72:     71(int) Constant 2
338              73:             TypePointer Function 6(float)
339              84:    7(fvec4) ConstantComposite 46 46 46 46
340              87:      8(int) Constant 17
341              91:    7(fvec4) ConstantComposite 45 45 45 45
342              92:    6(float) Constant 1084227584
343              93:    7(fvec4) ConstantComposite 92 92 92 92
344              98:      8(int) Constant 7
345             108:             TypePointer Output 7(fvec4)
346109(@entryPointOutput):    108(ptr) Variable Output
347         4(main):           2 Function None 3
348               5:             Label
349                              Store 44(i) 47
350              49:   35(fvec2) Load 44(i)
351                              Store 48(j) 49
352             110:    7(fvec4) FunctionCall 41(@main()
353                              Store 109(@entryPointOutput) 110
354                              Return
355                              FunctionEnd
35615(type1::setmem(vf4;):           2 Function None 12
357       13(@this):     10(ptr) FunctionParameter
358           14(m):     11(ptr) FunctionParameter
359              16:             Label
360              51:    7(fvec4) Load 14(m)
361              52:     11(ptr) AccessChain 13(@this) 50
362                              Store 52 51
363                              Return
364                              FunctionEnd
36521(type1::seti(i1;):           2 Function None 18
366       19(@this):     10(ptr) FunctionParameter
367          20(si):     17(ptr) FunctionParameter
368              22:             Label
369              54:      8(int) Load 20(si)
370              55:     17(ptr) AccessChain 19(@this) 53
371                              Store 55 54
372                              Return
373                              FunctionEnd
37426(type1::memFun(vf4;):    7(fvec4) Function None 23
375       24(@this):     10(ptr) FunctionParameter
376           25(a):     11(ptr) FunctionParameter
377              27:             Label
378              56:     17(ptr) AccessChain 24(@this) 53
379              57:      8(int) Load 56
380              58:    6(float) ConvertSToF 57
381              59:    7(fvec4) Load 25(a)
382              60:    7(fvec4) VectorTimesScalar 59 58
383              61:     11(ptr) AccessChain 24(@this) 50
384              62:    7(fvec4) Load 61
385              63:    7(fvec4) FAdd 60 62
386                              ReturnValue 63
387                              FunctionEnd
38831(type1::memFun(i1;):      8(int) Function None 28
389       29(@this):     10(ptr) FunctionParameter
390           30(a):     17(ptr) FunctionParameter
391              32:             Label
392              66:     17(ptr) AccessChain 29(@this) 53
393              67:      8(int) Load 66
394              68:      8(int) Load 30(a)
395              69:      8(int) IAdd 67 68
396              70:    6(float) ConvertSToF 69
397              74:     73(ptr) AccessChain 29(@this) 50 72
398              75:    6(float) Load 74
399              76:    6(float) FSub 70 75
400              77:      8(int) ConvertFToS 76
401                              ReturnValue 77
402                              FunctionEnd
40338(type2::memFun():   35(fvec2) Function None 36
404       37(@this):     34(ptr) FunctionParameter
405              39:             Label
406              80:   35(fvec2) Load 44(i)
407                              ReturnValue 80
408                              FunctionEnd
409      41(@main():    7(fvec4) Function None 40
410              42:             Label
411        83(test):     10(ptr) Variable Function
412       85(param):     11(ptr) Variable Function
413       88(param):     17(ptr) Variable Function
414          90(f4):     11(ptr) Variable Function
415       94(param):     11(ptr) Variable Function
416       99(param):     17(ptr) Variable Function
417                              Store 85(param) 84
418              86:           2 FunctionCall 15(type1::setmem(vf4;) 83(test) 85(param)
419                              Store 88(param) 87
420              89:           2 FunctionCall 21(type1::seti(i1;) 83(test) 88(param)
421                              Store 90(f4) 91
422                              Store 94(param) 93
423              95:    7(fvec4) FunctionCall 26(type1::memFun(vf4;) 83(test) 94(param)
424              96:    7(fvec4) Load 90(f4)
425              97:    7(fvec4) FAdd 96 95
426                              Store 90(f4) 97
427                              Store 99(param) 98
428             100:      8(int) FunctionCall 31(type1::memFun(i1;) 83(test) 99(param)
429             101:    6(float) ConvertSToF 100
430             102:    7(fvec4) Load 90(f4)
431             103:    7(fvec4) CompositeConstruct 101 101 101 101
432             104:    7(fvec4) FAdd 102 103
433                              Store 90(f4) 104
434             105:    7(fvec4) Load 90(f4)
435                              ReturnValue 105
436                              FunctionEnd
437