1hlsl.matrixindex.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:10  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
60:10    Function Parameters:
70:?     Sequence
80:22      Sequence
90:22        move second child to first child ( temp float)
100:22          'e1_00' ( temp float)
110:22          Constant:
120:22            10.000000
130:23      Sequence
140:23        move second child to first child ( temp float)
150:23          'e1_01' ( temp float)
160:23          Constant:
170:23            11.000000
180:24      Sequence
190:24        move second child to first child ( temp float)
200:24          'e1_10' ( temp float)
210:24          Constant:
220:24            12.000000
230:25      Sequence
240:25        move second child to first child ( temp float)
250:25          'e1_11' ( temp float)
260:25          Constant:
270:25            13.000000
280:26      Sequence
290:26        move second child to first child ( temp float)
300:26          'e1_20' ( temp float)
310:26          Constant:
320:26            14.000000
330:27      Sequence
340:27        move second child to first child ( temp float)
350:27          'e1_21' ( temp float)
360:27          Constant:
370:27            15.000000
380:29      Sequence
390:29        move second child to first child ( temp float)
400:29          'e2_00' ( temp float)
410:29          Constant:
420:29            20.000000
430:30      Sequence
440:30        move second child to first child ( temp float)
450:30          'e2_01' ( temp float)
460:30          Constant:
470:30            21.000000
480:31      Sequence
490:31        move second child to first child ( temp float)
500:31          'e2_10' ( temp float)
510:31          Constant:
520:31            22.000000
530:32      Sequence
540:32        move second child to first child ( temp float)
550:32          'e2_11' ( temp float)
560:32          Constant:
570:32            23.000000
580:33      Sequence
590:33        move second child to first child ( temp float)
600:33          'e2_20' ( temp float)
610:33          Constant:
620:33            24.000000
630:34      Sequence
640:34        move second child to first child ( temp float)
650:34          'e2_21' ( temp float)
660:34          Constant:
670:34            25.000000
680:39      Sequence
690:39        move second child to first child ( temp 2-component vector of float)
700:39          'r0a' ( temp 2-component vector of float)
710:39          Constant:
720:39            10.000000
730:39            11.000000
740:40      Sequence
750:40        move second child to first child ( temp 2-component vector of float)
760:40          'r1a' ( temp 2-component vector of float)
770:40          Constant:
780:40            12.000000
790:40            13.000000
800:41      Sequence
810:41        move second child to first child ( temp 2-component vector of float)
820:41          'r2a' ( temp 2-component vector of float)
830:41          Constant:
840:41            14.000000
850:41            15.000000
860:43      Sequence
870:43        move second child to first child ( temp 2-component vector of float)
880:43          'r0b' ( temp 2-component vector of float)
890:43          indirect index ( temp 2-component vector of float)
900:43            Constant:
910:43              20.000000
920:43              21.000000
930:43              22.000000
940:43              23.000000
950:43              24.000000
960:43              25.000000
970:43            idx: direct index for structure ( uniform int)
980:43              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
990:43              Constant:
1000:43                0 (const uint)
1010:44      Sequence
1020:44        move second child to first child ( temp 2-component vector of float)
1030:44          'r0c' ( temp 2-component vector of float)
1040:44          indirect index ( temp 2-component vector of float)
1050:44            um: direct index for structure ( uniform 3X2 matrix of float)
1060:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
1070:44              Constant:
1080:44                1 (const uint)
1090:44            idx: direct index for structure ( uniform int)
1100:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
1110:44              Constant:
1120:44                0 (const uint)
1130:47      move second child to first child ( temp 4-component vector of float)
1140:47        Color: direct index for structure ( temp 4-component vector of float)
1150:47          'psout' ( temp structure{ temp 4-component vector of float Color})
1160:47          Constant:
1170:47            0 (const int)
1180:47        Construct vec4 ( temp 4-component vector of float)
1190:47          'e2_11' ( temp float)
1200:48      Branch: Return with expression
1210:48        'psout' ( temp structure{ temp 4-component vector of float Color})
1220:10  Function Definition: main( ( temp void)
1230:10    Function Parameters:
1240:?     Sequence
1250:10      Sequence
1260:10        move second child to first child ( temp 4-component vector of float)
1270:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
1280:10          Color: direct index for structure ( temp 4-component vector of float)
1290:10            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
1300:10            Constant:
1310:10              0 (const int)
1320:?   Linker Objects
1330:?     'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
1340:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
135
136
137Linked fragment stage:
138
139
140Shader version: 500
141gl_FragCoord origin is upper left
1420:? Sequence
1430:10  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
1440:10    Function Parameters:
1450:?     Sequence
1460:22      Sequence
1470:22        move second child to first child ( temp float)
1480:22          'e1_00' ( temp float)
1490:22          Constant:
1500:22            10.000000
1510:23      Sequence
1520:23        move second child to first child ( temp float)
1530:23          'e1_01' ( temp float)
1540:23          Constant:
1550:23            11.000000
1560:24      Sequence
1570:24        move second child to first child ( temp float)
1580:24          'e1_10' ( temp float)
1590:24          Constant:
1600:24            12.000000
1610:25      Sequence
1620:25        move second child to first child ( temp float)
1630:25          'e1_11' ( temp float)
1640:25          Constant:
1650:25            13.000000
1660:26      Sequence
1670:26        move second child to first child ( temp float)
1680:26          'e1_20' ( temp float)
1690:26          Constant:
1700:26            14.000000
1710:27      Sequence
1720:27        move second child to first child ( temp float)
1730:27          'e1_21' ( temp float)
1740:27          Constant:
1750:27            15.000000
1760:29      Sequence
1770:29        move second child to first child ( temp float)
1780:29          'e2_00' ( temp float)
1790:29          Constant:
1800:29            20.000000
1810:30      Sequence
1820:30        move second child to first child ( temp float)
1830:30          'e2_01' ( temp float)
1840:30          Constant:
1850:30            21.000000
1860:31      Sequence
1870:31        move second child to first child ( temp float)
1880:31          'e2_10' ( temp float)
1890:31          Constant:
1900:31            22.000000
1910:32      Sequence
1920:32        move second child to first child ( temp float)
1930:32          'e2_11' ( temp float)
1940:32          Constant:
1950:32            23.000000
1960:33      Sequence
1970:33        move second child to first child ( temp float)
1980:33          'e2_20' ( temp float)
1990:33          Constant:
2000:33            24.000000
2010:34      Sequence
2020:34        move second child to first child ( temp float)
2030:34          'e2_21' ( temp float)
2040:34          Constant:
2050:34            25.000000
2060:39      Sequence
2070:39        move second child to first child ( temp 2-component vector of float)
2080:39          'r0a' ( temp 2-component vector of float)
2090:39          Constant:
2100:39            10.000000
2110:39            11.000000
2120:40      Sequence
2130:40        move second child to first child ( temp 2-component vector of float)
2140:40          'r1a' ( temp 2-component vector of float)
2150:40          Constant:
2160:40            12.000000
2170:40            13.000000
2180:41      Sequence
2190:41        move second child to first child ( temp 2-component vector of float)
2200:41          'r2a' ( temp 2-component vector of float)
2210:41          Constant:
2220:41            14.000000
2230:41            15.000000
2240:43      Sequence
2250:43        move second child to first child ( temp 2-component vector of float)
2260:43          'r0b' ( temp 2-component vector of float)
2270:43          indirect index ( temp 2-component vector of float)
2280:43            Constant:
2290:43              20.000000
2300:43              21.000000
2310:43              22.000000
2320:43              23.000000
2330:43              24.000000
2340:43              25.000000
2350:43            idx: direct index for structure ( uniform int)
2360:43              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
2370:43              Constant:
2380:43                0 (const uint)
2390:44      Sequence
2400:44        move second child to first child ( temp 2-component vector of float)
2410:44          'r0c' ( temp 2-component vector of float)
2420:44          indirect index ( temp 2-component vector of float)
2430:44            um: direct index for structure ( uniform 3X2 matrix of float)
2440:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
2450:44              Constant:
2460:44                1 (const uint)
2470:44            idx: direct index for structure ( uniform int)
2480:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
2490:44              Constant:
2500:44                0 (const uint)
2510:47      move second child to first child ( temp 4-component vector of float)
2520:47        Color: direct index for structure ( temp 4-component vector of float)
2530:47          'psout' ( temp structure{ temp 4-component vector of float Color})
2540:47          Constant:
2550:47            0 (const int)
2560:47        Construct vec4 ( temp 4-component vector of float)
2570:47          'e2_11' ( temp float)
2580:48      Branch: Return with expression
2590:48        'psout' ( temp structure{ temp 4-component vector of float Color})
2600:10  Function Definition: main( ( temp void)
2610:10    Function Parameters:
2620:?     Sequence
2630:10      Sequence
2640:10        move second child to first child ( temp 4-component vector of float)
2650:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
2660:10          Color: direct index for structure ( temp 4-component vector of float)
2670:10            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
2680:10            Constant:
2690:10              0 (const int)
2700:?   Linker Objects
2710:?     'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
2720:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
273
274// Module Version 10000
275// Generated by (magic number): 80007
276// Id's are bound by 83
277
278                              Capability Shader
279               1:             ExtInstImport  "GLSL.std.450"
280                              MemoryModel Logical GLSL450
281                              EntryPoint Fragment 4  "main" 80
282                              ExecutionMode 4 OriginUpperLeft
283                              Source HLSL 500
284                              Name 4  "main"
285                              Name 8  "PS_OUTPUT"
286                              MemberName 8(PS_OUTPUT) 0  "Color"
287                              Name 10  "@main("
288                              Name 13  "e1_00"
289                              Name 15  "e1_01"
290                              Name 17  "e1_10"
291                              Name 19  "e1_11"
292                              Name 21  "e1_20"
293                              Name 23  "e1_21"
294                              Name 25  "e2_00"
295                              Name 27  "e2_01"
296                              Name 29  "e2_10"
297                              Name 31  "e2_11"
298                              Name 33  "e2_20"
299                              Name 35  "e2_21"
300                              Name 39  "r0a"
301                              Name 41  "r1a"
302                              Name 43  "r2a"
303                              Name 45  "r0b"
304                              Name 52  "$Global"
305                              MemberName 52($Global) 0  "idx"
306                              MemberName 52($Global) 1  "um"
307                              Name 54  ""
308                              Name 60  "indexable"
309                              Name 63  "r0c"
310                              Name 71  "psout"
311                              Name 80  "@entryPointOutput.Color"
312                              MemberDecorate 52($Global) 0 Offset 0
313                              MemberDecorate 52($Global) 1 RowMajor
314                              MemberDecorate 52($Global) 1 Offset 16
315                              MemberDecorate 52($Global) 1 MatrixStride 16
316                              Decorate 52($Global) Block
317                              Decorate 54 DescriptorSet 0
318                              Decorate 80(@entryPointOutput.Color) Location 0
319               2:             TypeVoid
320               3:             TypeFunction 2
321               6:             TypeFloat 32
322               7:             TypeVector 6(float) 4
323    8(PS_OUTPUT):             TypeStruct 7(fvec4)
324               9:             TypeFunction 8(PS_OUTPUT)
325              12:             TypePointer Function 6(float)
326              14:    6(float) Constant 1092616192
327              16:    6(float) Constant 1093664768
328              18:    6(float) Constant 1094713344
329              20:    6(float) Constant 1095761920
330              22:    6(float) Constant 1096810496
331              24:    6(float) Constant 1097859072
332              26:    6(float) Constant 1101004800
333              28:    6(float) Constant 1101529088
334              30:    6(float) Constant 1102053376
335              32:    6(float) Constant 1102577664
336              34:    6(float) Constant 1103101952
337              36:    6(float) Constant 1103626240
338              37:             TypeVector 6(float) 2
339              38:             TypePointer Function 37(fvec2)
340              40:   37(fvec2) ConstantComposite 14 16
341              42:   37(fvec2) ConstantComposite 18 20
342              44:   37(fvec2) ConstantComposite 22 24
343              46:             TypeMatrix 37(fvec2) 3
344              47:   37(fvec2) ConstantComposite 26 28
345              48:   37(fvec2) ConstantComposite 30 32
346              49:   37(fvec2) ConstantComposite 34 36
347              50:          46 ConstantComposite 47 48 49
348              51:             TypeInt 32 1
349     52($Global):             TypeStruct 51(int) 46
350              53:             TypePointer Uniform 52($Global)
351              54:     53(ptr) Variable Uniform
352              55:     51(int) Constant 0
353              56:             TypePointer Uniform 51(int)
354              59:             TypePointer Function 46
355              64:     51(int) Constant 1
356              67:             TypePointer Uniform 37(fvec2)
357              70:             TypePointer Function 8(PS_OUTPUT)
358              74:             TypePointer Function 7(fvec4)
359              79:             TypePointer Output 7(fvec4)
36080(@entryPointOutput.Color):     79(ptr) Variable Output
361         4(main):           2 Function None 3
362               5:             Label
363              81:8(PS_OUTPUT) FunctionCall 10(@main()
364              82:    7(fvec4) CompositeExtract 81 0
365                              Store 80(@entryPointOutput.Color) 82
366                              Return
367                              FunctionEnd
368      10(@main():8(PS_OUTPUT) Function None 9
369              11:             Label
370       13(e1_00):     12(ptr) Variable Function
371       15(e1_01):     12(ptr) Variable Function
372       17(e1_10):     12(ptr) Variable Function
373       19(e1_11):     12(ptr) Variable Function
374       21(e1_20):     12(ptr) Variable Function
375       23(e1_21):     12(ptr) Variable Function
376       25(e2_00):     12(ptr) Variable Function
377       27(e2_01):     12(ptr) Variable Function
378       29(e2_10):     12(ptr) Variable Function
379       31(e2_11):     12(ptr) Variable Function
380       33(e2_20):     12(ptr) Variable Function
381       35(e2_21):     12(ptr) Variable Function
382         39(r0a):     38(ptr) Variable Function
383         41(r1a):     38(ptr) Variable Function
384         43(r2a):     38(ptr) Variable Function
385         45(r0b):     38(ptr) Variable Function
386   60(indexable):     59(ptr) Variable Function
387         63(r0c):     38(ptr) Variable Function
388       71(psout):     70(ptr) Variable Function
389                              Store 13(e1_00) 14
390                              Store 15(e1_01) 16
391                              Store 17(e1_10) 18
392                              Store 19(e1_11) 20
393                              Store 21(e1_20) 22
394                              Store 23(e1_21) 24
395                              Store 25(e2_00) 26
396                              Store 27(e2_01) 28
397                              Store 29(e2_10) 30
398                              Store 31(e2_11) 32
399                              Store 33(e2_20) 34
400                              Store 35(e2_21) 36
401                              Store 39(r0a) 40
402                              Store 41(r1a) 42
403                              Store 43(r2a) 44
404              57:     56(ptr) AccessChain 54 55
405              58:     51(int) Load 57
406                              Store 60(indexable) 50
407              61:     38(ptr) AccessChain 60(indexable) 58
408              62:   37(fvec2) Load 61
409                              Store 45(r0b) 62
410              65:     56(ptr) AccessChain 54 55
411              66:     51(int) Load 65
412              68:     67(ptr) AccessChain 54 64 66
413              69:   37(fvec2) Load 68
414                              Store 63(r0c) 69
415              72:    6(float) Load 31(e2_11)
416              73:    7(fvec4) CompositeConstruct 72 72 72 72
417              75:     74(ptr) AccessChain 71(psout) 55
418                              Store 75 73
419              76:8(PS_OUTPUT) Load 71(psout)
420                              ReturnValue 76
421                              FunctionEnd
422