1hlsl.this.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      'var' ( global 2-component vector of float)
80:?       Constant:
90:?         1.000000
100:?         2.000000
110:6  Function Definition: type1::memFun1(vi3; ( temp int)
120:6    Function Parameters:
130:6      '@this' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
140:6      'var' ( in 3-component vector of int)
150:?     Sequence
160:7      Branch: Return with expression
170:7        add ( temp int)
180:7          add ( temp int)
190:7            direct index ( temp int)
200:7              'var' ( in 3-component vector of int)
210:7              Constant:
220:7                2 (const int)
230:7            var: direct index for structure ( temp int)
240:7              '@this' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
250:7              Constant:
260:7                1 (const int)
270:7          var2: direct index for structure ( temp int)
280:7            '@this' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
290:7            Constant:
300:7              2 (const uint)
310:10  Function Definition: type1::memFun2(i1; ( temp int)
320:10    Function Parameters:
330:10      '@this' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
340:10      'a' ( in int)
350:?     Sequence
360:11      Sequence
370:11        move second child to first child ( temp 3-component vector of int)
380:11          'var' ( temp 3-component vector of int)
390:?           Constant:
400:?             1 (const int)
410:?             2 (const int)
420:?             3 (const int)
430:12      Branch: Return with expression
440:12        add ( temp int)
450:12          add ( temp int)
460:12            direct index ( temp int)
470:12              'var' ( temp 3-component vector of int)
480:12              Constant:
490:12                2 (const int)
500:12            Convert float to int ( temp int)
510:12              direct index ( temp float)
520:12                bar: direct index for structure ( temp 2-component vector of float)
530:12                  '@this' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
540:12                  Constant:
550:12                    0 (const uint)
560:12                Constant:
570:12                  1 (const int)
580:12          var2: direct index for structure ( temp int)
590:12            '@this' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
600:12            Constant:
610:12              2 (const int)
620:20  Function Definition: @main( ( temp 4-component vector of float)
630:20    Function Parameters:
640:?     Sequence
650:22      move second child to first child ( temp 2-component vector of float)
660:22        bar: direct index for structure ( temp 2-component vector of float)
670:22          'T' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
680:22          Constant:
690:22            0 (const int)
700:22        'var' ( global 2-component vector of float)
710:23      move second child to first child ( temp int)
720:23        var: direct index for structure ( temp int)
730:23          'T' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
740:23          Constant:
750:23            1 (const int)
760:23        Constant:
770:23          7 (const int)
780:24      move second child to first child ( temp int)
790:24        var2: direct index for structure ( temp int)
800:24          'T' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
810:24          Constant:
820:24            2 (const int)
830:24        Constant:
840:24          9 (const int)
850:25      Sequence
860:25        move second child to first child ( temp int)
870:25          'i' ( temp int)
880:25          Function Call: type1::memFun1(vi3; ( temp int)
890:25            'T' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
900:?             Constant:
910:?               10 (const int)
920:?               11 (const int)
930:?               12 (const int)
940:26      add second child into first child ( temp int)
950:26        'i' ( temp int)
960:26        Function Call: type1::memFun2(i1; ( temp int)
970:26          'T' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
980:26          Constant:
990:26            17 (const int)
1000:28      Branch: Return with expression
1010:?         Construct vec4 ( temp 4-component vector of float)
1020:28          Convert int to float ( temp float)
1030:28            'i' ( temp int)
1040:28          Convert int to float ( temp float)
1050:28            'i' ( temp int)
1060:28          Convert int to float ( temp float)
1070:28            'i' ( temp int)
1080:28          Convert int to float ( temp float)
1090:28            'i' ( temp int)
1100:20  Function Definition: main( ( temp void)
1110:20    Function Parameters:
1120:?     Sequence
1130:20      move second child to first child ( temp 4-component vector of float)
1140:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1150:20        Function Call: @main( ( temp 4-component vector of float)
1160:?   Linker Objects
1170:?     'var' ( global 2-component vector of float)
1180:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
119
120
121Linked fragment stage:
122
123
124Shader version: 500
125gl_FragCoord origin is upper left
1260:? Sequence
1270:1  Sequence
1280:1    move second child to first child ( temp 2-component vector of float)
1290:1      'var' ( global 2-component vector of float)
1300:?       Constant:
1310:?         1.000000
1320:?         2.000000
1330:6  Function Definition: type1::memFun1(vi3; ( temp int)
1340:6    Function Parameters:
1350:6      '@this' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
1360:6      'var' ( in 3-component vector of int)
1370:?     Sequence
1380:7      Branch: Return with expression
1390:7        add ( temp int)
1400:7          add ( temp int)
1410:7            direct index ( temp int)
1420:7              'var' ( in 3-component vector of int)
1430:7              Constant:
1440:7                2 (const int)
1450:7            var: direct index for structure ( temp int)
1460:7              '@this' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
1470:7              Constant:
1480:7                1 (const int)
1490:7          var2: direct index for structure ( temp int)
1500:7            '@this' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
1510:7            Constant:
1520:7              2 (const uint)
1530:10  Function Definition: type1::memFun2(i1; ( temp int)
1540:10    Function Parameters:
1550:10      '@this' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
1560:10      'a' ( in int)
1570:?     Sequence
1580:11      Sequence
1590:11        move second child to first child ( temp 3-component vector of int)
1600:11          'var' ( temp 3-component vector of int)
1610:?           Constant:
1620:?             1 (const int)
1630:?             2 (const int)
1640:?             3 (const int)
1650:12      Branch: Return with expression
1660:12        add ( temp int)
1670:12          add ( temp int)
1680:12            direct index ( temp int)
1690:12              'var' ( temp 3-component vector of int)
1700:12              Constant:
1710:12                2 (const int)
1720:12            Convert float to int ( temp int)
1730:12              direct index ( temp float)
1740:12                bar: direct index for structure ( temp 2-component vector of float)
1750:12                  '@this' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
1760:12                  Constant:
1770:12                    0 (const uint)
1780:12                Constant:
1790:12                  1 (const int)
1800:12          var2: direct index for structure ( temp int)
1810:12            '@this' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
1820:12            Constant:
1830:12              2 (const int)
1840:20  Function Definition: @main( ( temp 4-component vector of float)
1850:20    Function Parameters:
1860:?     Sequence
1870:22      move second child to first child ( temp 2-component vector of float)
1880:22        bar: direct index for structure ( temp 2-component vector of float)
1890:22          'T' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
1900:22          Constant:
1910:22            0 (const int)
1920:22        'var' ( global 2-component vector of float)
1930:23      move second child to first child ( temp int)
1940:23        var: direct index for structure ( temp int)
1950:23          'T' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
1960:23          Constant:
1970:23            1 (const int)
1980:23        Constant:
1990:23          7 (const int)
2000:24      move second child to first child ( temp int)
2010:24        var2: direct index for structure ( temp int)
2020:24          'T' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
2030:24          Constant:
2040:24            2 (const int)
2050:24        Constant:
2060:24          9 (const int)
2070:25      Sequence
2080:25        move second child to first child ( temp int)
2090:25          'i' ( temp int)
2100:25          Function Call: type1::memFun1(vi3; ( temp int)
2110:25            'T' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
2120:?             Constant:
2130:?               10 (const int)
2140:?               11 (const int)
2150:?               12 (const int)
2160:26      add second child into first child ( temp int)
2170:26        'i' ( temp int)
2180:26        Function Call: type1::memFun2(i1; ( temp int)
2190:26          'T' ( temp structure{ temp 2-component vector of float bar,  temp int var,  temp int var2})
2200:26          Constant:
2210:26            17 (const int)
2220:28      Branch: Return with expression
2230:?         Construct vec4 ( temp 4-component vector of float)
2240:28          Convert int to float ( temp float)
2250:28            'i' ( temp int)
2260:28          Convert int to float ( temp float)
2270:28            'i' ( temp int)
2280:28          Convert int to float ( temp float)
2290:28            'i' ( temp int)
2300:28          Convert int to float ( temp float)
2310:28            'i' ( temp int)
2320:20  Function Definition: main( ( temp void)
2330:20    Function Parameters:
2340:?     Sequence
2350:20      move second child to first child ( temp 4-component vector of float)
2360:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
2370:20        Function Call: @main( ( temp 4-component vector of float)
2380:?   Linker Objects
2390:?     'var' ( global 2-component vector of float)
2400:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
241
242// Module Version 10000
243// Generated by (magic number): 80007
244// Id's are bound by 98
245
246                              Capability Shader
247               1:             ExtInstImport  "GLSL.std.450"
248                              MemoryModel Logical GLSL450
249                              EntryPoint Fragment 4  "main" 96
250                              ExecutionMode 4 OriginUpperLeft
251                              Source HLSL 500
252                              Name 4  "main"
253                              Name 9  "type1"
254                              MemberName 9(type1) 0  "bar"
255                              MemberName 9(type1) 1  "var"
256                              MemberName 9(type1) 2  "var2"
257                              Name 16  "type1::memFun1(vi3;"
258                              Name 14  "@this"
259                              Name 15  "var"
260                              Name 22  "type1::memFun2(i1;"
261                              Name 20  "@this"
262                              Name 21  "a"
263                              Name 26  "@main("
264                              Name 29  "var"
265                              Name 47  "var"
266                              Name 64  "T"
267                              Name 72  "i"
268                              Name 77  "param"
269                              Name 80  "param"
270                              Name 96  "@entryPointOutput"
271                              Decorate 96(@entryPointOutput) Location 0
272               2:             TypeVoid
273               3:             TypeFunction 2
274               6:             TypeFloat 32
275               7:             TypeVector 6(float) 2
276               8:             TypeInt 32 1
277        9(type1):             TypeStruct 7(fvec2) 8(int) 8(int)
278              10:             TypePointer Function 9(type1)
279              11:             TypeVector 8(int) 3
280              12:             TypePointer Function 11(ivec3)
281              13:             TypeFunction 8(int) 10(ptr) 12(ptr)
282              18:             TypePointer Function 8(int)
283              19:             TypeFunction 8(int) 10(ptr) 18(ptr)
284              24:             TypeVector 6(float) 4
285              25:             TypeFunction 24(fvec4)
286              28:             TypePointer Private 7(fvec2)
287         29(var):     28(ptr) Variable Private
288              30:    6(float) Constant 1065353216
289              31:    6(float) Constant 1073741824
290              32:    7(fvec2) ConstantComposite 30 31
291              33:             TypeInt 32 0
292              34:     33(int) Constant 2
293              37:      8(int) Constant 1
294              41:      8(int) Constant 2
295              48:      8(int) Constant 3
296              49:   11(ivec3) ConstantComposite 37 41 48
297              52:      8(int) Constant 0
298              53:     33(int) Constant 1
299              54:             TypePointer Function 6(float)
300              66:             TypePointer Function 7(fvec2)
301              68:      8(int) Constant 7
302              70:      8(int) Constant 9
303              73:      8(int) Constant 10
304              74:      8(int) Constant 11
305              75:      8(int) Constant 12
306              76:   11(ivec3) ConstantComposite 73 74 75
307              79:      8(int) Constant 17
308              95:             TypePointer Output 24(fvec4)
30996(@entryPointOutput):     95(ptr) Variable Output
310         4(main):           2 Function None 3
311               5:             Label
312                              Store 29(var) 32
313              97:   24(fvec4) FunctionCall 26(@main()
314                              Store 96(@entryPointOutput) 97
315                              Return
316                              FunctionEnd
31716(type1::memFun1(vi3;):      8(int) Function None 13
318       14(@this):     10(ptr) FunctionParameter
319         15(var):     12(ptr) FunctionParameter
320              17:             Label
321              35:     18(ptr) AccessChain 15(var) 34
322              36:      8(int) Load 35
323              38:     18(ptr) AccessChain 14(@this) 37
324              39:      8(int) Load 38
325              40:      8(int) IAdd 36 39
326              42:     18(ptr) AccessChain 14(@this) 41
327              43:      8(int) Load 42
328              44:      8(int) IAdd 40 43
329                              ReturnValue 44
330                              FunctionEnd
33122(type1::memFun2(i1;):      8(int) Function None 19
332       20(@this):     10(ptr) FunctionParameter
333           21(a):     18(ptr) FunctionParameter
334              23:             Label
335         47(var):     12(ptr) Variable Function
336                              Store 47(var) 49
337              50:     18(ptr) AccessChain 47(var) 34
338              51:      8(int) Load 50
339              55:     54(ptr) AccessChain 20(@this) 52 53
340              56:    6(float) Load 55
341              57:      8(int) ConvertFToS 56
342              58:      8(int) IAdd 51 57
343              59:     18(ptr) AccessChain 20(@this) 41
344              60:      8(int) Load 59
345              61:      8(int) IAdd 58 60
346                              ReturnValue 61
347                              FunctionEnd
348      26(@main():   24(fvec4) Function None 25
349              27:             Label
350           64(T):     10(ptr) Variable Function
351           72(i):     18(ptr) Variable Function
352       77(param):     12(ptr) Variable Function
353       80(param):     18(ptr) Variable Function
354              65:    7(fvec2) Load 29(var)
355              67:     66(ptr) AccessChain 64(T) 52
356                              Store 67 65
357              69:     18(ptr) AccessChain 64(T) 37
358                              Store 69 68
359              71:     18(ptr) AccessChain 64(T) 41
360                              Store 71 70
361                              Store 77(param) 76
362              78:      8(int) FunctionCall 16(type1::memFun1(vi3;) 64(T) 77(param)
363                              Store 72(i) 78
364                              Store 80(param) 79
365              81:      8(int) FunctionCall 22(type1::memFun2(i1;) 64(T) 80(param)
366              82:      8(int) Load 72(i)
367              83:      8(int) IAdd 82 81
368                              Store 72(i) 83
369              84:      8(int) Load 72(i)
370              85:    6(float) ConvertSToF 84
371              86:      8(int) Load 72(i)
372              87:    6(float) ConvertSToF 86
373              88:      8(int) Load 72(i)
374              89:    6(float) ConvertSToF 88
375              90:      8(int) Load 72(i)
376              91:    6(float) ConvertSToF 90
377              92:   24(fvec4) CompositeConstruct 85 87 89 91
378                              ReturnValue 92
379                              FunctionEnd
380