beb977393d5a32ef5183892da346c71cf65497d5
[platform/upstream/glslang.git] / Test / baseResults / hlsl.struct.split.nested.geom.out
1 hlsl.struct.split.nested.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:24  Function Definition: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void)
9 0:24    Function Parameters: 
10 0:24      'tin' ( in 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
11 0:24      'ts' ( out structure{ temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
12 0:?     Sequence
13 0:27      move second child to first child ( temp 4-component vector of float)
14 0:27        pos: direct index for structure ( temp 4-component vector of float)
15 0:27          psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
16 0:27            'o' ( temp structure{ temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
17 0:27            Constant:
18 0:27              0 (const int)
19 0:27          Constant:
20 0:27            0 (const int)
21 0:?         Constant:
22 0:?           1.000000
23 0:?           2.000000
24 0:?           3.000000
25 0:?           4.000000
26 0:28      move second child to first child ( temp 2-component vector of float)
27 0:28        tc: direct index for structure ( temp 2-component vector of float)
28 0:28          psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
29 0:28            'o' ( temp structure{ temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
30 0:28            Constant:
31 0:28              0 (const int)
32 0:28          Constant:
33 0:28            1 (const int)
34 0:?         Constant:
35 0:?           5.000000
36 0:?           6.000000
37 0:30      Sequence
38 0:30        Sequence
39 0:30          move second child to first child ( temp 4-component vector of float)
40 0:?             'ts_psIn_pos' ( out 4-component vector of float Position)
41 0:30            pos: direct index for structure ( temp 4-component vector of float)
42 0:30              psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
43 0:30                'o' ( temp structure{ temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
44 0:30                Constant:
45 0:30                  0 (const int)
46 0:30              Constant:
47 0:30                0 (const int)
48 0:30          move second child to first child ( temp 2-component vector of float)
49 0:30            tc: direct index for structure ( temp 2-component vector of float)
50 0:30              psIn: direct index for structure ( temp structure{ temp 2-component vector of float tc})
51 0:30                'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
52 0:30                Constant:
53 0:30                  0 (const int)
54 0:30              Constant:
55 0:30                0 (const int)
56 0:30            tc: direct index for structure ( temp 2-component vector of float)
57 0:30              psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
58 0:30                'o' ( temp structure{ temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
59 0:30                Constant:
60 0:30                  0 (const int)
61 0:30              Constant:
62 0:30                1 (const int)
63 0:30          move second child to first child ( temp structure{ temp 2-element array of float m0_array,  temp int m1})
64 0:30            contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array,  temp int m1})
65 0:30              'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
66 0:30              Constant:
67 0:30                1 (const int)
68 0:30            contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array,  temp int m1})
69 0:30              'o' ( temp structure{ temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
70 0:30              Constant:
71 0:30                1 (const int)
72 0:30        EmitVertex ( temp void)
73 0:24  Function Definition: main( ( temp void)
74 0:24    Function Parameters: 
75 0:?     Sequence
76 0:24      Sequence
77 0:24        move second child to first child ( temp 4-component vector of float)
78 0:24          pos: direct index for structure ( temp 4-component vector of float)
79 0:24            direct index ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
80 0:?               'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
81 0:24              Constant:
82 0:24                0 (const int)
83 0:24            Constant:
84 0:24              0 (const int)
85 0:24          direct index ( in 4-component vector of float Position)
86 0:?             'tin_pos' ( in 3-element array of 4-component vector of float Position)
87 0:24            Constant:
88 0:24              0 (const int)
89 0:24        move second child to first child ( temp 2-component vector of float)
90 0:24          tc: direct index for structure ( temp 2-component vector of float)
91 0:24            direct index ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
92 0:?               'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
93 0:24              Constant:
94 0:24                0 (const int)
95 0:24            Constant:
96 0:24              1 (const int)
97 0:24          tc: direct index for structure ( temp 2-component vector of float)
98 0:24            direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
99 0:24              'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
100 0:24              Constant:
101 0:24                0 (const int)
102 0:24            Constant:
103 0:24              0 (const int)
104 0:24        move second child to first child ( temp 4-component vector of float)
105 0:24          pos: direct index for structure ( temp 4-component vector of float)
106 0:24            direct index ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
107 0:?               'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
108 0:24              Constant:
109 0:24                1 (const int)
110 0:24            Constant:
111 0:24              0 (const int)
112 0:24          direct index ( in 4-component vector of float Position)
113 0:?             'tin_pos' ( in 3-element array of 4-component vector of float Position)
114 0:24            Constant:
115 0:24              1 (const int)
116 0:24        move second child to first child ( temp 2-component vector of float)
117 0:24          tc: direct index for structure ( temp 2-component vector of float)
118 0:24            direct index ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
119 0:?               'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
120 0:24              Constant:
121 0:24                1 (const int)
122 0:24            Constant:
123 0:24              1 (const int)
124 0:24          tc: direct index for structure ( temp 2-component vector of float)
125 0:24            direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
126 0:24              'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
127 0:24              Constant:
128 0:24                1 (const int)
129 0:24            Constant:
130 0:24              0 (const int)
131 0:24        move second child to first child ( temp 4-component vector of float)
132 0:24          pos: direct index for structure ( temp 4-component vector of float)
133 0:24            direct index ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
134 0:?               'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
135 0:24              Constant:
136 0:24                2 (const int)
137 0:24            Constant:
138 0:24              0 (const int)
139 0:24          direct index ( in 4-component vector of float Position)
140 0:?             'tin_pos' ( in 3-element array of 4-component vector of float Position)
141 0:24            Constant:
142 0:24              2 (const int)
143 0:24        move second child to first child ( temp 2-component vector of float)
144 0:24          tc: direct index for structure ( temp 2-component vector of float)
145 0:24            direct index ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
146 0:?               'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
147 0:24              Constant:
148 0:24                2 (const int)
149 0:24            Constant:
150 0:24              1 (const int)
151 0:24          tc: direct index for structure ( temp 2-component vector of float)
152 0:24            direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
153 0:24              'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
154 0:24              Constant:
155 0:24                2 (const int)
156 0:24            Constant:
157 0:24              0 (const int)
158 0:24      Function Call: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void)
159 0:?         'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
160 0:?         'ts' ( temp structure{ temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
161 0:?   Linker Objects
162 0:?     'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
163 0:?     'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
164
165
166 Linked geometry stage:
167
168
169 Shader version: 450
170 invocations = 1
171 max_vertices = 3
172 input primitive = triangles
173 output primitive = triangle_strip
174 0:? Sequence
175 0:24  Function Definition: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void)
176 0:24    Function Parameters: 
177 0:24      'tin' ( in 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
178 0:24      'ts' ( out structure{ temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
179 0:?     Sequence
180 0:27      move second child to first child ( temp 4-component vector of float)
181 0:27        pos: direct index for structure ( temp 4-component vector of float)
182 0:27          psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
183 0:27            'o' ( temp structure{ temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
184 0:27            Constant:
185 0:27              0 (const int)
186 0:27          Constant:
187 0:27            0 (const int)
188 0:?         Constant:
189 0:?           1.000000
190 0:?           2.000000
191 0:?           3.000000
192 0:?           4.000000
193 0:28      move second child to first child ( temp 2-component vector of float)
194 0:28        tc: direct index for structure ( temp 2-component vector of float)
195 0:28          psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
196 0:28            'o' ( temp structure{ temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
197 0:28            Constant:
198 0:28              0 (const int)
199 0:28          Constant:
200 0:28            1 (const int)
201 0:?         Constant:
202 0:?           5.000000
203 0:?           6.000000
204 0:30      Sequence
205 0:30        Sequence
206 0:30          move second child to first child ( temp 4-component vector of float)
207 0:?             'ts_psIn_pos' ( out 4-component vector of float Position)
208 0:30            pos: direct index for structure ( temp 4-component vector of float)
209 0:30              psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
210 0:30                'o' ( temp structure{ temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
211 0:30                Constant:
212 0:30                  0 (const int)
213 0:30              Constant:
214 0:30                0 (const int)
215 0:30          move second child to first child ( temp 2-component vector of float)
216 0:30            tc: direct index for structure ( temp 2-component vector of float)
217 0:30              psIn: direct index for structure ( temp structure{ temp 2-component vector of float tc})
218 0:30                'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
219 0:30                Constant:
220 0:30                  0 (const int)
221 0:30              Constant:
222 0:30                0 (const int)
223 0:30            tc: direct index for structure ( temp 2-component vector of float)
224 0:30              psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
225 0:30                'o' ( temp structure{ temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
226 0:30                Constant:
227 0:30                  0 (const int)
228 0:30              Constant:
229 0:30                1 (const int)
230 0:30          move second child to first child ( temp structure{ temp 2-element array of float m0_array,  temp int m1})
231 0:30            contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array,  temp int m1})
232 0:30              'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
233 0:30              Constant:
234 0:30                1 (const int)
235 0:30            contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array,  temp int m1})
236 0:30              'o' ( temp structure{ temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
237 0:30              Constant:
238 0:30                1 (const int)
239 0:30        EmitVertex ( temp void)
240 0:24  Function Definition: main( ( temp void)
241 0:24    Function Parameters: 
242 0:?     Sequence
243 0:24      Sequence
244 0:24        move second child to first child ( temp 4-component vector of float)
245 0:24          pos: direct index for structure ( temp 4-component vector of float)
246 0:24            direct index ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
247 0:?               'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
248 0:24              Constant:
249 0:24                0 (const int)
250 0:24            Constant:
251 0:24              0 (const int)
252 0:24          direct index ( in 4-component vector of float Position)
253 0:?             'tin_pos' ( in 3-element array of 4-component vector of float Position)
254 0:24            Constant:
255 0:24              0 (const int)
256 0:24        move second child to first child ( temp 2-component vector of float)
257 0:24          tc: direct index for structure ( temp 2-component vector of float)
258 0:24            direct index ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
259 0:?               'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
260 0:24              Constant:
261 0:24                0 (const int)
262 0:24            Constant:
263 0:24              1 (const int)
264 0:24          tc: direct index for structure ( temp 2-component vector of float)
265 0:24            direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
266 0:24              'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
267 0:24              Constant:
268 0:24                0 (const int)
269 0:24            Constant:
270 0:24              0 (const int)
271 0:24        move second child to first child ( temp 4-component vector of float)
272 0:24          pos: direct index for structure ( temp 4-component vector of float)
273 0:24            direct index ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
274 0:?               'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
275 0:24              Constant:
276 0:24                1 (const int)
277 0:24            Constant:
278 0:24              0 (const int)
279 0:24          direct index ( in 4-component vector of float Position)
280 0:?             'tin_pos' ( in 3-element array of 4-component vector of float Position)
281 0:24            Constant:
282 0:24              1 (const int)
283 0:24        move second child to first child ( temp 2-component vector of float)
284 0:24          tc: direct index for structure ( temp 2-component vector of float)
285 0:24            direct index ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
286 0:?               'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
287 0:24              Constant:
288 0:24                1 (const int)
289 0:24            Constant:
290 0:24              1 (const int)
291 0:24          tc: direct index for structure ( temp 2-component vector of float)
292 0:24            direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
293 0:24              'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
294 0:24              Constant:
295 0:24                1 (const int)
296 0:24            Constant:
297 0:24              0 (const int)
298 0:24        move second child to first child ( temp 4-component vector of float)
299 0:24          pos: direct index for structure ( temp 4-component vector of float)
300 0:24            direct index ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
301 0:?               'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
302 0:24              Constant:
303 0:24                2 (const int)
304 0:24            Constant:
305 0:24              0 (const int)
306 0:24          direct index ( in 4-component vector of float Position)
307 0:?             'tin_pos' ( in 3-element array of 4-component vector of float Position)
308 0:24            Constant:
309 0:24              2 (const int)
310 0:24        move second child to first child ( temp 2-component vector of float)
311 0:24          tc: direct index for structure ( temp 2-component vector of float)
312 0:24            direct index ( temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
313 0:?               'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
314 0:24              Constant:
315 0:24                2 (const int)
316 0:24            Constant:
317 0:24              1 (const int)
318 0:24          tc: direct index for structure ( temp 2-component vector of float)
319 0:24            direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
320 0:24              'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
321 0:24              Constant:
322 0:24                2 (const int)
323 0:24            Constant:
324 0:24              0 (const int)
325 0:24      Function Call: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void)
326 0:?         'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc})
327 0:?         'ts' ( temp structure{ temp structure{ temp 4-component vector of float pos,  temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
328 0:?   Linker Objects
329 0:?     'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
330 0:?     'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn,  temp structure{ temp 2-element array of float m0_array,  temp int m1} contains_no_builtin_io})
331
332 // Module Version 10000
333 // Generated by (magic number): 80001
334 // Id's are bound by 99
335
336                               Capability Geometry
337                1:             ExtInstImport  "GLSL.std.450"
338                               MemoryModel Logical GLSL450
339                               EntryPoint Geometry 4  "main" 41 48 67 75
340                               ExecutionMode 4 Triangles
341                               ExecutionMode 4 Invocations 1
342                               ExecutionMode 4 OutputTriangleStrip
343                               ExecutionMode 4 OutputVertices 3
344                               Name 4  "main"
345                               Name 9  "PS_IN"
346                               MemberName 9(PS_IN) 0  "pos"
347                               MemberName 9(PS_IN) 1  "tc"
348                               Name 17  "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
349                               MemberName 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0  "m0_array"
350                               MemberName 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1  "m1"
351                               Name 18  "GS_OUT"
352                               MemberName 18(GS_OUT) 0  "psIn"
353                               MemberName 18(GS_OUT) 1  "contains_no_builtin_io"
354                               Name 23  "@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;"
355                               Name 21  "tin"
356                               Name 22  "ts"
357                               Name 25  "o"
358                               Name 41  "ts_psIn_pos"
359                               Name 44  "PS_IN"
360                               MemberName 44(PS_IN) 0  "tc"
361                               Name 45  "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
362                               MemberName 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0  "m0_array"
363                               MemberName 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1  "m1"
364                               Name 46  "GS_OUT"
365                               MemberName 46(GS_OUT) 0  "psIn"
366                               MemberName 46(GS_OUT) 1  "contains_no_builtin_io"
367                               Name 48  "ts"
368                               Name 64  "tin"
369                               Name 67  "tin_pos"
370                               Name 72  "PS_IN"
371                               MemberName 72(PS_IN) 0  "tc"
372                               Name 75  "tin"
373                               Name 93  "ts"
374                               Name 94  "param"
375                               Name 96  "param"
376                               Decorate 41(ts_psIn_pos) BuiltIn Position
377                               Decorate 48(ts) Location 0
378                               Decorate 67(tin_pos) BuiltIn Position
379                               Decorate 75(tin) Location 0
380                2:             TypeVoid
381                3:             TypeFunction 2
382                6:             TypeFloat 32
383                7:             TypeVector 6(float) 4
384                8:             TypeVector 6(float) 2
385         9(PS_IN):             TypeStruct 7(fvec4) 8(fvec2)
386               10:             TypeInt 32 0
387               11:     10(int) Constant 3
388               12:             TypeArray 9(PS_IN) 11
389               13:             TypePointer Function 12
390               14:     10(int) Constant 2
391               15:             TypeArray 6(float) 14
392               16:             TypeInt 32 1
393 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO):             TypeStruct 15 16(int)
394       18(GS_OUT):             TypeStruct 9(PS_IN) 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
395               19:             TypePointer Function 18(GS_OUT)
396               20:             TypeFunction 2 13(ptr) 19(ptr)
397               26:     16(int) Constant 0
398               27:    6(float) Constant 1065353216
399               28:    6(float) Constant 1073741824
400               29:    6(float) Constant 1077936128
401               30:    6(float) Constant 1082130432
402               31:    7(fvec4) ConstantComposite 27 28 29 30
403               32:             TypePointer Function 7(fvec4)
404               34:     16(int) Constant 1
405               35:    6(float) Constant 1084227584
406               36:    6(float) Constant 1086324736
407               37:    8(fvec2) ConstantComposite 35 36
408               38:             TypePointer Function 8(fvec2)
409               40:             TypePointer Output 7(fvec4)
410  41(ts_psIn_pos):     40(ptr) Variable Output
411        44(PS_IN):             TypeStruct 8(fvec2)
412 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO):             TypeStruct 15 16(int)
413       46(GS_OUT):             TypeStruct 44(PS_IN) 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
414               47:             TypePointer Output 46(GS_OUT)
415           48(ts):     47(ptr) Variable Output
416               51:             TypePointer Output 8(fvec2)
417               53:             TypePointer Function 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
418               56:             TypePointer Output 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
419               59:             TypePointer Output 15
420               62:             TypePointer Output 16(int)
421               65:             TypeArray 7(fvec4) 11
422               66:             TypePointer Input 65
423      67(tin_pos):     66(ptr) Variable Input
424               68:             TypePointer Input 7(fvec4)
425        72(PS_IN):             TypeStruct 8(fvec2)
426               73:             TypeArray 72(PS_IN) 11
427               74:             TypePointer Input 73
428          75(tin):     74(ptr) Variable Input
429               76:             TypePointer Input 8(fvec2)
430               86:     16(int) Constant 2
431          4(main):           2 Function None 3
432                5:             Label
433          64(tin):     13(ptr) Variable Function
434           93(ts):     19(ptr) Variable Function
435        94(param):     13(ptr) Variable Function
436        96(param):     19(ptr) Variable Function
437               69:     68(ptr) AccessChain 67(tin_pos) 26
438               70:    7(fvec4) Load 69
439               71:     32(ptr) AccessChain 64(tin) 26 26
440                               Store 71 70
441               77:     76(ptr) AccessChain 75(tin) 26 26
442               78:    8(fvec2) Load 77
443               79:     38(ptr) AccessChain 64(tin) 26 34
444                               Store 79 78
445               80:     68(ptr) AccessChain 67(tin_pos) 34
446               81:    7(fvec4) Load 80
447               82:     32(ptr) AccessChain 64(tin) 34 26
448                               Store 82 81
449               83:     76(ptr) AccessChain 75(tin) 34 26
450               84:    8(fvec2) Load 83
451               85:     38(ptr) AccessChain 64(tin) 34 34
452                               Store 85 84
453               87:     68(ptr) AccessChain 67(tin_pos) 86
454               88:    7(fvec4) Load 87
455               89:     32(ptr) AccessChain 64(tin) 86 26
456                               Store 89 88
457               90:     76(ptr) AccessChain 75(tin) 86 26
458               91:    8(fvec2) Load 90
459               92:     38(ptr) AccessChain 64(tin) 86 34
460                               Store 92 91
461               95:          12 Load 64(tin)
462                               Store 94(param) 95
463               97:           2 FunctionCall 23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;) 94(param) 96(param)
464               98:  18(GS_OUT) Load 96(param)
465                               Store 93(ts) 98
466                               Return
467                               FunctionEnd
468 23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;):           2 Function None 20
469          21(tin):     13(ptr) FunctionParameter
470           22(ts):     19(ptr) FunctionParameter
471               24:             Label
472            25(o):     19(ptr) Variable Function
473               33:     32(ptr) AccessChain 25(o) 26 26
474                               Store 33 31
475               39:     38(ptr) AccessChain 25(o) 26 34
476                               Store 39 37
477               42:     32(ptr) AccessChain 25(o) 26 26
478               43:    7(fvec4) Load 42
479                               Store 41(ts_psIn_pos) 43
480               49:     38(ptr) AccessChain 25(o) 26 34
481               50:    8(fvec2) Load 49
482               52:     51(ptr) AccessChain 48(ts) 26 26
483                               Store 52 50
484               54:     53(ptr) AccessChain 25(o) 34
485               55:17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) Load 54
486               57:     56(ptr) AccessChain 48(ts) 34
487               58:          15 CompositeExtract 55 0
488               60:     59(ptr) AccessChain 57 26
489                               Store 60 58
490               61:     16(int) CompositeExtract 55 1
491               63:     62(ptr) AccessChain 57 34
492                               Store 63 61
493                               EmitVertex
494                               Return
495                               FunctionEnd