4 vertex spacing = equal_spacing
7 0:37 Function Definition: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges, temp float inside})
8 0:37 Function Parameters:
9 0:37 'inputPatch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
10 0:37 'patchId' ( in uint)
12 0:42 move second child to first child ( temp float)
13 0:42 direct index ( temp float)
14 0:42 edges: direct index for structure ( temp 3-element array of float)
15 0:42 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
20 0:42 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
21 0:42 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
24 0:43 move second child to first child ( temp float)
25 0:43 direct index ( temp float)
26 0:43 edges: direct index for structure ( temp 3-element array of float)
27 0:43 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
32 0:43 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
33 0:43 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
36 0:44 move second child to first child ( temp float)
37 0:44 direct index ( temp float)
38 0:44 edges: direct index for structure ( temp 3-element array of float)
39 0:44 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
44 0:44 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
45 0:44 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
48 0:47 move second child to first child ( temp float)
49 0:47 inside: direct index for structure ( temp float)
50 0:47 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
53 0:47 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
54 0:47 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
57 0:49 Branch: Return with expression
58 0:49 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
59 0:63 Function Definition: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
60 0:63 Function Parameters:
61 0:63 'patch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
62 0:63 'pointId' ( in uint)
63 0:63 'patchId' ( in uint)
65 0:67 move second child to first child ( temp 3-component vector of float)
66 0:67 position: direct index for structure ( temp 3-component vector of float)
67 0:67 'output' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
70 0:67 position: direct index for structure ( temp 3-component vector of float)
71 0:67 indirect index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
72 0:67 'patch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
73 0:67 'pointId' ( in uint)
76 0:70 move second child to first child ( temp 4-component vector of float)
77 0:70 color: direct index for structure ( temp 4-component vector of float)
78 0:70 'output' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
81 0:70 color: direct index for structure ( temp 4-component vector of float)
82 0:70 indirect index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
83 0:70 'patch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
84 0:70 'pointId' ( in uint)
87 0:72 Branch: Return with expression
88 0:72 'output' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
89 0:63 Function Definition: main( ( temp void)
90 0:63 Function Parameters:
93 0:63 move second child to first child ( temp 3-component vector of float)
94 0:63 position: direct index for structure ( temp 3-component vector of float)
95 0:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
96 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
101 0:63 direct index (layout( location=0) in 3-component vector of float)
102 0:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float)
105 0:63 move second child to first child ( temp 4-component vector of float)
106 0:63 color: direct index for structure ( temp 4-component vector of float)
107 0:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
108 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
113 0:63 direct index (layout( location=1) in 4-component vector of float)
114 0:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float)
117 0:63 move second child to first child ( temp 3-component vector of float)
118 0:63 position: direct index for structure ( temp 3-component vector of float)
119 0:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
120 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
125 0:63 direct index (layout( location=0) in 3-component vector of float)
126 0:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float)
129 0:63 move second child to first child ( temp 4-component vector of float)
130 0:63 color: direct index for structure ( temp 4-component vector of float)
131 0:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
132 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
137 0:63 direct index (layout( location=1) in 4-component vector of float)
138 0:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float)
141 0:63 move second child to first child ( temp 3-component vector of float)
142 0:63 position: direct index for structure ( temp 3-component vector of float)
143 0:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
144 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
149 0:63 direct index (layout( location=0) in 3-component vector of float)
150 0:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float)
153 0:63 move second child to first child ( temp 4-component vector of float)
154 0:63 color: direct index for structure ( temp 4-component vector of float)
155 0:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
156 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
161 0:63 direct index (layout( location=1) in 4-component vector of float)
162 0:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float)
165 0:63 move second child to first child ( temp uint)
166 0:? 'pointId' ( temp uint)
167 0:? 'pointId' ( in uint InvocationID)
168 0:63 move second child to first child ( temp uint)
169 0:? 'patchId' ( temp uint)
170 0:? 'patchId' ( in uint PrimitiveID)
172 0:63 move second child to first child ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
173 0:63 'flattenTemp' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
174 0:63 Function Call: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
175 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
176 0:? 'pointId' ( temp uint)
177 0:? 'patchId' ( temp uint)
178 0:63 move second child to first child ( temp 3-component vector of float)
179 0:63 indirect index (layout( location=0) out 3-component vector of float)
180 0:? '@entryPointOutput.position' (layout( location=0) out 3-element array of 3-component vector of float)
181 0:? 'pointId' ( in uint InvocationID)
182 0:63 position: direct index for structure ( temp 3-component vector of float)
183 0:63 'flattenTemp' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
186 0:63 move second child to first child ( temp 4-component vector of float)
187 0:63 indirect index (layout( location=1) out 4-component vector of float)
188 0:? '@entryPointOutput.color' (layout( location=1) out 3-element array of 4-component vector of float)
189 0:? 'pointId' ( in uint InvocationID)
190 0:63 color: direct index for structure ( temp 4-component vector of float)
191 0:63 'flattenTemp' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
194 0:? Barrier ( temp void)
195 0:? Test condition and select ( temp void)
197 0:? Compare Equal ( temp bool)
198 0:? 'pointId' ( in uint InvocationID)
203 0:? move second child to first child ( temp structure{ temp 3-element array of float edges, temp float inside})
204 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
205 0:? Function Call: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges, temp float inside})
206 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
207 0:? 'patchId' ( in uint PrimitiveID)
209 0:? move second child to first child ( temp float)
210 0:? direct index ( patch out float TessLevelOuter)
211 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
214 0:? direct index ( temp float)
215 0:? edges: direct index for structure ( temp 3-element array of float)
216 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
221 0:? move second child to first child ( temp float)
222 0:? direct index ( patch out float TessLevelOuter)
223 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
226 0:? direct index ( temp float)
227 0:? edges: direct index for structure ( temp 3-element array of float)
228 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
233 0:? move second child to first child ( temp float)
234 0:? direct index ( patch out float TessLevelOuter)
235 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
238 0:? direct index ( temp float)
239 0:? edges: direct index for structure ( temp 3-element array of float)
240 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
245 0:? move second child to first child ( temp float)
246 0:? direct index ( patch out float TessLevelInner)
247 0:? '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
250 0:? inside: direct index for structure ( temp float)
251 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
255 0:? 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
256 0:? '@entryPointOutput.position' (layout( location=0) out 3-element array of 3-component vector of float)
257 0:? '@entryPointOutput.color' (layout( location=1) out 3-element array of 4-component vector of float)
258 0:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float)
259 0:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float)
260 0:? 'pointId' ( in uint InvocationID)
261 0:? 'patchId' ( in uint PrimitiveID)
262 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
263 0:? '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
266 Linked tessellation control stage:
271 vertex spacing = equal_spacing
274 0:37 Function Definition: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges, temp float inside})
275 0:37 Function Parameters:
276 0:37 'inputPatch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
277 0:37 'patchId' ( in uint)
279 0:42 move second child to first child ( temp float)
280 0:42 direct index ( temp float)
281 0:42 edges: direct index for structure ( temp 3-element array of float)
282 0:42 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
287 0:42 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
288 0:42 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
291 0:43 move second child to first child ( temp float)
292 0:43 direct index ( temp float)
293 0:43 edges: direct index for structure ( temp 3-element array of float)
294 0:43 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
299 0:43 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
300 0:43 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
303 0:44 move second child to first child ( temp float)
304 0:44 direct index ( temp float)
305 0:44 edges: direct index for structure ( temp 3-element array of float)
306 0:44 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
311 0:44 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
312 0:44 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
315 0:47 move second child to first child ( temp float)
316 0:47 inside: direct index for structure ( temp float)
317 0:47 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
320 0:47 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
321 0:47 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
324 0:49 Branch: Return with expression
325 0:49 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
326 0:63 Function Definition: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
327 0:63 Function Parameters:
328 0:63 'patch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
329 0:63 'pointId' ( in uint)
330 0:63 'patchId' ( in uint)
332 0:67 move second child to first child ( temp 3-component vector of float)
333 0:67 position: direct index for structure ( temp 3-component vector of float)
334 0:67 'output' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
337 0:67 position: direct index for structure ( temp 3-component vector of float)
338 0:67 indirect index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
339 0:67 'patch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
340 0:67 'pointId' ( in uint)
343 0:70 move second child to first child ( temp 4-component vector of float)
344 0:70 color: direct index for structure ( temp 4-component vector of float)
345 0:70 'output' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
348 0:70 color: direct index for structure ( temp 4-component vector of float)
349 0:70 indirect index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
350 0:70 'patch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
351 0:70 'pointId' ( in uint)
354 0:72 Branch: Return with expression
355 0:72 'output' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
356 0:63 Function Definition: main( ( temp void)
357 0:63 Function Parameters:
360 0:63 move second child to first child ( temp 3-component vector of float)
361 0:63 position: direct index for structure ( temp 3-component vector of float)
362 0:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
363 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
368 0:63 direct index (layout( location=0) in 3-component vector of float)
369 0:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float)
372 0:63 move second child to first child ( temp 4-component vector of float)
373 0:63 color: direct index for structure ( temp 4-component vector of float)
374 0:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
375 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
380 0:63 direct index (layout( location=1) in 4-component vector of float)
381 0:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float)
384 0:63 move second child to first child ( temp 3-component vector of float)
385 0:63 position: direct index for structure ( temp 3-component vector of float)
386 0:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
387 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
392 0:63 direct index (layout( location=0) in 3-component vector of float)
393 0:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float)
396 0:63 move second child to first child ( temp 4-component vector of float)
397 0:63 color: direct index for structure ( temp 4-component vector of float)
398 0:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
399 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
404 0:63 direct index (layout( location=1) in 4-component vector of float)
405 0:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float)
408 0:63 move second child to first child ( temp 3-component vector of float)
409 0:63 position: direct index for structure ( temp 3-component vector of float)
410 0:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
411 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
416 0:63 direct index (layout( location=0) in 3-component vector of float)
417 0:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float)
420 0:63 move second child to first child ( temp 4-component vector of float)
421 0:63 color: direct index for structure ( temp 4-component vector of float)
422 0:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
423 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
428 0:63 direct index (layout( location=1) in 4-component vector of float)
429 0:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float)
432 0:63 move second child to first child ( temp uint)
433 0:? 'pointId' ( temp uint)
434 0:? 'pointId' ( in uint InvocationID)
435 0:63 move second child to first child ( temp uint)
436 0:? 'patchId' ( temp uint)
437 0:? 'patchId' ( in uint PrimitiveID)
439 0:63 move second child to first child ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
440 0:63 'flattenTemp' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
441 0:63 Function Call: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
442 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
443 0:? 'pointId' ( temp uint)
444 0:? 'patchId' ( temp uint)
445 0:63 move second child to first child ( temp 3-component vector of float)
446 0:63 indirect index (layout( location=0) out 3-component vector of float)
447 0:? '@entryPointOutput.position' (layout( location=0) out 3-element array of 3-component vector of float)
448 0:? 'pointId' ( in uint InvocationID)
449 0:63 position: direct index for structure ( temp 3-component vector of float)
450 0:63 'flattenTemp' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
453 0:63 move second child to first child ( temp 4-component vector of float)
454 0:63 indirect index (layout( location=1) out 4-component vector of float)
455 0:? '@entryPointOutput.color' (layout( location=1) out 3-element array of 4-component vector of float)
456 0:? 'pointId' ( in uint InvocationID)
457 0:63 color: direct index for structure ( temp 4-component vector of float)
458 0:63 'flattenTemp' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
461 0:? Barrier ( temp void)
462 0:? Test condition and select ( temp void)
464 0:? Compare Equal ( temp bool)
465 0:? 'pointId' ( in uint InvocationID)
470 0:? move second child to first child ( temp structure{ temp 3-element array of float edges, temp float inside})
471 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
472 0:? Function Call: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges, temp float inside})
473 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
474 0:? 'patchId' ( in uint PrimitiveID)
476 0:? move second child to first child ( temp float)
477 0:? direct index ( patch out float TessLevelOuter)
478 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
481 0:? direct index ( temp float)
482 0:? edges: direct index for structure ( temp 3-element array of float)
483 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
488 0:? move second child to first child ( temp float)
489 0:? direct index ( patch out float TessLevelOuter)
490 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
493 0:? direct index ( temp float)
494 0:? edges: direct index for structure ( temp 3-element array of float)
495 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
500 0:? move second child to first child ( temp float)
501 0:? direct index ( patch out float TessLevelOuter)
502 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
505 0:? direct index ( temp float)
506 0:? edges: direct index for structure ( temp 3-element array of float)
507 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
512 0:? move second child to first child ( temp float)
513 0:? direct index ( patch out float TessLevelInner)
514 0:? '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
517 0:? inside: direct index for structure ( temp float)
518 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
522 0:? 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
523 0:? '@entryPointOutput.position' (layout( location=0) out 3-element array of 3-component vector of float)
524 0:? '@entryPointOutput.color' (layout( location=1) out 3-element array of 4-component vector of float)
525 0:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float)
526 0:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float)
527 0:? 'pointId' ( in uint InvocationID)
528 0:? 'patchId' ( in uint PrimitiveID)
529 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
530 0:? '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
532 // Module Version 10000
533 // Generated by (magic number): 8000a
534 // Id's are bound by 159
536 Capability Tessellation
537 1: ExtInstImport "GLSL.std.450"
538 MemoryModel Logical GLSL450
539 EntryPoint TessellationControl 4 "main" 73 80 99 102 113 120 142 155
540 ExecutionMode 4 OutputVertices 3
541 ExecutionMode 4 Triangles
542 ExecutionMode 4 SpacingEqual
543 ExecutionMode 4 VertexOrderCw
546 Name 9 "HullInputType"
547 MemberName 9(HullInputType) 0 "position"
548 MemberName 9(HullInputType) 1 "color"
549 Name 16 "ConstantOutputType"
550 MemberName 16(ConstantOutputType) 0 "edges"
551 MemberName 16(ConstantOutputType) 1 "inside"
552 Name 20 "ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;"
555 Name 22 "HullOutputType"
556 MemberName 22(HullOutputType) 0 "position"
557 MemberName 22(HullOutputType) 1 "color"
558 Name 27 "@main(struct-HullInputType-vf3-vf41[3];u1;u1;"
563 Name 33 "TessellationBuffer"
564 MemberName 33(TessellationBuffer) 0 "tessellationAmount"
565 MemberName 33(TessellationBuffer) 1 "padding"
569 Name 73 "patch.position"
570 Name 80 "patch.color"
575 Name 104 "flattenTemp"
579 Name 113 "@entryPointOutput.position"
580 Name 120 "@entryPointOutput.color"
581 Name 134 "@patchConstantResult"
584 Name 142 "@patchConstantOutput.edges"
585 Name 155 "@patchConstantOutput.inside"
586 MemberDecorate 33(TessellationBuffer) 0 Offset 0
587 MemberDecorate 33(TessellationBuffer) 1 Offset 4
588 Decorate 33(TessellationBuffer) Block
589 Decorate 35 DescriptorSet 0
590 Decorate 35 Binding 0
591 Decorate 73(patch.position) Location 0
592 Decorate 80(patch.color) Location 1
593 Decorate 99(pointId) BuiltIn InvocationId
594 Decorate 102(patchId) BuiltIn PrimitiveId
595 Decorate 113(@entryPointOutput.position) Location 0
596 Decorate 120(@entryPointOutput.color) Location 1
597 Decorate 142(@patchConstantOutput.edges) Patch
598 Decorate 142(@patchConstantOutput.edges) BuiltIn TessLevelOuter
599 Decorate 155(@patchConstantOutput.inside) Patch
600 Decorate 155(@patchConstantOutput.inside) BuiltIn TessLevelInner
604 7: TypeVector 6(float) 3
605 8: TypeVector 6(float) 4
606 9(HullInputType): TypeStruct 7(fvec3) 8(fvec4)
608 11: 10(int) Constant 3
609 12: TypeArray 9(HullInputType) 11
610 13: TypePointer Function 12
611 14: TypePointer Function 10(int)
612 15: TypeArray 6(float) 11
613 16(ConstantOutputType): TypeStruct 15 6(float)
614 17: TypeFunction 16(ConstantOutputType) 13(ptr) 14(ptr)
615 22(HullOutputType): TypeStruct 7(fvec3) 8(fvec4)
616 23: TypeFunction 22(HullOutputType) 13(ptr) 14(ptr) 14(ptr)
617 29: TypePointer Function 16(ConstantOutputType)
619 32: 31(int) Constant 0
620 33(TessellationBuffer): TypeStruct 6(float) 7(fvec3)
621 34: TypePointer Uniform 33(TessellationBuffer)
622 35: 34(ptr) Variable Uniform
623 36: TypePointer Uniform 6(float)
624 39: TypePointer Function 6(float)
625 41: 31(int) Constant 1
626 45: 31(int) Constant 2
627 55: TypePointer Function 22(HullOutputType)
628 58: TypePointer Function 7(fvec3)
629 63: TypePointer Function 8(fvec4)
630 71: TypeArray 7(fvec3) 11
631 72: TypePointer Input 71
632 73(patch.position): 72(ptr) Variable Input
633 74: TypePointer Input 7(fvec3)
634 78: TypeArray 8(fvec4) 11
635 79: TypePointer Input 78
636 80(patch.color): 79(ptr) Variable Input
637 81: TypePointer Input 8(fvec4)
638 98: TypePointer Input 10(int)
639 99(pointId): 98(ptr) Variable Input
640 102(patchId): 98(ptr) Variable Input
641 112: TypePointer Output 71
642 113(@entryPointOutput.position): 112(ptr) Variable Output
643 117: TypePointer Output 7(fvec3)
644 119: TypePointer Output 78
645 120(@entryPointOutput.color): 119(ptr) Variable Output
646 124: TypePointer Output 8(fvec4)
647 126: 10(int) Constant 2
648 127: 10(int) Constant 4
649 128: 10(int) Constant 0
651 140: TypeArray 6(float) 127
652 141: TypePointer Output 140
653 142(@patchConstantOutput.edges): 141(ptr) Variable Output
654 145: TypePointer Output 6(float)
655 153: TypeArray 6(float) 126
656 154: TypePointer Output 153
657 155(@patchConstantOutput.inside): 154(ptr) Variable Output
658 4(main): 2 Function None 3
660 70(patch): 13(ptr) Variable Function
661 97(pointId): 14(ptr) Variable Function
662 101(patchId): 14(ptr) Variable Function
663 104(flattenTemp): 55(ptr) Variable Function
664 105(param): 13(ptr) Variable Function
665 107(param): 14(ptr) Variable Function
666 109(param): 14(ptr) Variable Function
667 134(@patchConstantResult): 29(ptr) Variable Function
668 135(param): 13(ptr) Variable Function
669 137(param): 14(ptr) Variable Function
670 75: 74(ptr) AccessChain 73(patch.position) 32
672 77: 58(ptr) AccessChain 70(patch) 32 32
674 82: 81(ptr) AccessChain 80(patch.color) 32
676 84: 63(ptr) AccessChain 70(patch) 32 41
678 85: 74(ptr) AccessChain 73(patch.position) 41
680 87: 58(ptr) AccessChain 70(patch) 41 32
682 88: 81(ptr) AccessChain 80(patch.color) 41
684 90: 63(ptr) AccessChain 70(patch) 41 41
686 91: 74(ptr) AccessChain 73(patch.position) 45
688 93: 58(ptr) AccessChain 70(patch) 45 32
690 94: 81(ptr) AccessChain 80(patch.color) 45
692 96: 63(ptr) AccessChain 70(patch) 45 41
694 100: 10(int) Load 99(pointId)
695 Store 97(pointId) 100
696 103: 10(int) Load 102(patchId)
697 Store 101(patchId) 103
698 106: 12 Load 70(patch)
700 108: 10(int) Load 97(pointId)
702 110: 10(int) Load 101(patchId)
704 111:22(HullOutputType) FunctionCall 27(@main(struct-HullInputType-vf3-vf41[3];u1;u1;) 105(param) 107(param) 109(param)
705 Store 104(flattenTemp) 111
706 114: 10(int) Load 99(pointId)
707 115: 58(ptr) AccessChain 104(flattenTemp) 32
708 116: 7(fvec3) Load 115
709 118: 117(ptr) AccessChain 113(@entryPointOutput.position) 114
711 121: 10(int) Load 99(pointId)
712 122: 63(ptr) AccessChain 104(flattenTemp) 41
713 123: 8(fvec4) Load 122
714 125: 124(ptr) AccessChain 120(@entryPointOutput.color) 121
716 ControlBarrier 126 127 128
717 129: 10(int) Load 99(pointId)
718 131: 130(bool) IEqual 129 32
719 SelectionMerge 133 None
720 BranchConditional 131 132 133
722 136: 12 Load 70(patch)
724 138: 10(int) Load 102(patchId)
726 139:16(ConstantOutputType) FunctionCall 20(ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;) 135(param) 137(param)
727 Store 134(@patchConstantResult) 139
728 143: 39(ptr) AccessChain 134(@patchConstantResult) 32 32
729 144: 6(float) Load 143
730 146: 145(ptr) AccessChain 142(@patchConstantOutput.edges) 32
732 147: 39(ptr) AccessChain 134(@patchConstantResult) 32 41
733 148: 6(float) Load 147
734 149: 145(ptr) AccessChain 142(@patchConstantOutput.edges) 41
736 150: 39(ptr) AccessChain 134(@patchConstantResult) 32 45
737 151: 6(float) Load 150
738 152: 145(ptr) AccessChain 142(@patchConstantOutput.edges) 45
740 156: 39(ptr) AccessChain 134(@patchConstantResult) 41
741 157: 6(float) Load 156
742 158: 145(ptr) AccessChain 155(@patchConstantOutput.inside) 32
748 20(ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;):16(ConstantOutputType) Function None 17
749 18(inputPatch): 13(ptr) FunctionParameter
750 19(patchId): 14(ptr) FunctionParameter
752 30(output): 29(ptr) Variable Function
753 37: 36(ptr) AccessChain 35 32
755 40: 39(ptr) AccessChain 30(output) 32 32
757 42: 36(ptr) AccessChain 35 32
759 44: 39(ptr) AccessChain 30(output) 32 41
761 46: 36(ptr) AccessChain 35 32
763 48: 39(ptr) AccessChain 30(output) 32 45
765 49: 36(ptr) AccessChain 35 32
767 51: 39(ptr) AccessChain 30(output) 41
769 52:16(ConstantOutputType) Load 30(output)
772 27(@main(struct-HullInputType-vf3-vf41[3];u1;u1;):22(HullOutputType) Function None 23
773 24(patch): 13(ptr) FunctionParameter
774 25(pointId): 14(ptr) FunctionParameter
775 26(patchId): 14(ptr) FunctionParameter
777 56(output): 55(ptr) Variable Function
778 57: 10(int) Load 25(pointId)
779 59: 58(ptr) AccessChain 24(patch) 57 32
781 61: 58(ptr) AccessChain 56(output) 32
783 62: 10(int) Load 25(pointId)
784 64: 63(ptr) AccessChain 24(patch) 62 41
786 66: 63(ptr) AccessChain 56(output) 41
788 67:22(HullOutputType) Load 56(output)