aa766ed4810735bc7da238ee1c46aef8d93c92dd
[platform/upstream/glslang.git] / Test / baseResults / hlsl.hull.4.tesc.out
1 hlsl.hull.4.tesc
2 Shader version: 500
3 vertices = 3
4 vertex spacing = fractional_odd_spacing
5 triangle order = cw
6 0:? Sequence
7 0:25  Function Definition: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
8 0:25    Function Parameters: 
9 0:25      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
10 0:?     Sequence
11 0:26      Sequence
12 0:26        move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
13 0:26          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
14 0:26          Constant:
15 0:26            0.000000
16 0:26            0.000000
17 0:26            0.000000
18 0:26            0.000000
19 0:28      move second child to first child ( temp float)
20 0:28        fInsideTessFactor: direct index for structure ( temp float)
21 0:28          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
22 0:28          Constant:
23 0:28            1 (const int)
24 0:28        add ( temp float)
25 0:28          direct index ( temp float)
26 0:28            m_Position: direct index for structure ( temp 4-component vector of float)
27 0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
28 0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
29 0:28                Constant:
30 0:28                  0 (const int)
31 0:28              Constant:
32 0:28                0 (const int)
33 0:28            Constant:
34 0:28              3 (const int)
35 0:28          direct index ( temp float)
36 0:28            m_Normal: direct index for structure ( temp 4-component vector of float)
37 0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
38 0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
39 0:28                Constant:
40 0:28                  0 (const int)
41 0:28              Constant:
42 0:28                1 (const int)
43 0:28            Constant:
44 0:28              3 (const int)
45 0:30      Branch: Return with expression
46 0:30        'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
47 0:39  Function Definition: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
48 0:39    Function Parameters: 
49 0:39      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
50 0:39      'cpid' ( in uint)
51 0:?     Sequence
52 0:40      Sequence
53 0:40        move second child to first child ( temp structure{ temp 4-component vector of float m_Position})
54 0:40          'output' ( temp structure{ temp 4-component vector of float m_Position})
55 0:40          Constant:
56 0:40            0.000000
57 0:40            0.000000
58 0:40            0.000000
59 0:40            0.000000
60 0:41      move second child to first child ( temp 4-component vector of float)
61 0:41        m_Position: direct index for structure ( temp 4-component vector of float)
62 0:41          'output' ( temp structure{ temp 4-component vector of float m_Position})
63 0:41          Constant:
64 0:41            0 (const int)
65 0:41        Constant:
66 0:41          0.000000
67 0:41          0.000000
68 0:41          0.000000
69 0:41          0.000000
70 0:42      Branch: Return with expression
71 0:42        'output' ( temp structure{ temp 4-component vector of float m_Position})
72 0:39  Function Definition: main( ( temp void)
73 0:39    Function Parameters: 
74 0:?     Sequence
75 0:39      Sequence
76 0:39        move second child to first child ( temp 4-component vector of float)
77 0:39          m_Position: direct index for structure ( temp 4-component vector of float)
78 0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
79 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
80 0:39              Constant:
81 0:39                0 (const int)
82 0:39            Constant:
83 0:39              0 (const int)
84 0:39          direct index ( in 4-component vector of float Position)
85 0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
86 0:39            Constant:
87 0:39              0 (const int)
88 0:39        move second child to first child ( temp 4-component vector of float)
89 0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
90 0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
91 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
92 0:39              Constant:
93 0:39                0 (const int)
94 0:39            Constant:
95 0:39              1 (const int)
96 0:39          direct index (layout( location=0) in 4-component vector of float)
97 0:?             'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
98 0:39            Constant:
99 0:39              0 (const int)
100 0:39        move second child to first child ( temp 4-component vector of float)
101 0:39          m_Position: direct index for structure ( temp 4-component vector of float)
102 0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
103 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
104 0:39              Constant:
105 0:39                1 (const int)
106 0:39            Constant:
107 0:39              0 (const int)
108 0:39          direct index ( in 4-component vector of float Position)
109 0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
110 0:39            Constant:
111 0:39              1 (const int)
112 0:39        move second child to first child ( temp 4-component vector of float)
113 0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
114 0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
115 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
116 0:39              Constant:
117 0:39                1 (const int)
118 0:39            Constant:
119 0:39              1 (const int)
120 0:39          direct index (layout( location=0) in 4-component vector of float)
121 0:?             'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
122 0:39            Constant:
123 0:39              1 (const int)
124 0:39        move second child to first child ( temp 4-component vector of float)
125 0:39          m_Position: direct index for structure ( temp 4-component vector of float)
126 0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
127 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
128 0:39              Constant:
129 0:39                2 (const int)
130 0:39            Constant:
131 0:39              0 (const int)
132 0:39          direct index ( in 4-component vector of float Position)
133 0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
134 0:39            Constant:
135 0:39              2 (const int)
136 0:39        move second child to first child ( temp 4-component vector of float)
137 0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
138 0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
139 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
140 0:39              Constant:
141 0:39                2 (const int)
142 0:39            Constant:
143 0:39              1 (const int)
144 0:39          direct index (layout( location=0) in 4-component vector of float)
145 0:?             'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
146 0:39            Constant:
147 0:39              2 (const int)
148 0:39      move second child to first child ( temp uint)
149 0:?         'cpid' ( temp uint)
150 0:?         'cpid' ( in uint InvocationID)
151 0:39      Sequence
152 0:39        move second child to first child ( temp 4-component vector of float)
153 0:39          indirect index ( out 4-component vector of float Position)
154 0:?             '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
155 0:?             'cpid' ( in uint InvocationID)
156 0:39          m_Position: direct index for structure ( temp 4-component vector of float)
157 0:39            Function Call: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
158 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
159 0:?               'cpid' ( temp uint)
160 0:39            Constant:
161 0:39              0 (const int)
162 0:?       Barrier ( temp void)
163 0:?       Test condition and select ( temp void)
164 0:?         Condition
165 0:?         Compare Equal ( temp bool)
166 0:?           'cpid' ( in uint InvocationID)
167 0:?           Constant:
168 0:?             0 (const int)
169 0:?         true case
170 0:?         Sequence
171 0:?           move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
172 0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
173 0:?             Function Call: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
174 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
175 0:?           Sequence
176 0:?             move second child to first child ( temp float)
177 0:?               direct index ( patch out float TessLevelOuter)
178 0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
179 0:?                 Constant:
180 0:?                   0 (const int)
181 0:?               direct index ( temp float)
182 0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
183 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
184 0:?                   Constant:
185 0:?                     0 (const int)
186 0:?                 Constant:
187 0:?                   0 (const int)
188 0:?             move second child to first child ( temp float)
189 0:?               direct index ( patch out float TessLevelOuter)
190 0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
191 0:?                 Constant:
192 0:?                   1 (const int)
193 0:?               direct index ( temp float)
194 0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
195 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
196 0:?                   Constant:
197 0:?                     0 (const int)
198 0:?                 Constant:
199 0:?                   1 (const int)
200 0:?             move second child to first child ( temp float)
201 0:?               direct index ( patch out float TessLevelOuter)
202 0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
203 0:?                 Constant:
204 0:?                   2 (const int)
205 0:?               direct index ( temp float)
206 0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
207 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
208 0:?                   Constant:
209 0:?                     0 (const int)
210 0:?                 Constant:
211 0:?                   2 (const int)
212 0:?             move second child to first child ( temp float)
213 0:?               direct index ( patch out float TessLevelInner)
214 0:?                 '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
215 0:?                 Constant:
216 0:?                   0 (const int)
217 0:?               fInsideTessFactor: direct index for structure ( temp float)
218 0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
219 0:?                 Constant:
220 0:?                   1 (const int)
221 0:?   Linker Objects
222 0:?     '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
223 0:?     'I.m_Position' ( in 3-element array of 4-component vector of float Position)
224 0:?     'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
225 0:?     'cpid' ( in uint InvocationID)
226 0:?     '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
227 0:?     '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
228
229
230 Linked tessellation control stage:
231
232
233 Shader version: 500
234 vertices = 3
235 vertex spacing = fractional_odd_spacing
236 triangle order = cw
237 0:? Sequence
238 0:25  Function Definition: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
239 0:25    Function Parameters: 
240 0:25      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
241 0:?     Sequence
242 0:26      Sequence
243 0:26        move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
244 0:26          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
245 0:26          Constant:
246 0:26            0.000000
247 0:26            0.000000
248 0:26            0.000000
249 0:26            0.000000
250 0:28      move second child to first child ( temp float)
251 0:28        fInsideTessFactor: direct index for structure ( temp float)
252 0:28          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
253 0:28          Constant:
254 0:28            1 (const int)
255 0:28        add ( temp float)
256 0:28          direct index ( temp float)
257 0:28            m_Position: direct index for structure ( temp 4-component vector of float)
258 0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
259 0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
260 0:28                Constant:
261 0:28                  0 (const int)
262 0:28              Constant:
263 0:28                0 (const int)
264 0:28            Constant:
265 0:28              3 (const int)
266 0:28          direct index ( temp float)
267 0:28            m_Normal: direct index for structure ( temp 4-component vector of float)
268 0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
269 0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
270 0:28                Constant:
271 0:28                  0 (const int)
272 0:28              Constant:
273 0:28                1 (const int)
274 0:28            Constant:
275 0:28              3 (const int)
276 0:30      Branch: Return with expression
277 0:30        'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
278 0:39  Function Definition: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
279 0:39    Function Parameters: 
280 0:39      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
281 0:39      'cpid' ( in uint)
282 0:?     Sequence
283 0:40      Sequence
284 0:40        move second child to first child ( temp structure{ temp 4-component vector of float m_Position})
285 0:40          'output' ( temp structure{ temp 4-component vector of float m_Position})
286 0:40          Constant:
287 0:40            0.000000
288 0:40            0.000000
289 0:40            0.000000
290 0:40            0.000000
291 0:41      move second child to first child ( temp 4-component vector of float)
292 0:41        m_Position: direct index for structure ( temp 4-component vector of float)
293 0:41          'output' ( temp structure{ temp 4-component vector of float m_Position})
294 0:41          Constant:
295 0:41            0 (const int)
296 0:41        Constant:
297 0:41          0.000000
298 0:41          0.000000
299 0:41          0.000000
300 0:41          0.000000
301 0:42      Branch: Return with expression
302 0:42        'output' ( temp structure{ temp 4-component vector of float m_Position})
303 0:39  Function Definition: main( ( temp void)
304 0:39    Function Parameters: 
305 0:?     Sequence
306 0:39      Sequence
307 0:39        move second child to first child ( temp 4-component vector of float)
308 0:39          m_Position: direct index for structure ( temp 4-component vector of float)
309 0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
310 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
311 0:39              Constant:
312 0:39                0 (const int)
313 0:39            Constant:
314 0:39              0 (const int)
315 0:39          direct index ( in 4-component vector of float Position)
316 0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
317 0:39            Constant:
318 0:39              0 (const int)
319 0:39        move second child to first child ( temp 4-component vector of float)
320 0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
321 0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
322 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
323 0:39              Constant:
324 0:39                0 (const int)
325 0:39            Constant:
326 0:39              1 (const int)
327 0:39          direct index (layout( location=0) in 4-component vector of float)
328 0:?             'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
329 0:39            Constant:
330 0:39              0 (const int)
331 0:39        move second child to first child ( temp 4-component vector of float)
332 0:39          m_Position: direct index for structure ( temp 4-component vector of float)
333 0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
334 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
335 0:39              Constant:
336 0:39                1 (const int)
337 0:39            Constant:
338 0:39              0 (const int)
339 0:39          direct index ( in 4-component vector of float Position)
340 0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
341 0:39            Constant:
342 0:39              1 (const int)
343 0:39        move second child to first child ( temp 4-component vector of float)
344 0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
345 0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
346 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
347 0:39              Constant:
348 0:39                1 (const int)
349 0:39            Constant:
350 0:39              1 (const int)
351 0:39          direct index (layout( location=0) in 4-component vector of float)
352 0:?             'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
353 0:39            Constant:
354 0:39              1 (const int)
355 0:39        move second child to first child ( temp 4-component vector of float)
356 0:39          m_Position: direct index for structure ( temp 4-component vector of float)
357 0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
358 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
359 0:39              Constant:
360 0:39                2 (const int)
361 0:39            Constant:
362 0:39              0 (const int)
363 0:39          direct index ( in 4-component vector of float Position)
364 0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
365 0:39            Constant:
366 0:39              2 (const int)
367 0:39        move second child to first child ( temp 4-component vector of float)
368 0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
369 0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
370 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
371 0:39              Constant:
372 0:39                2 (const int)
373 0:39            Constant:
374 0:39              1 (const int)
375 0:39          direct index (layout( location=0) in 4-component vector of float)
376 0:?             'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
377 0:39            Constant:
378 0:39              2 (const int)
379 0:39      move second child to first child ( temp uint)
380 0:?         'cpid' ( temp uint)
381 0:?         'cpid' ( in uint InvocationID)
382 0:39      Sequence
383 0:39        move second child to first child ( temp 4-component vector of float)
384 0:39          indirect index ( out 4-component vector of float Position)
385 0:?             '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
386 0:?             'cpid' ( in uint InvocationID)
387 0:39          m_Position: direct index for structure ( temp 4-component vector of float)
388 0:39            Function Call: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
389 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
390 0:?               'cpid' ( temp uint)
391 0:39            Constant:
392 0:39              0 (const int)
393 0:?       Barrier ( temp void)
394 0:?       Test condition and select ( temp void)
395 0:?         Condition
396 0:?         Compare Equal ( temp bool)
397 0:?           'cpid' ( in uint InvocationID)
398 0:?           Constant:
399 0:?             0 (const int)
400 0:?         true case
401 0:?         Sequence
402 0:?           move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
403 0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
404 0:?             Function Call: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
405 0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
406 0:?           Sequence
407 0:?             move second child to first child ( temp float)
408 0:?               direct index ( patch out float TessLevelOuter)
409 0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
410 0:?                 Constant:
411 0:?                   0 (const int)
412 0:?               direct index ( temp float)
413 0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
414 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
415 0:?                   Constant:
416 0:?                     0 (const int)
417 0:?                 Constant:
418 0:?                   0 (const int)
419 0:?             move second child to first child ( temp float)
420 0:?               direct index ( patch out float TessLevelOuter)
421 0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
422 0:?                 Constant:
423 0:?                   1 (const int)
424 0:?               direct index ( temp float)
425 0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
426 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
427 0:?                   Constant:
428 0:?                     0 (const int)
429 0:?                 Constant:
430 0:?                   1 (const int)
431 0:?             move second child to first child ( temp float)
432 0:?               direct index ( patch out float TessLevelOuter)
433 0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
434 0:?                 Constant:
435 0:?                   2 (const int)
436 0:?               direct index ( temp float)
437 0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
438 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
439 0:?                   Constant:
440 0:?                     0 (const int)
441 0:?                 Constant:
442 0:?                   2 (const int)
443 0:?             move second child to first child ( temp float)
444 0:?               direct index ( patch out float TessLevelInner)
445 0:?                 '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
446 0:?                 Constant:
447 0:?                   0 (const int)
448 0:?               fInsideTessFactor: direct index for structure ( temp float)
449 0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
450 0:?                 Constant:
451 0:?                   1 (const int)
452 0:?   Linker Objects
453 0:?     '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
454 0:?     'I.m_Position' ( in 3-element array of 4-component vector of float Position)
455 0:?     'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
456 0:?     'cpid' ( in uint InvocationID)
457 0:?     '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
458 0:?     '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
459
460 // Module Version 10000
461 // Generated by (magic number): 8000a
462 // Id's are bound by 124
463
464                               Capability Tessellation
465                1:             ExtInstImport  "GLSL.std.450"
466                               MemoryModel Logical GLSL450
467                               EntryPoint TessellationControl 4  "main" 56 61 80 83 107 120
468                               ExecutionMode 4 OutputVertices 3
469                               ExecutionMode 4 Triangles
470                               ExecutionMode 4 SpacingFractionalOdd
471                               ExecutionMode 4 VertexOrderCw
472                               Source HLSL 500
473                               Name 4  "main"
474                               Name 8  "HS_Input"
475                               MemberName 8(HS_Input) 0  "m_Position"
476                               MemberName 8(HS_Input) 1  "m_Normal"
477                               Name 14  "HS_Output"
478                               MemberName 14(HS_Output) 0  "fTessFactor"
479                               MemberName 14(HS_Output) 1  "fInsideTessFactor"
480                               Name 17  "HS_ConstFunc(struct-HS_Input-vf4-vf41[3];"
481                               Name 16  "I"
482                               Name 20  "HS_Main_Output"
483                               MemberName 20(HS_Main_Output) 0  "m_Position"
484                               Name 24  "@main(struct-HS_Input-vf4-vf41[3];u1;"
485                               Name 22  "I"
486                               Name 23  "cpid"
487                               Name 27  "O"
488                               Name 45  "output"
489                               Name 53  "I"
490                               Name 56  "I.m_Position"
491                               Name 61  "I.m_Normal"
492                               Name 78  "cpid"
493                               Name 80  "cpid"
494                               Name 83  "@entryPointOutput.m_Position"
495                               Name 85  "param"
496                               Name 87  "param"
497                               Name 101  "@patchConstantResult"
498                               Name 102  "param"
499                               Name 107  "@patchConstantOutput.fTessFactor"
500                               Name 120  "@patchConstantOutput.fInsideTessFactor"
501                               Decorate 56(I.m_Position) BuiltIn Position
502                               Decorate 61(I.m_Normal) Location 0
503                               Decorate 80(cpid) BuiltIn InvocationId
504                               Decorate 83(@entryPointOutput.m_Position) BuiltIn Position
505                               Decorate 107(@patchConstantOutput.fTessFactor) Patch
506                               Decorate 107(@patchConstantOutput.fTessFactor) BuiltIn TessLevelOuter
507                               Decorate 120(@patchConstantOutput.fInsideTessFactor) Patch
508                               Decorate 120(@patchConstantOutput.fInsideTessFactor) BuiltIn TessLevelInner
509                2:             TypeVoid
510                3:             TypeFunction 2
511                6:             TypeFloat 32
512                7:             TypeVector 6(float) 4
513      8(HS_Input):             TypeStruct 7(fvec4) 7(fvec4)
514                9:             TypeInt 32 0
515               10:      9(int) Constant 3
516               11:             TypeArray 8(HS_Input) 10
517               12:             TypePointer Function 11
518               13:             TypeArray 6(float) 10
519    14(HS_Output):             TypeStruct 13 6(float)
520               15:             TypeFunction 14(HS_Output) 12(ptr)
521               19:             TypePointer Function 9(int)
522 20(HS_Main_Output):             TypeStruct 7(fvec4)
523               21:             TypeFunction 20(HS_Main_Output) 12(ptr) 19(ptr)
524               26:             TypePointer Function 14(HS_Output)
525               28:    6(float) Constant 0
526               29:          13 ConstantComposite 28 28 28
527               30:14(HS_Output) ConstantComposite 29 28
528               31:             TypeInt 32 1
529               32:     31(int) Constant 1
530               33:     31(int) Constant 0
531               34:             TypePointer Function 6(float)
532               44:             TypePointer Function 20(HS_Main_Output)
533               46:    7(fvec4) ConstantComposite 28 28 28 28
534               47:20(HS_Main_Output) ConstantComposite 46
535               48:             TypePointer Function 7(fvec4)
536               54:             TypeArray 7(fvec4) 10
537               55:             TypePointer Input 54
538 56(I.m_Position):     55(ptr) Variable Input
539               57:             TypePointer Input 7(fvec4)
540   61(I.m_Normal):     55(ptr) Variable Input
541               71:     31(int) Constant 2
542               79:             TypePointer Input 9(int)
543         80(cpid):     79(ptr) Variable Input
544               82:             TypePointer Output 54
545 83(@entryPointOutput.m_Position):     82(ptr) Variable Output
546               91:             TypePointer Output 7(fvec4)
547               93:      9(int) Constant 2
548               94:      9(int) Constant 4
549               95:      9(int) Constant 0
550               97:             TypeBool
551              105:             TypeArray 6(float) 94
552              106:             TypePointer Output 105
553 107(@patchConstantOutput.fTessFactor):    106(ptr) Variable Output
554              110:             TypePointer Output 6(float)
555              118:             TypeArray 6(float) 93
556              119:             TypePointer Output 118
557 120(@patchConstantOutput.fInsideTessFactor):    119(ptr) Variable Output
558          4(main):           2 Function None 3
559                5:             Label
560            53(I):     12(ptr) Variable Function
561         78(cpid):     19(ptr) Variable Function
562        85(param):     12(ptr) Variable Function
563        87(param):     19(ptr) Variable Function
564 101(@patchConstantResult):     26(ptr) Variable Function
565       102(param):     12(ptr) Variable Function
566               58:     57(ptr) AccessChain 56(I.m_Position) 33
567               59:    7(fvec4) Load 58
568               60:     48(ptr) AccessChain 53(I) 33 33
569                               Store 60 59
570               62:     57(ptr) AccessChain 61(I.m_Normal) 33
571               63:    7(fvec4) Load 62
572               64:     48(ptr) AccessChain 53(I) 33 32
573                               Store 64 63
574               65:     57(ptr) AccessChain 56(I.m_Position) 32
575               66:    7(fvec4) Load 65
576               67:     48(ptr) AccessChain 53(I) 32 33
577                               Store 67 66
578               68:     57(ptr) AccessChain 61(I.m_Normal) 32
579               69:    7(fvec4) Load 68
580               70:     48(ptr) AccessChain 53(I) 32 32
581                               Store 70 69
582               72:     57(ptr) AccessChain 56(I.m_Position) 71
583               73:    7(fvec4) Load 72
584               74:     48(ptr) AccessChain 53(I) 71 33
585                               Store 74 73
586               75:     57(ptr) AccessChain 61(I.m_Normal) 71
587               76:    7(fvec4) Load 75
588               77:     48(ptr) AccessChain 53(I) 71 32
589                               Store 77 76
590               81:      9(int) Load 80(cpid)
591                               Store 78(cpid) 81
592               84:      9(int) Load 80(cpid)
593               86:          11 Load 53(I)
594                               Store 85(param) 86
595               88:      9(int) Load 78(cpid)
596                               Store 87(param) 88
597               89:20(HS_Main_Output) FunctionCall 24(@main(struct-HS_Input-vf4-vf41[3];u1;) 85(param) 87(param)
598               90:    7(fvec4) CompositeExtract 89 0
599               92:     91(ptr) AccessChain 83(@entryPointOutput.m_Position) 84
600                               Store 92 90
601                               ControlBarrier 93 94 95
602               96:      9(int) Load 80(cpid)
603               98:    97(bool) IEqual 96 33
604                               SelectionMerge 100 None
605                               BranchConditional 98 99 100
606               99:               Label
607              103:          11   Load 53(I)
608                                 Store 102(param) 103
609              104:14(HS_Output)   FunctionCall 17(HS_ConstFunc(struct-HS_Input-vf4-vf41[3];) 102(param)
610                                 Store 101(@patchConstantResult) 104
611              108:     34(ptr)   AccessChain 101(@patchConstantResult) 33 33
612              109:    6(float)   Load 108
613              111:    110(ptr)   AccessChain 107(@patchConstantOutput.fTessFactor) 33
614                                 Store 111 109
615              112:     34(ptr)   AccessChain 101(@patchConstantResult) 33 32
616              113:    6(float)   Load 112
617              114:    110(ptr)   AccessChain 107(@patchConstantOutput.fTessFactor) 32
618                                 Store 114 113
619              115:     34(ptr)   AccessChain 101(@patchConstantResult) 33 71
620              116:    6(float)   Load 115
621              117:    110(ptr)   AccessChain 107(@patchConstantOutput.fTessFactor) 71
622                                 Store 117 116
623              121:     34(ptr)   AccessChain 101(@patchConstantResult) 32
624              122:    6(float)   Load 121
625              123:    110(ptr)   AccessChain 120(@patchConstantOutput.fInsideTessFactor) 33
626                                 Store 123 122
627                                 Branch 100
628              100:             Label
629                               Return
630                               FunctionEnd
631 17(HS_ConstFunc(struct-HS_Input-vf4-vf41[3];):14(HS_Output) Function None 15
632            16(I):     12(ptr) FunctionParameter
633               18:             Label
634            27(O):     26(ptr) Variable Function
635                               Store 27(O) 30
636               35:     34(ptr) AccessChain 16(I) 33 33 10
637               36:    6(float) Load 35
638               37:     34(ptr) AccessChain 16(I) 33 32 10
639               38:    6(float) Load 37
640               39:    6(float) FAdd 36 38
641               40:     34(ptr) AccessChain 27(O) 32
642                               Store 40 39
643               41:14(HS_Output) Load 27(O)
644                               ReturnValue 41
645                               FunctionEnd
646 24(@main(struct-HS_Input-vf4-vf41[3];u1;):20(HS_Main_Output) Function None 21
647            22(I):     12(ptr) FunctionParameter
648         23(cpid):     19(ptr) FunctionParameter
649               25:             Label
650       45(output):     44(ptr) Variable Function
651                               Store 45(output) 47
652               49:     48(ptr) AccessChain 45(output) 33
653                               Store 49 46
654               50:20(HS_Main_Output) Load 45(output)
655                               ReturnValue 50
656                               FunctionEnd