c480f780e5040e2172f11302fc4ae19064c78ccf
[platform/upstream/glslang.git] / Test / baseResults / hlsl.matpack-1.frag.out
1 hlsl.matpack-1.frag
2 Shader version: 500
3 gl_FragCoord origin is upper left
4 0:? Sequence
5 0:23  Function Definition: @main( ( temp 4-component vector of float)
6 0:23    Function Parameters: 
7 0:?     Sequence
8 0:25      Branch: Return with expression
9 0:24        add ( temp 4-component vector of float)
10 0:24          vector-times-matrix ( temp 4-component vector of float)
11 0:24            vec1: direct index for structure ( temp 4-component vector of float)
12 0: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})
13 0: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})
14 0:24                Constant:
15 0:24                  0 (const uint)
16 0:24              Constant:
17 0:24                2 (const int)
18 0:24            mat1: direct index for structure (layout( row_major) temp 4X4 matrix of float)
19 0: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})
20 0: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})
21 0:24                Constant:
22 0:24                  0 (const uint)
23 0:24              Constant:
24 0:24                0 (const int)
25 0:25          vector-times-matrix ( temp 4-component vector of float)
26 0:25            vec1: direct index for structure ( temp 4-component vector of float)
27 0: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})
28 0: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})
29 0:25                Constant:
30 0:25                  1 (const uint)
31 0:25              Constant:
32 0:25                1 (const int)
33 0:25            mat1: direct index for structure (layout( column_major) temp 4X4 matrix of float)
34 0: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})
35 0: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})
36 0:25                Constant:
37 0:25                  1 (const uint)
38 0:25              Constant:
39 0:25                0 (const int)
40 0:23  Function Definition: main( ( temp void)
41 0:23    Function Parameters: 
42 0:?     Sequence
43 0:23      move second child to first child ( temp 4-component vector of float)
44 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
45 0:23        Function Call: @main( ( temp 4-component vector of float)
46 0:?   Linker Objects
47 0:?     '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})
48 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
49
50
51 Linked fragment stage:
52
53
54 Shader version: 500
55 gl_FragCoord origin is upper left
56 0:? Sequence
57 0:23  Function Definition: @main( ( temp 4-component vector of float)
58 0:23    Function Parameters: 
59 0:?     Sequence
60 0:25      Branch: Return with expression
61 0:24        add ( temp 4-component vector of float)
62 0:24          vector-times-matrix ( temp 4-component vector of float)
63 0:24            vec1: direct index for structure ( temp 4-component vector of float)
64 0: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})
65 0: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})
66 0:24                Constant:
67 0:24                  0 (const uint)
68 0:24              Constant:
69 0:24                2 (const int)
70 0:24            mat1: direct index for structure (layout( row_major) temp 4X4 matrix of float)
71 0: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})
72 0: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})
73 0:24                Constant:
74 0:24                  0 (const uint)
75 0:24              Constant:
76 0:24                0 (const int)
77 0:25          vector-times-matrix ( temp 4-component vector of float)
78 0:25            vec1: direct index for structure ( temp 4-component vector of float)
79 0: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})
80 0: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})
81 0:25                Constant:
82 0:25                  1 (const uint)
83 0:25              Constant:
84 0:25                1 (const int)
85 0:25            mat1: direct index for structure (layout( column_major) temp 4X4 matrix of float)
86 0: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})
87 0: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})
88 0:25                Constant:
89 0:25                  1 (const uint)
90 0:25              Constant:
91 0:25                0 (const int)
92 0:23  Function Definition: main( ( temp void)
93 0:23    Function Parameters: 
94 0:?     Sequence
95 0:23      move second child to first child ( temp 4-component vector of float)
96 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
97 0:23        Function Call: @main( ( temp 4-component vector of float)
98 0:?   Linker Objects
99 0:?     '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})
100 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
101
102 // Module Version 10000
103 // Generated by (magic number): 8000a
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 16 Binding 0
148                               Decorate 37(@entryPointOutput) Location 0
149                2:             TypeVoid
150                3:             TypeFunction 2
151                6:             TypeFloat 32
152                7:             TypeVector 6(float) 4
153                8:             TypeFunction 7(fvec4)
154               11:             TypeMatrix 7(fvec4) 4
155    12(MyBuffer1):             TypeStruct 11 11 7(fvec4) 6(float)
156    13(MyBuffer2):             TypeStruct 11 7(fvec4)
157      14(Example):             TypeStruct 12(MyBuffer1) 13(MyBuffer2) 11
158               15:             TypePointer Uniform 14(Example)
159               16:     15(ptr) Variable Uniform
160               17:             TypeInt 32 1
161               18:     17(int) Constant 0
162               19:     17(int) Constant 2
163               20:             TypePointer Uniform 7(fvec4)
164               23:             TypePointer Uniform 11
165               27:     17(int) Constant 1
166               36:             TypePointer Output 7(fvec4)
167 37(@entryPointOutput):     36(ptr) Variable Output
168          4(main):           2 Function None 3
169                5:             Label
170               38:    7(fvec4) FunctionCall 9(@main()
171                               Store 37(@entryPointOutput) 38
172                               Return
173                               FunctionEnd
174        9(@main():    7(fvec4) Function None 8
175               10:             Label
176               21:     20(ptr) AccessChain 16 18 19
177               22:    7(fvec4) Load 21
178               24:     23(ptr) AccessChain 16 18 18
179               25:          11 Load 24
180               26:    7(fvec4) VectorTimesMatrix 22 25
181               28:     20(ptr) AccessChain 16 27 27
182               29:    7(fvec4) Load 28
183               30:     23(ptr) AccessChain 16 27 18
184               31:          11 Load 30
185               32:    7(fvec4) VectorTimesMatrix 29 31
186               33:    7(fvec4) FAdd 26 32
187                               ReturnValue 33
188                               FunctionEnd