da636b345a55f74be49552976a0efb91ced77dc0
[platform/upstream/glslang.git] / Test / baseResults / hlsl.struct.split.trivial.geom.out
1 hlsl.struct.split.trivial.geom
2 Shader version: 450
3 invocations = -1
4 max_vertices = 3
5 input primitive = triangles
6 output primitive = triangle_strip
7 0:? Sequence
8 0:14  Function Definition: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
9 0:14    Function Parameters: 
10 0:14      'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
11 0:14      'ts' ( out structure{ temp 4-component vector of float pos})
12 0:?     Sequence
13 0:17      Sequence
14 0:17        move second child to first child ( temp int)
15 0:17          'x' ( temp int)
16 0:17          Constant:
17 0:17            0 (const int)
18 0:17        Loop with condition tested first
19 0:17          Loop Condition
20 0:17          Compare Less Than ( temp bool)
21 0:17            'x' ( temp int)
22 0:17            Constant:
23 0:17              3 (const int)
24 0:17          Loop Body
25 0:?           Sequence
26 0:18            move second child to first child ( temp 4-component vector of float)
27 0:18              pos: direct index for structure ( temp 4-component vector of float)
28 0:18                'o' ( temp structure{ temp 4-component vector of float pos})
29 0:18                Constant:
30 0:18                  0 (const int)
31 0:18              pos: direct index for structure ( temp 4-component vector of float)
32 0:18                indirect index ( temp structure{ temp 4-component vector of float pos})
33 0:18                  'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
34 0:18                  'x' ( temp int)
35 0:18                Constant:
36 0:18                  0 (const int)
37 0:19            Sequence
38 0:19              Sequence
39 0:19                move second child to first child ( temp 4-component vector of float)
40 0:?                   'ts_pos' ( out 4-component vector of float Position)
41 0:19                  pos: direct index for structure ( temp 4-component vector of float)
42 0:19                    'o' ( temp structure{ temp 4-component vector of float pos})
43 0:19                    Constant:
44 0:19                      0 (const int)
45 0:19              EmitVertex ( temp void)
46 0:17          Loop Terminal Expression
47 0:17          Pre-Increment ( temp int)
48 0:17            'x' ( temp int)
49 0:14  Function Definition: main( ( temp void)
50 0:14    Function Parameters: 
51 0:?     Sequence
52 0:14      Sequence
53 0:14        move second child to first child ( temp 4-component vector of float)
54 0:14          pos: direct index for structure ( temp 4-component vector of float)
55 0:14            direct index ( temp structure{ temp 4-component vector of float pos})
56 0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
57 0:14              Constant:
58 0:14                0 (const int)
59 0:14            Constant:
60 0:14              0 (const int)
61 0:14          direct index ( in 4-component vector of float Position)
62 0:?             'i_pos' ( in 3-element array of 4-component vector of float Position)
63 0:14            Constant:
64 0:14              0 (const int)
65 0:14        move second child to first child ( temp 4-component vector of float)
66 0:14          pos: direct index for structure ( temp 4-component vector of float)
67 0:14            direct index ( temp structure{ temp 4-component vector of float pos})
68 0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
69 0:14              Constant:
70 0:14                1 (const int)
71 0:14            Constant:
72 0:14              0 (const int)
73 0:14          direct index ( in 4-component vector of float Position)
74 0:?             'i_pos' ( in 3-element array of 4-component vector of float Position)
75 0:14            Constant:
76 0:14              1 (const int)
77 0:14        move second child to first child ( temp 4-component vector of float)
78 0:14          pos: direct index for structure ( temp 4-component vector of float)
79 0:14            direct index ( temp structure{ temp 4-component vector of float pos})
80 0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
81 0:14              Constant:
82 0:14                2 (const int)
83 0:14            Constant:
84 0:14              0 (const int)
85 0:14          direct index ( in 4-component vector of float Position)
86 0:?             'i_pos' ( in 3-element array of 4-component vector of float Position)
87 0:14            Constant:
88 0:14              2 (const int)
89 0:14      Function Call: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
90 0:?         'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
91 0:?         'ts' ( temp structure{ temp 4-component vector of float pos})
92 0:?   Linker Objects
93 0:?     'i' (layout( location=0) in 3-element array of structure{})
94 0:?     'ts' (layout( location=0) out structure{})
95
96
97 Linked geometry stage:
98
99
100 Shader version: 450
101 invocations = 1
102 max_vertices = 3
103 input primitive = triangles
104 output primitive = triangle_strip
105 0:? Sequence
106 0:14  Function Definition: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
107 0:14    Function Parameters: 
108 0:14      'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
109 0:14      'ts' ( out structure{ temp 4-component vector of float pos})
110 0:?     Sequence
111 0:17      Sequence
112 0:17        move second child to first child ( temp int)
113 0:17          'x' ( temp int)
114 0:17          Constant:
115 0:17            0 (const int)
116 0:17        Loop with condition tested first
117 0:17          Loop Condition
118 0:17          Compare Less Than ( temp bool)
119 0:17            'x' ( temp int)
120 0:17            Constant:
121 0:17              3 (const int)
122 0:17          Loop Body
123 0:?           Sequence
124 0:18            move second child to first child ( temp 4-component vector of float)
125 0:18              pos: direct index for structure ( temp 4-component vector of float)
126 0:18                'o' ( temp structure{ temp 4-component vector of float pos})
127 0:18                Constant:
128 0:18                  0 (const int)
129 0:18              pos: direct index for structure ( temp 4-component vector of float)
130 0:18                indirect index ( temp structure{ temp 4-component vector of float pos})
131 0:18                  'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
132 0:18                  'x' ( temp int)
133 0:18                Constant:
134 0:18                  0 (const int)
135 0:19            Sequence
136 0:19              Sequence
137 0:19                move second child to first child ( temp 4-component vector of float)
138 0:?                   'ts_pos' ( out 4-component vector of float Position)
139 0:19                  pos: direct index for structure ( temp 4-component vector of float)
140 0:19                    'o' ( temp structure{ temp 4-component vector of float pos})
141 0:19                    Constant:
142 0:19                      0 (const int)
143 0:19              EmitVertex ( temp void)
144 0:17          Loop Terminal Expression
145 0:17          Pre-Increment ( temp int)
146 0:17            'x' ( temp int)
147 0:14  Function Definition: main( ( temp void)
148 0:14    Function Parameters: 
149 0:?     Sequence
150 0:14      Sequence
151 0:14        move second child to first child ( temp 4-component vector of float)
152 0:14          pos: direct index for structure ( temp 4-component vector of float)
153 0:14            direct index ( temp structure{ temp 4-component vector of float pos})
154 0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
155 0:14              Constant:
156 0:14                0 (const int)
157 0:14            Constant:
158 0:14              0 (const int)
159 0:14          direct index ( in 4-component vector of float Position)
160 0:?             'i_pos' ( in 3-element array of 4-component vector of float Position)
161 0:14            Constant:
162 0:14              0 (const int)
163 0:14        move second child to first child ( temp 4-component vector of float)
164 0:14          pos: direct index for structure ( temp 4-component vector of float)
165 0:14            direct index ( temp structure{ temp 4-component vector of float pos})
166 0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
167 0:14              Constant:
168 0:14                1 (const int)
169 0:14            Constant:
170 0:14              0 (const int)
171 0:14          direct index ( in 4-component vector of float Position)
172 0:?             'i_pos' ( in 3-element array of 4-component vector of float Position)
173 0:14            Constant:
174 0:14              1 (const int)
175 0:14        move second child to first child ( temp 4-component vector of float)
176 0:14          pos: direct index for structure ( temp 4-component vector of float)
177 0:14            direct index ( temp structure{ temp 4-component vector of float pos})
178 0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
179 0:14              Constant:
180 0:14                2 (const int)
181 0:14            Constant:
182 0:14              0 (const int)
183 0:14          direct index ( in 4-component vector of float Position)
184 0:?             'i_pos' ( in 3-element array of 4-component vector of float Position)
185 0:14            Constant:
186 0:14              2 (const int)
187 0:14      Function Call: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
188 0:?         'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
189 0:?         'ts' ( temp structure{ temp 4-component vector of float pos})
190 0:?   Linker Objects
191 0:?     'i' (layout( location=0) in 3-element array of structure{})
192 0:?     'ts' (layout( location=0) out structure{})
193
194 // Module Version 10000
195 // Generated by (magic number): 80001
196 // Id's are bound by 74
197
198                               Capability Geometry
199                1:             ExtInstImport  "GLSL.std.450"
200                               MemoryModel Logical GLSL450
201                               EntryPoint Geometry 4  "main" 40 49 70 73
202                               ExecutionMode 4 Triangles
203                               ExecutionMode 4 Invocations 1
204                               ExecutionMode 4 OutputTriangleStrip
205                               ExecutionMode 4 OutputVertices 3
206                               Name 4  "main"
207                               Name 8  "PS_IN"
208                               MemberName 8(PS_IN) 0  "pos"
209                               Name 13  "GS_OUT"
210                               MemberName 13(GS_OUT) 0  "pos"
211                               Name 18  "@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;"
212                               Name 16  "i"
213                               Name 17  "ts"
214                               Name 22  "x"
215                               Name 33  "o"
216                               Name 40  "ts_pos"
217                               Name 46  "i"
218                               Name 49  "i_pos"
219                               Name 61  "ts"
220                               Name 62  "param"
221                               Name 64  "param"
222                               Name 67  "PS_IN"
223                               Name 70  "i"
224                               Name 71  "GS_OUT"
225                               Name 73  "ts"
226                               Decorate 40(ts_pos) BuiltIn Position
227                               Decorate 49(i_pos) BuiltIn Position
228                               Decorate 70(i) Location 0
229                               Decorate 73(ts) Location 0
230                2:             TypeVoid
231                3:             TypeFunction 2
232                6:             TypeFloat 32
233                7:             TypeVector 6(float) 4
234         8(PS_IN):             TypeStruct 7(fvec4)
235                9:             TypeInt 32 0
236               10:      9(int) Constant 3
237               11:             TypeArray 8(PS_IN) 10
238               12:             TypePointer Function 11
239       13(GS_OUT):             TypeStruct 7(fvec4)
240               14:             TypePointer Function 13(GS_OUT)
241               15:             TypeFunction 2 12(ptr) 14(ptr)
242               20:             TypeInt 32 1
243               21:             TypePointer Function 20(int)
244               23:     20(int) Constant 0
245               30:     20(int) Constant 3
246               31:             TypeBool
247               35:             TypePointer Function 7(fvec4)
248               39:             TypePointer Output 7(fvec4)
249       40(ts_pos):     39(ptr) Variable Output
250               44:     20(int) Constant 1
251               47:             TypeArray 7(fvec4) 10
252               48:             TypePointer Input 47
253        49(i_pos):     48(ptr) Variable Input
254               50:             TypePointer Input 7(fvec4)
255               57:     20(int) Constant 2
256        67(PS_IN):             TypeStruct
257               68:             TypeArray 67(PS_IN) 10
258               69:             TypePointer Input 68
259            70(i):     69(ptr) Variable Input
260       71(GS_OUT):             TypeStruct
261               72:             TypePointer Output 71(GS_OUT)
262           73(ts):     72(ptr) Variable Output
263          4(main):           2 Function None 3
264                5:             Label
265            46(i):     12(ptr) Variable Function
266           61(ts):     14(ptr) Variable Function
267        62(param):     12(ptr) Variable Function
268        64(param):     14(ptr) Variable Function
269               51:     50(ptr) AccessChain 49(i_pos) 23
270               52:    7(fvec4) Load 51
271               53:     35(ptr) AccessChain 46(i) 23 23
272                               Store 53 52
273               54:     50(ptr) AccessChain 49(i_pos) 44
274               55:    7(fvec4) Load 54
275               56:     35(ptr) AccessChain 46(i) 44 23
276                               Store 56 55
277               58:     50(ptr) AccessChain 49(i_pos) 57
278               59:    7(fvec4) Load 58
279               60:     35(ptr) AccessChain 46(i) 57 23
280                               Store 60 59
281               63:          11 Load 46(i)
282                               Store 62(param) 63
283               65:           2 FunctionCall 18(@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;) 62(param) 64(param)
284               66:  13(GS_OUT) Load 64(param)
285                               Store 61(ts) 66
286                               Return
287                               FunctionEnd
288 18(@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;):           2 Function None 15
289            16(i):     12(ptr) FunctionParameter
290           17(ts):     14(ptr) FunctionParameter
291               19:             Label
292            22(x):     21(ptr) Variable Function
293            33(o):     14(ptr) Variable Function
294                               Store 22(x) 23
295                               Branch 24
296               24:             Label
297                               LoopMerge 26 27 None
298                               Branch 28
299               28:             Label
300               29:     20(int) Load 22(x)
301               32:    31(bool) SLessThan 29 30
302                               BranchConditional 32 25 26
303               25:               Label
304               34:     20(int)   Load 22(x)
305               36:     35(ptr)   AccessChain 16(i) 34 23
306               37:    7(fvec4)   Load 36
307               38:     35(ptr)   AccessChain 33(o) 23
308                                 Store 38 37
309               41:     35(ptr)   AccessChain 33(o) 23
310               42:    7(fvec4)   Load 41
311                                 Store 40(ts_pos) 42
312                                 EmitVertex
313                                 Branch 27
314               27:               Label
315               43:     20(int)   Load 22(x)
316               45:     20(int)   IAdd 43 44
317                                 Store 22(x) 45
318                                 Branch 24
319               26:             Label
320                               Return
321                               FunctionEnd