1hlsl.matpack-1.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:23  Function Definition: @main( ( temp 4-component vector of float)
60:23    Function Parameters:
70:?     Sequence
80:25      Branch: Return with expression
90:24        add ( temp 4-component vector of float)
100:24          vector-times-matrix ( temp 4-component vector of float)
110:24            vec1: direct index for structure ( temp 4-component vector of float)
120:24              g_MyBuffer1: direct index for structure (layout( row_major std140) uniform structure{layout( row_major) temp 4X4 matrix of float mat1, layout( column_major) temp 4X4 matrix of float mat2,  temp 4-component vector of float vec1,  temp float foo})
130:24                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{layout( row_major) temp 4X4 matrix of float mat1, layout( column_major) temp 4X4 matrix of float mat2,  temp 4-component vector of float vec1,  temp float foo} g_MyBuffer1, layout( row_major std140) uniform structure{layout( column_major) temp 4X4 matrix of float mat1,  temp 4-component vector of float vec1} g_MyBuffer2, layout( row_major std140) uniform 4X4 matrix of float mat1a})
140:24                Constant:
150:24                  0 (const uint)
160:24              Constant:
170:24                2 (const int)
180:24            mat1: direct index for structure (layout( row_major) temp 4X4 matrix of float)
190:24              g_MyBuffer1: direct index for structure (layout( row_major std140) uniform structure{layout( row_major) temp 4X4 matrix of float mat1, layout( column_major) temp 4X4 matrix of float mat2,  temp 4-component vector of float vec1,  temp float foo})
200:24                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{layout( row_major) temp 4X4 matrix of float mat1, layout( column_major) temp 4X4 matrix of float mat2,  temp 4-component vector of float vec1,  temp float foo} g_MyBuffer1, layout( row_major std140) uniform structure{layout( column_major) temp 4X4 matrix of float mat1,  temp 4-component vector of float vec1} g_MyBuffer2, layout( row_major std140) uniform 4X4 matrix of float mat1a})
210:24                Constant:
220:24                  0 (const uint)
230:24              Constant:
240:24                0 (const int)
250:25          vector-times-matrix ( temp 4-component vector of float)
260:25            vec1: direct index for structure ( temp 4-component vector of float)
270:25              g_MyBuffer2: direct index for structure (layout( row_major std140) uniform structure{layout( column_major) temp 4X4 matrix of float mat1,  temp 4-component vector of float vec1})
280:25                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{layout( row_major) temp 4X4 matrix of float mat1, layout( column_major) temp 4X4 matrix of float mat2,  temp 4-component vector of float vec1,  temp float foo} g_MyBuffer1, layout( row_major std140) uniform structure{layout( column_major) temp 4X4 matrix of float mat1,  temp 4-component vector of float vec1} g_MyBuffer2, layout( row_major std140) uniform 4X4 matrix of float mat1a})
290:25                Constant:
300:25                  1 (const uint)
310:25              Constant:
320:25                1 (const int)
330:25            mat1: direct index for structure (layout( column_major) temp 4X4 matrix of float)
340:25              g_MyBuffer2: direct index for structure (layout( row_major std140) uniform structure{layout( column_major) temp 4X4 matrix of float mat1,  temp 4-component vector of float vec1})
350:25                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{layout( row_major) temp 4X4 matrix of float mat1, layout( column_major) temp 4X4 matrix of float mat2,  temp 4-component vector of float vec1,  temp float foo} g_MyBuffer1, layout( row_major std140) uniform structure{layout( column_major) temp 4X4 matrix of float mat1,  temp 4-component vector of float vec1} g_MyBuffer2, layout( row_major std140) uniform 4X4 matrix of float mat1a})
360:25                Constant:
370:25                  1 (const uint)
380:25              Constant:
390:25                0 (const int)
400:23  Function Definition: main( ( temp void)
410:23    Function Parameters:
420:?     Sequence
430:23      move second child to first child ( temp 4-component vector of float)
440:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
450:23        Function Call: @main( ( temp 4-component vector of float)
460:?   Linker Objects
470:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{layout( row_major) temp 4X4 matrix of float mat1, layout( column_major) temp 4X4 matrix of float mat2,  temp 4-component vector of float vec1,  temp float foo} g_MyBuffer1, layout( row_major std140) uniform structure{layout( column_major) temp 4X4 matrix of float mat1,  temp 4-component vector of float vec1} g_MyBuffer2, layout( row_major std140) uniform 4X4 matrix of float mat1a})
480:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
49
50
51Linked fragment stage:
52
53
54Shader version: 500
55gl_FragCoord origin is upper left
560:? Sequence
570:23  Function Definition: @main( ( temp 4-component vector of float)
580:23    Function Parameters:
590:?     Sequence
600:25      Branch: Return with expression
610:24        add ( temp 4-component vector of float)
620:24          vector-times-matrix ( temp 4-component vector of float)
630:24            vec1: direct index for structure ( temp 4-component vector of float)
640:24              g_MyBuffer1: direct index for structure (layout( row_major std140) uniform structure{layout( row_major) temp 4X4 matrix of float mat1, layout( column_major) temp 4X4 matrix of float mat2,  temp 4-component vector of float vec1,  temp float foo})
650:24                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{layout( row_major) temp 4X4 matrix of float mat1, layout( column_major) temp 4X4 matrix of float mat2,  temp 4-component vector of float vec1,  temp float foo} g_MyBuffer1, layout( row_major std140) uniform structure{layout( column_major) temp 4X4 matrix of float mat1,  temp 4-component vector of float vec1} g_MyBuffer2, layout( row_major std140) uniform 4X4 matrix of float mat1a})
660:24                Constant:
670:24                  0 (const uint)
680:24              Constant:
690:24                2 (const int)
700:24            mat1: direct index for structure (layout( row_major) temp 4X4 matrix of float)
710:24              g_MyBuffer1: direct index for structure (layout( row_major std140) uniform structure{layout( row_major) temp 4X4 matrix of float mat1, layout( column_major) temp 4X4 matrix of float mat2,  temp 4-component vector of float vec1,  temp float foo})
720:24                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{layout( row_major) temp 4X4 matrix of float mat1, layout( column_major) temp 4X4 matrix of float mat2,  temp 4-component vector of float vec1,  temp float foo} g_MyBuffer1, layout( row_major std140) uniform structure{layout( column_major) temp 4X4 matrix of float mat1,  temp 4-component vector of float vec1} g_MyBuffer2, layout( row_major std140) uniform 4X4 matrix of float mat1a})
730:24                Constant:
740:24                  0 (const uint)
750:24              Constant:
760:24                0 (const int)
770:25          vector-times-matrix ( temp 4-component vector of float)
780:25            vec1: direct index for structure ( temp 4-component vector of float)
790:25              g_MyBuffer2: direct index for structure (layout( row_major std140) uniform structure{layout( column_major) temp 4X4 matrix of float mat1,  temp 4-component vector of float vec1})
800:25                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{layout( row_major) temp 4X4 matrix of float mat1, layout( column_major) temp 4X4 matrix of float mat2,  temp 4-component vector of float vec1,  temp float foo} g_MyBuffer1, layout( row_major std140) uniform structure{layout( column_major) temp 4X4 matrix of float mat1,  temp 4-component vector of float vec1} g_MyBuffer2, layout( row_major std140) uniform 4X4 matrix of float mat1a})
810:25                Constant:
820:25                  1 (const uint)
830:25              Constant:
840:25                1 (const int)
850:25            mat1: direct index for structure (layout( column_major) temp 4X4 matrix of float)
860:25              g_MyBuffer2: direct index for structure (layout( row_major std140) uniform structure{layout( column_major) temp 4X4 matrix of float mat1,  temp 4-component vector of float vec1})
870:25                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{layout( row_major) temp 4X4 matrix of float mat1, layout( column_major) temp 4X4 matrix of float mat2,  temp 4-component vector of float vec1,  temp float foo} g_MyBuffer1, layout( row_major std140) uniform structure{layout( column_major) temp 4X4 matrix of float mat1,  temp 4-component vector of float vec1} g_MyBuffer2, layout( row_major std140) uniform 4X4 matrix of float mat1a})
880:25                Constant:
890:25                  1 (const uint)
900:25              Constant:
910:25                0 (const int)
920:23  Function Definition: main( ( temp void)
930:23    Function Parameters:
940:?     Sequence
950:23      move second child to first child ( temp 4-component vector of float)
960:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
970:23        Function Call: @main( ( temp 4-component vector of float)
980:?   Linker Objects
990:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{layout( row_major) temp 4X4 matrix of float mat1, layout( column_major) temp 4X4 matrix of float mat2,  temp 4-component vector of float vec1,  temp float foo} g_MyBuffer1, layout( row_major std140) uniform structure{layout( column_major) temp 4X4 matrix of float mat1,  temp 4-component vector of float vec1} g_MyBuffer2, layout( row_major std140) uniform 4X4 matrix of float mat1a})
1000:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
101
102// Module Version 10000
103// Generated by (magic number): 80007
104// Id's are bound by 39
105
106                              Capability Shader
107               1:             ExtInstImport  "GLSL.std.450"
108                              MemoryModel Logical GLSL450
109                              EntryPoint Fragment 4  "main" 37
110                              ExecutionMode 4 OriginUpperLeft
111                              Source HLSL 500
112                              Name 4  "main"
113                              Name 9  "@main("
114                              Name 12  "MyBuffer1"
115                              MemberName 12(MyBuffer1) 0  "mat1"
116                              MemberName 12(MyBuffer1) 1  "mat2"
117                              MemberName 12(MyBuffer1) 2  "vec1"
118                              MemberName 12(MyBuffer1) 3  "foo"
119                              Name 13  "MyBuffer2"
120                              MemberName 13(MyBuffer2) 0  "mat1"
121                              MemberName 13(MyBuffer2) 1  "vec1"
122                              Name 14  "Example"
123                              MemberName 14(Example) 0  "g_MyBuffer1"
124                              MemberName 14(Example) 1  "g_MyBuffer2"
125                              MemberName 14(Example) 2  "mat1a"
126                              Name 16  ""
127                              Name 37  "@entryPointOutput"
128                              MemberDecorate 12(MyBuffer1) 0 RowMajor
129                              MemberDecorate 12(MyBuffer1) 0 Offset 0
130                              MemberDecorate 12(MyBuffer1) 0 MatrixStride 16
131                              MemberDecorate 12(MyBuffer1) 1 ColMajor
132                              MemberDecorate 12(MyBuffer1) 1 Offset 64
133                              MemberDecorate 12(MyBuffer1) 1 MatrixStride 16
134                              MemberDecorate 12(MyBuffer1) 2 Offset 128
135                              MemberDecorate 12(MyBuffer1) 3 Offset 144
136                              MemberDecorate 13(MyBuffer2) 0 ColMajor
137                              MemberDecorate 13(MyBuffer2) 0 Offset 0
138                              MemberDecorate 13(MyBuffer2) 0 MatrixStride 16
139                              MemberDecorate 13(MyBuffer2) 1 Offset 64
140                              MemberDecorate 14(Example) 0 Offset 0
141                              MemberDecorate 14(Example) 1 Offset 160
142                              MemberDecorate 14(Example) 2 RowMajor
143                              MemberDecorate 14(Example) 2 Offset 240
144                              MemberDecorate 14(Example) 2 MatrixStride 16
145                              Decorate 14(Example) Block
146                              Decorate 16 DescriptorSet 0
147                              Decorate 37(@entryPointOutput) Location 0
148               2:             TypeVoid
149               3:             TypeFunction 2
150               6:             TypeFloat 32
151               7:             TypeVector 6(float) 4
152               8:             TypeFunction 7(fvec4)
153              11:             TypeMatrix 7(fvec4) 4
154   12(MyBuffer1):             TypeStruct 11 11 7(fvec4) 6(float)
155   13(MyBuffer2):             TypeStruct 11 7(fvec4)
156     14(Example):             TypeStruct 12(MyBuffer1) 13(MyBuffer2) 11
157              15:             TypePointer Uniform 14(Example)
158              16:     15(ptr) Variable Uniform
159              17:             TypeInt 32 1
160              18:     17(int) Constant 0
161              19:     17(int) Constant 2
162              20:             TypePointer Uniform 7(fvec4)
163              23:             TypePointer Uniform 11
164              27:     17(int) Constant 1
165              36:             TypePointer Output 7(fvec4)
16637(@entryPointOutput):     36(ptr) Variable Output
167         4(main):           2 Function None 3
168               5:             Label
169              38:    7(fvec4) FunctionCall 9(@main()
170                              Store 37(@entryPointOutput) 38
171                              Return
172                              FunctionEnd
173       9(@main():    7(fvec4) Function None 8
174              10:             Label
175              21:     20(ptr) AccessChain 16 18 19
176              22:    7(fvec4) Load 21
177              24:     23(ptr) AccessChain 16 18 18
178              25:          11 Load 24
179              26:    7(fvec4) VectorTimesMatrix 22 25
180              28:     20(ptr) AccessChain 16 27 27
181              29:    7(fvec4) Load 28
182              30:     23(ptr) AccessChain 16 27 18
183              31:          11 Load 30
184              32:    7(fvec4) VectorTimesMatrix 29 31
185              33:    7(fvec4) FAdd 26 32
186                              ReturnValue 33
187                              FunctionEnd
188