4 vertex spacing = fractional_odd_spacing
7 0:31 Function Definition: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
8 0:31 Function Parameters:
9 0:31 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
12 0:32 move second child to first child ( temp 3-component vector of float)
13 0:32 'roundedEdgeTessFactor' ( temp 3-component vector of float)
14 0:32 tess_factor: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
15 0:32 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
19 0:33 move second child to first child ( temp float)
20 0:33 'roundedInsideTessFactor' ( temp float)
24 0:34 move second child to first child ( temp float)
25 0:34 'insideTessFactor' ( temp float)
28 0:39 move second child to first child ( temp float)
29 0:39 direct index ( temp float)
30 0:39 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
31 0:39 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
36 0:39 direct index ( temp float)
37 0:39 'roundedEdgeTessFactor' ( temp 3-component vector of float)
40 0:40 move second child to first child ( temp float)
41 0:40 direct index ( temp float)
42 0:40 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
43 0:40 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
48 0:40 direct index ( temp float)
49 0:40 'roundedEdgeTessFactor' ( temp 3-component vector of float)
52 0:41 move second child to first child ( temp float)
53 0:41 direct index ( temp float)
54 0:41 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
55 0:41 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
60 0:41 direct index ( temp float)
61 0:41 'roundedEdgeTessFactor' ( temp 3-component vector of float)
64 0:42 move second child to first child ( temp float)
65 0:42 InsideTessFactor: direct index for structure ( temp float)
66 0:42 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
69 0:42 'roundedInsideTessFactor' ( temp float)
70 0:45 move second child to first child ( temp 3-component vector of float)
71 0:45 direct index ( temp 3-component vector of float)
72 0:45 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
73 0:45 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
78 0:45 NormalWS: direct index for structure ( temp 3-component vector of float)
79 0:45 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
80 0:45 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
85 0:46 move second child to first child ( temp 3-component vector of float)
86 0:46 direct index ( temp 3-component vector of float)
87 0:46 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
88 0:46 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
93 0:46 NormalWS: direct index for structure ( temp 3-component vector of float)
94 0:46 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
95 0:46 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
100 0:47 move second child to first child ( temp 3-component vector of float)
101 0:47 direct index ( temp 3-component vector of float)
102 0:47 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
103 0:47 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
108 0:47 NormalWS: direct index for structure ( temp 3-component vector of float)
109 0:47 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
110 0:47 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
115 0:49 Branch: Return with expression
116 0:49 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
117 0:61 Function Definition: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
118 0:61 Function Parameters:
119 0:61 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
122 0:63 move second child to first child ( temp 3-component vector of float)
123 0:63 PositionWS: direct index for structure ( temp 3-component vector of float)
124 0:63 'output' ( temp structure{ temp 3-component vector of float PositionWS})
127 0:63 PositionWS: direct index for structure ( temp 3-component vector of float)
128 0:63 indirect index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
129 0:63 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
133 0:64 Branch: Return with expression
134 0:64 'output' ( temp structure{ temp 3-component vector of float PositionWS})
135 0:61 Function Definition: HSMain( ( temp void)
136 0:61 Function Parameters:
139 0:61 move second child to first child ( temp 3-component vector of float)
140 0:61 PositionWS: direct index for structure ( temp 3-component vector of float)
141 0:61 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
142 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
147 0:61 direct index (layout( location=0) in 3-component vector of float)
148 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
151 0:61 move second child to first child ( temp 3-component vector of float)
152 0:61 NormalWS: direct index for structure ( temp 3-component vector of float)
153 0:61 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
154 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
159 0:61 direct index (layout( location=1) in 3-component vector of float)
160 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
163 0:61 move second child to first child ( temp 3-component vector of float)
164 0:61 PositionWS: direct index for structure ( temp 3-component vector of float)
165 0:61 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
166 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
171 0:61 direct index (layout( location=0) in 3-component vector of float)
172 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
175 0:61 move second child to first child ( temp 3-component vector of float)
176 0:61 NormalWS: direct index for structure ( temp 3-component vector of float)
177 0:61 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
178 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
183 0:61 direct index (layout( location=1) in 3-component vector of float)
184 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
187 0:61 move second child to first child ( temp 3-component vector of float)
188 0:61 PositionWS: direct index for structure ( temp 3-component vector of float)
189 0:61 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
190 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
195 0:61 direct index (layout( location=0) in 3-component vector of float)
196 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
199 0:61 move second child to first child ( temp 3-component vector of float)
200 0:61 NormalWS: direct index for structure ( temp 3-component vector of float)
201 0:61 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
202 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
207 0:61 direct index (layout( location=1) in 3-component vector of float)
208 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
211 0:61 move second child to first child ( temp uint)
212 0:? 'id' ( temp uint)
213 0:? 'id' ( in uint InvocationID)
215 0:61 move second child to first child ( temp 3-component vector of float)
216 0:61 indirect index (layout( location=0) out 3-component vector of float)
217 0:? '@entryPointOutput.PositionWS' (layout( location=0) out 3-element array of 3-component vector of float)
218 0:? 'id' ( in uint InvocationID)
219 0:61 PositionWS: direct index for structure ( temp 3-component vector of float)
220 0:61 Function Call: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
221 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
222 0:? 'id' ( temp uint)
225 0:? Barrier ( temp void)
226 0:? Test condition and select ( temp void)
228 0:? Compare Equal ( temp bool)
229 0:? 'id' ( in uint InvocationID)
234 0:? move second child to first child ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
235 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
236 0:? Function Call: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
237 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
239 0:? move second child to first child ( temp float)
240 0:? direct index ( patch out float TessLevelOuter)
241 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
244 0:? direct index ( temp float)
245 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float)
246 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
251 0:? move second child to first child ( temp float)
252 0:? direct index ( patch out float TessLevelOuter)
253 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
256 0:? direct index ( temp float)
257 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float)
258 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
263 0:? move second child to first child ( temp float)
264 0:? direct index ( patch out float TessLevelOuter)
265 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
268 0:? direct index ( temp float)
269 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float)
270 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
275 0:? move second child to first child ( temp float)
276 0:? direct index ( patch out float TessLevelInner)
277 0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
280 0:? InsideTessFactor: direct index for structure ( temp float)
281 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
284 0:? move second child to first child ( temp 3-component vector of float)
285 0:? '@patchConstantOutput.NormalWS[0]' (layout( location=1) patch out 3-component vector of float)
286 0:? direct index ( temp 3-component vector of float)
287 0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
288 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
293 0:? move second child to first child ( temp 3-component vector of float)
294 0:? '@patchConstantOutput.NormalWS[1]' (layout( location=2) patch out 3-component vector of float)
295 0:? direct index ( temp 3-component vector of float)
296 0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
297 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
302 0:? move second child to first child ( temp 3-component vector of float)
303 0:? '@patchConstantOutput.NormalWS[2]' (layout( location=3) patch out 3-component vector of float)
304 0:? direct index ( temp 3-component vector of float)
305 0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
306 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
311 0:84 Function Definition: GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41; ( temp void)
312 0:84 Function Parameters:
313 0:84 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
314 0:84 'output' ( out structure{ temp 4-component vector of float PositionCS})
317 0:86 move second child to first child ( temp 3-component vector of float)
318 0:86 'P0' ( temp 3-component vector of float)
319 0:86 vector swizzle ( temp 3-component vector of float)
320 0:86 PositionWS: direct index for structure ( temp 3-component vector of float)
321 0:86 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
322 0:86 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
335 0:87 move second child to first child ( temp 3-component vector of float)
336 0:87 'P1' ( temp 3-component vector of float)
337 0:87 vector swizzle ( temp 3-component vector of float)
338 0:87 PositionWS: direct index for structure ( temp 3-component vector of float)
339 0:87 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
340 0:87 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
353 0:88 move second child to first child ( temp 3-component vector of float)
354 0:88 'P2' ( temp 3-component vector of float)
355 0:88 vector swizzle ( temp 3-component vector of float)
356 0:88 PositionWS: direct index for structure ( temp 3-component vector of float)
357 0:88 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
358 0:88 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
370 0:92 add second child into first child ( temp float)
371 0:92 direct index ( temp float)
372 0:92 'P0' ( temp 3-component vector of float)
377 0:93 add second child into first child ( temp float)
378 0:93 direct index ( temp float)
379 0:93 'P1' ( temp 3-component vector of float)
384 0:94 add second child into first child ( temp float)
385 0:94 direct index ( temp float)
386 0:94 'P2' ( temp 3-component vector of float)
392 0:95 move second child to first child ( temp 4-component vector of float)
393 0:95 'Q0' ( temp 4-component vector of float)
394 0:95 vector-times-matrix ( temp 4-component vector of float)
395 0:95 Construct vec4 ( temp 4-component vector of float)
396 0:95 'P0' ( temp 3-component vector of float)
399 0:95 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
400 0:95 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
404 0:96 move second child to first child ( temp 4-component vector of float)
405 0:96 'Q1' ( temp 4-component vector of float)
406 0:96 vector-times-matrix ( temp 4-component vector of float)
407 0:96 Construct vec4 ( temp 4-component vector of float)
408 0:96 'P1' ( temp 3-component vector of float)
411 0:96 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
412 0:96 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
416 0:97 move second child to first child ( temp 4-component vector of float)
417 0:97 'Q2' ( temp 4-component vector of float)
418 0:97 vector-times-matrix ( temp 4-component vector of float)
419 0:97 Construct vec4 ( temp 4-component vector of float)
420 0:97 'P2' ( temp 3-component vector of float)
423 0:97 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
424 0:97 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
427 0:100 move second child to first child ( temp 4-component vector of float)
428 0:100 PositionCS: direct index for structure ( temp 4-component vector of float)
429 0:100 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
432 0:100 'Q0' ( temp 4-component vector of float)
435 0:102 move second child to first child ( temp 4-component vector of float)
436 0:102 PositionCS: direct index for structure ( temp 4-component vector of float)
437 0:102 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
440 0:102 'Q1' ( temp 4-component vector of float)
445 0:107 move second child to first child ( temp 4-component vector of float)
446 0:107 PositionCS: direct index for structure ( temp 4-component vector of float)
447 0:107 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
450 0:107 'Q1' ( temp 4-component vector of float)
453 0:109 move second child to first child ( temp 4-component vector of float)
454 0:109 PositionCS: direct index for structure ( temp 4-component vector of float)
455 0:109 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
458 0:109 'Q2' ( temp 4-component vector of float)
463 0:114 move second child to first child ( temp 4-component vector of float)
464 0:114 PositionCS: direct index for structure ( temp 4-component vector of float)
465 0:114 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
468 0:114 'Q2' ( temp 4-component vector of float)
471 0:116 move second child to first child ( temp 4-component vector of float)
472 0:116 PositionCS: direct index for structure ( temp 4-component vector of float)
473 0:116 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
476 0:116 'Q0' ( temp 4-component vector of float)
482 0:? 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
483 0:? '@entryPointOutput.PositionWS' (layout( location=0) out 3-element array of 3-component vector of float)
484 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
485 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
486 0:? 'id' ( in uint InvocationID)
487 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
488 0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
489 0:? '@patchConstantOutput.NormalWS[0]' (layout( location=1) patch out 3-component vector of float)
490 0:? '@patchConstantOutput.NormalWS[1]' (layout( location=2) patch out 3-component vector of float)
491 0:? '@patchConstantOutput.NormalWS[2]' (layout( location=3) patch out 3-component vector of float)
494 Linked tessellation control stage:
499 vertex spacing = fractional_odd_spacing
502 0:31 Function Definition: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
503 0:31 Function Parameters:
504 0:31 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
507 0:32 move second child to first child ( temp 3-component vector of float)
508 0:32 'roundedEdgeTessFactor' ( temp 3-component vector of float)
509 0:32 tess_factor: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
510 0:32 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
514 0:33 move second child to first child ( temp float)
515 0:33 'roundedInsideTessFactor' ( temp float)
519 0:34 move second child to first child ( temp float)
520 0:34 'insideTessFactor' ( temp float)
523 0:39 move second child to first child ( temp float)
524 0:39 direct index ( temp float)
525 0:39 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
526 0:39 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
531 0:39 direct index ( temp float)
532 0:39 'roundedEdgeTessFactor' ( temp 3-component vector of float)
535 0:40 move second child to first child ( temp float)
536 0:40 direct index ( temp float)
537 0:40 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
538 0:40 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
543 0:40 direct index ( temp float)
544 0:40 'roundedEdgeTessFactor' ( temp 3-component vector of float)
547 0:41 move second child to first child ( temp float)
548 0:41 direct index ( temp float)
549 0:41 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
550 0:41 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
555 0:41 direct index ( temp float)
556 0:41 'roundedEdgeTessFactor' ( temp 3-component vector of float)
559 0:42 move second child to first child ( temp float)
560 0:42 InsideTessFactor: direct index for structure ( temp float)
561 0:42 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
564 0:42 'roundedInsideTessFactor' ( temp float)
565 0:45 move second child to first child ( temp 3-component vector of float)
566 0:45 direct index ( temp 3-component vector of float)
567 0:45 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
568 0:45 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
573 0:45 NormalWS: direct index for structure ( temp 3-component vector of float)
574 0:45 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
575 0:45 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
580 0:46 move second child to first child ( temp 3-component vector of float)
581 0:46 direct index ( temp 3-component vector of float)
582 0:46 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
583 0:46 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
588 0:46 NormalWS: direct index for structure ( temp 3-component vector of float)
589 0:46 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
590 0:46 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
595 0:47 move second child to first child ( temp 3-component vector of float)
596 0:47 direct index ( temp 3-component vector of float)
597 0:47 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
598 0:47 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
603 0:47 NormalWS: direct index for structure ( temp 3-component vector of float)
604 0:47 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
605 0:47 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
610 0:49 Branch: Return with expression
611 0:49 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
612 0:61 Function Definition: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
613 0:61 Function Parameters:
614 0:61 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
617 0:63 move second child to first child ( temp 3-component vector of float)
618 0:63 PositionWS: direct index for structure ( temp 3-component vector of float)
619 0:63 'output' ( temp structure{ temp 3-component vector of float PositionWS})
622 0:63 PositionWS: direct index for structure ( temp 3-component vector of float)
623 0:63 indirect index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
624 0:63 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
628 0:64 Branch: Return with expression
629 0:64 'output' ( temp structure{ temp 3-component vector of float PositionWS})
630 0:61 Function Definition: HSMain( ( temp void)
631 0:61 Function Parameters:
634 0:61 move second child to first child ( temp 3-component vector of float)
635 0:61 PositionWS: direct index for structure ( temp 3-component vector of float)
636 0:61 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
637 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
642 0:61 direct index (layout( location=0) in 3-component vector of float)
643 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
646 0:61 move second child to first child ( temp 3-component vector of float)
647 0:61 NormalWS: direct index for structure ( temp 3-component vector of float)
648 0:61 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
649 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
654 0:61 direct index (layout( location=1) in 3-component vector of float)
655 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
658 0:61 move second child to first child ( temp 3-component vector of float)
659 0:61 PositionWS: direct index for structure ( temp 3-component vector of float)
660 0:61 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
661 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
666 0:61 direct index (layout( location=0) in 3-component vector of float)
667 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
670 0:61 move second child to first child ( temp 3-component vector of float)
671 0:61 NormalWS: direct index for structure ( temp 3-component vector of float)
672 0:61 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
673 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
678 0:61 direct index (layout( location=1) in 3-component vector of float)
679 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
682 0:61 move second child to first child ( temp 3-component vector of float)
683 0:61 PositionWS: direct index for structure ( temp 3-component vector of float)
684 0:61 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
685 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
690 0:61 direct index (layout( location=0) in 3-component vector of float)
691 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
694 0:61 move second child to first child ( temp 3-component vector of float)
695 0:61 NormalWS: direct index for structure ( temp 3-component vector of float)
696 0:61 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
697 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
702 0:61 direct index (layout( location=1) in 3-component vector of float)
703 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
706 0:61 move second child to first child ( temp uint)
707 0:? 'id' ( temp uint)
708 0:? 'id' ( in uint InvocationID)
710 0:61 move second child to first child ( temp 3-component vector of float)
711 0:61 indirect index (layout( location=0) out 3-component vector of float)
712 0:? '@entryPointOutput.PositionWS' (layout( location=0) out 3-element array of 3-component vector of float)
713 0:? 'id' ( in uint InvocationID)
714 0:61 PositionWS: direct index for structure ( temp 3-component vector of float)
715 0:61 Function Call: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
716 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
717 0:? 'id' ( temp uint)
720 0:? Barrier ( temp void)
721 0:? Test condition and select ( temp void)
723 0:? Compare Equal ( temp bool)
724 0:? 'id' ( in uint InvocationID)
729 0:? move second child to first child ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
730 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
731 0:? Function Call: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
732 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
734 0:? move second child to first child ( temp float)
735 0:? direct index ( patch out float TessLevelOuter)
736 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
739 0:? direct index ( temp float)
740 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float)
741 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
746 0:? move second child to first child ( temp float)
747 0:? direct index ( patch out float TessLevelOuter)
748 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
751 0:? direct index ( temp float)
752 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float)
753 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
758 0:? move second child to first child ( temp float)
759 0:? direct index ( patch out float TessLevelOuter)
760 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
763 0:? direct index ( temp float)
764 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float)
765 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
770 0:? move second child to first child ( temp float)
771 0:? direct index ( patch out float TessLevelInner)
772 0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
775 0:? InsideTessFactor: direct index for structure ( temp float)
776 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
779 0:? move second child to first child ( temp 3-component vector of float)
780 0:? '@patchConstantOutput.NormalWS[0]' (layout( location=1) patch out 3-component vector of float)
781 0:? direct index ( temp 3-component vector of float)
782 0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
783 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
788 0:? move second child to first child ( temp 3-component vector of float)
789 0:? '@patchConstantOutput.NormalWS[1]' (layout( location=2) patch out 3-component vector of float)
790 0:? direct index ( temp 3-component vector of float)
791 0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
792 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
797 0:? move second child to first child ( temp 3-component vector of float)
798 0:? '@patchConstantOutput.NormalWS[2]' (layout( location=3) patch out 3-component vector of float)
799 0:? direct index ( temp 3-component vector of float)
800 0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
801 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
806 0:84 Function Definition: GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41; ( temp void)
807 0:84 Function Parameters:
808 0:84 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
809 0:84 'output' ( out structure{ temp 4-component vector of float PositionCS})
812 0:86 move second child to first child ( temp 3-component vector of float)
813 0:86 'P0' ( temp 3-component vector of float)
814 0:86 vector swizzle ( temp 3-component vector of float)
815 0:86 PositionWS: direct index for structure ( temp 3-component vector of float)
816 0:86 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
817 0:86 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
830 0:87 move second child to first child ( temp 3-component vector of float)
831 0:87 'P1' ( temp 3-component vector of float)
832 0:87 vector swizzle ( temp 3-component vector of float)
833 0:87 PositionWS: direct index for structure ( temp 3-component vector of float)
834 0:87 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
835 0:87 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
848 0:88 move second child to first child ( temp 3-component vector of float)
849 0:88 'P2' ( temp 3-component vector of float)
850 0:88 vector swizzle ( temp 3-component vector of float)
851 0:88 PositionWS: direct index for structure ( temp 3-component vector of float)
852 0:88 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
853 0:88 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
865 0:92 add second child into first child ( temp float)
866 0:92 direct index ( temp float)
867 0:92 'P0' ( temp 3-component vector of float)
872 0:93 add second child into first child ( temp float)
873 0:93 direct index ( temp float)
874 0:93 'P1' ( temp 3-component vector of float)
879 0:94 add second child into first child ( temp float)
880 0:94 direct index ( temp float)
881 0:94 'P2' ( temp 3-component vector of float)
887 0:95 move second child to first child ( temp 4-component vector of float)
888 0:95 'Q0' ( temp 4-component vector of float)
889 0:95 vector-times-matrix ( temp 4-component vector of float)
890 0:95 Construct vec4 ( temp 4-component vector of float)
891 0:95 'P0' ( temp 3-component vector of float)
894 0:95 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
895 0:95 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
899 0:96 move second child to first child ( temp 4-component vector of float)
900 0:96 'Q1' ( temp 4-component vector of float)
901 0:96 vector-times-matrix ( temp 4-component vector of float)
902 0:96 Construct vec4 ( temp 4-component vector of float)
903 0:96 'P1' ( temp 3-component vector of float)
906 0:96 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
907 0:96 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
911 0:97 move second child to first child ( temp 4-component vector of float)
912 0:97 'Q2' ( temp 4-component vector of float)
913 0:97 vector-times-matrix ( temp 4-component vector of float)
914 0:97 Construct vec4 ( temp 4-component vector of float)
915 0:97 'P2' ( temp 3-component vector of float)
918 0:97 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
919 0:97 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
922 0:100 move second child to first child ( temp 4-component vector of float)
923 0:100 PositionCS: direct index for structure ( temp 4-component vector of float)
924 0:100 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
927 0:100 'Q0' ( temp 4-component vector of float)
930 0:102 move second child to first child ( temp 4-component vector of float)
931 0:102 PositionCS: direct index for structure ( temp 4-component vector of float)
932 0:102 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
935 0:102 'Q1' ( temp 4-component vector of float)
940 0:107 move second child to first child ( temp 4-component vector of float)
941 0:107 PositionCS: direct index for structure ( temp 4-component vector of float)
942 0:107 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
945 0:107 'Q1' ( temp 4-component vector of float)
948 0:109 move second child to first child ( temp 4-component vector of float)
949 0:109 PositionCS: direct index for structure ( temp 4-component vector of float)
950 0:109 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
953 0:109 'Q2' ( temp 4-component vector of float)
958 0:114 move second child to first child ( temp 4-component vector of float)
959 0:114 PositionCS: direct index for structure ( temp 4-component vector of float)
960 0:114 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
963 0:114 'Q2' ( temp 4-component vector of float)
966 0:116 move second child to first child ( temp 4-component vector of float)
967 0:116 PositionCS: direct index for structure ( temp 4-component vector of float)
968 0:116 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
971 0:116 'Q0' ( temp 4-component vector of float)
977 0:? 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
978 0:? '@entryPointOutput.PositionWS' (layout( location=0) out 3-element array of 3-component vector of float)
979 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float)
980 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float)
981 0:? 'id' ( in uint InvocationID)
982 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
983 0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
984 0:? '@patchConstantOutput.NormalWS[0]' (layout( location=1) patch out 3-component vector of float)
985 0:? '@patchConstantOutput.NormalWS[1]' (layout( location=2) patch out 3-component vector of float)
986 0:? '@patchConstantOutput.NormalWS[2]' (layout( location=3) patch out 3-component vector of float)
988 // Module Version 10000
989 // Generated by (magic number): 8000a
990 // Id's are bound by 236
992 Capability Tessellation
993 1: ExtInstImport "GLSL.std.450"
994 MemoryModel Logical GLSL450
995 EntryPoint TessellationControl 4 "HSMain" 97 102 120 123 145 158 162 165 168
996 ExecutionMode 4 OutputVertices 3
997 ExecutionMode 4 Triangles
998 ExecutionMode 4 SpacingFractionalOdd
999 ExecutionMode 4 VertexOrderCcw
1003 MemberName 8(HSInput) 0 "PositionWS"
1004 MemberName 8(HSInput) 1 "NormalWS"
1005 Name 15 "HSTrianglePatchConstant"
1006 MemberName 15(HSTrianglePatchConstant) 0 "EdgeTessFactor"
1007 MemberName 15(HSTrianglePatchConstant) 1 "InsideTessFactor"
1008 MemberName 15(HSTrianglePatchConstant) 2 "NormalWS"
1009 Name 18 "HSPatchConstant(struct-HSInput-vf3-vf31[3];"
1012 MemberName 21(HSOutput) 0 "PositionWS"
1013 Name 25 "@HSMain(struct-HSInput-vf3-vf31[3];u1;"
1016 Name 27 "GSVertexInput"
1017 MemberName 27(GSVertexInput) 0 "PositionWS"
1018 MemberName 27(GSVertexInput) 1 "NormalWS"
1019 Name 31 "GSVertexOutput"
1020 MemberName 31(GSVertexOutput) 0 "PositionCS"
1021 Name 36 "GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41;"
1024 Name 39 "roundedEdgeTessFactor"
1025 Name 42 "UniformBlock0"
1026 MemberName 42(UniformBlock0) 0 "model_view_matrix"
1027 MemberName 42(UniformBlock0) 1 "proj_matrix"
1028 MemberName 42(UniformBlock0) 2 "model_view_proj_matrix"
1029 MemberName 42(UniformBlock0) 3 "normal_matrix"
1030 MemberName 42(UniformBlock0) 4 "color"
1031 MemberName 42(UniformBlock0) 5 "view_dir"
1032 MemberName 42(UniformBlock0) 6 "tess_factor"
1034 Name 51 "roundedInsideTessFactor"
1035 Name 53 "insideTessFactor"
1039 Name 97 "patch.PositionWS"
1040 Name 102 "patch.NormalWS"
1043 Name 123 "@entryPointOutput.PositionWS"
1046 Name 139 "@patchConstantResult"
1048 Name 145 "@patchConstantOutput.EdgeTessFactor"
1049 Name 158 "@patchConstantOutput.InsideTessFactor"
1050 Name 162 "@patchConstantOutput.NormalWS[0]"
1051 Name 165 "@patchConstantOutput.NormalWS[1]"
1052 Name 168 "@patchConstantOutput.NormalWS[2]"
1060 MemberDecorate 42(UniformBlock0) 0 RowMajor
1061 MemberDecorate 42(UniformBlock0) 0 Offset 0
1062 MemberDecorate 42(UniformBlock0) 0 MatrixStride 16
1063 MemberDecorate 42(UniformBlock0) 1 RowMajor
1064 MemberDecorate 42(UniformBlock0) 1 Offset 64
1065 MemberDecorate 42(UniformBlock0) 1 MatrixStride 16
1066 MemberDecorate 42(UniformBlock0) 2 RowMajor
1067 MemberDecorate 42(UniformBlock0) 2 Offset 128
1068 MemberDecorate 42(UniformBlock0) 2 MatrixStride 16
1069 MemberDecorate 42(UniformBlock0) 3 RowMajor
1070 MemberDecorate 42(UniformBlock0) 3 Offset 192
1071 MemberDecorate 42(UniformBlock0) 3 MatrixStride 16
1072 MemberDecorate 42(UniformBlock0) 4 Offset 240
1073 MemberDecorate 42(UniformBlock0) 5 Offset 256
1074 MemberDecorate 42(UniformBlock0) 6 Offset 272
1075 Decorate 42(UniformBlock0) Block
1076 Decorate 44 DescriptorSet 0
1077 Decorate 44 Binding 0
1078 Decorate 97(patch.PositionWS) Location 0
1079 Decorate 102(patch.NormalWS) Location 1
1080 Decorate 120(id) BuiltIn InvocationId
1081 Decorate 123(@entryPointOutput.PositionWS) Location 0
1082 Decorate 145(@patchConstantOutput.EdgeTessFactor) Patch
1083 Decorate 145(@patchConstantOutput.EdgeTessFactor) BuiltIn TessLevelOuter
1084 Decorate 158(@patchConstantOutput.InsideTessFactor) Patch
1085 Decorate 158(@patchConstantOutput.InsideTessFactor) BuiltIn TessLevelInner
1086 Decorate 162(@patchConstantOutput.NormalWS[0]) Patch
1087 Decorate 162(@patchConstantOutput.NormalWS[0]) Location 1
1088 Decorate 165(@patchConstantOutput.NormalWS[1]) Patch
1089 Decorate 165(@patchConstantOutput.NormalWS[1]) Location 2
1090 Decorate 168(@patchConstantOutput.NormalWS[2]) Patch
1091 Decorate 168(@patchConstantOutput.NormalWS[2]) Location 3
1095 7: TypeVector 6(float) 3
1096 8(HSInput): TypeStruct 7(fvec3) 7(fvec3)
1098 10: 9(int) Constant 3
1099 11: TypeArray 8(HSInput) 10
1100 12: TypePointer Function 11
1101 13: TypeArray 6(float) 10
1102 14: TypeArray 7(fvec3) 10
1103 15(HSTrianglePatchConstant): TypeStruct 13 6(float) 14
1104 16: TypeFunction 15(HSTrianglePatchConstant) 12(ptr)
1105 20: TypePointer Function 9(int)
1106 21(HSOutput): TypeStruct 7(fvec3)
1107 22: TypeFunction 21(HSOutput) 12(ptr) 20(ptr)
1108 27(GSVertexInput): TypeStruct 7(fvec3) 7(fvec3)
1109 28: TypeArray 27(GSVertexInput) 10
1110 29: TypePointer Function 28
1111 30: TypeVector 6(float) 4
1112 31(GSVertexOutput): TypeStruct 30(fvec4)
1113 32: TypePointer Function 31(GSVertexOutput)
1114 33: TypeFunction 2 29(ptr) 32(ptr)
1115 38: TypePointer Function 7(fvec3)
1116 40: TypeMatrix 30(fvec4) 4
1117 41: TypeMatrix 7(fvec3) 3
1118 42(UniformBlock0): TypeStruct 40 40 40 41 7(fvec3) 7(fvec3) 7(fvec3)
1119 43: TypePointer Uniform 42(UniformBlock0)
1120 44: 43(ptr) Variable Uniform
1122 46: 45(int) Constant 6
1123 47: TypePointer Uniform 7(fvec3)
1124 50: TypePointer Function 6(float)
1125 52: 6(float) Constant 1077936128
1126 54: 6(float) Constant 1065353216
1127 55: TypePointer Function 15(HSTrianglePatchConstant)
1128 57: 45(int) Constant 0
1129 58: 9(int) Constant 0
1130 62: 45(int) Constant 1
1131 63: 9(int) Constant 1
1132 67: 45(int) Constant 2
1133 68: 9(int) Constant 2
1134 86: TypePointer Function 21(HSOutput)
1135 96: TypePointer Input 14
1136 97(patch.PositionWS): 96(ptr) Variable Input
1137 98: TypePointer Input 7(fvec3)
1138 102(patch.NormalWS): 96(ptr) Variable Input
1139 119: TypePointer Input 9(int)
1140 120(id): 119(ptr) Variable Input
1141 122: TypePointer Output 14
1142 123(@entryPointOutput.PositionWS): 122(ptr) Variable Output
1143 131: TypePointer Output 7(fvec3)
1144 133: 9(int) Constant 4
1146 143: TypeArray 6(float) 133
1147 144: TypePointer Output 143
1148 145(@patchConstantOutput.EdgeTessFactor): 144(ptr) Variable Output
1149 148: TypePointer Output 6(float)
1150 156: TypeArray 6(float) 68
1151 157: TypePointer Output 156
1152 158(@patchConstantOutput.InsideTessFactor): 157(ptr) Variable Output
1153 162(@patchConstantOutput.NormalWS[0]): 131(ptr) Variable Output
1154 165(@patchConstantOutput.NormalWS[1]): 131(ptr) Variable Output
1155 168(@patchConstantOutput.NormalWS[2]): 131(ptr) Variable Output
1156 180: 6(float) Constant 981668463
1157 193: TypePointer Function 30(fvec4)
1158 200: TypePointer Uniform 40
1159 225: 6(float) Constant 0
1160 4(HSMain): 2 Function None 3
1162 95(patch): 12(ptr) Variable Function
1163 118(id): 20(ptr) Variable Function
1164 125(param): 12(ptr) Variable Function
1165 127(param): 20(ptr) Variable Function
1166 139(@patchConstantResult): 55(ptr) Variable Function
1167 140(param): 12(ptr) Variable Function
1168 99: 98(ptr) AccessChain 97(patch.PositionWS) 57
1169 100: 7(fvec3) Load 99
1170 101: 38(ptr) AccessChain 95(patch) 57 57
1172 103: 98(ptr) AccessChain 102(patch.NormalWS) 57
1173 104: 7(fvec3) Load 103
1174 105: 38(ptr) AccessChain 95(patch) 57 62
1176 106: 98(ptr) AccessChain 97(patch.PositionWS) 62
1177 107: 7(fvec3) Load 106
1178 108: 38(ptr) AccessChain 95(patch) 62 57
1180 109: 98(ptr) AccessChain 102(patch.NormalWS) 62
1181 110: 7(fvec3) Load 109
1182 111: 38(ptr) AccessChain 95(patch) 62 62
1184 112: 98(ptr) AccessChain 97(patch.PositionWS) 67
1185 113: 7(fvec3) Load 112
1186 114: 38(ptr) AccessChain 95(patch) 67 57
1188 115: 98(ptr) AccessChain 102(patch.NormalWS) 67
1189 116: 7(fvec3) Load 115
1190 117: 38(ptr) AccessChain 95(patch) 67 62
1192 121: 9(int) Load 120(id)
1194 124: 9(int) Load 120(id)
1195 126: 11 Load 95(patch)
1196 Store 125(param) 126
1197 128: 9(int) Load 118(id)
1198 Store 127(param) 128
1199 129:21(HSOutput) FunctionCall 25(@HSMain(struct-HSInput-vf3-vf31[3];u1;) 125(param) 127(param)
1200 130: 7(fvec3) CompositeExtract 129 0
1201 132: 131(ptr) AccessChain 123(@entryPointOutput.PositionWS) 124
1203 ControlBarrier 68 133 58
1204 134: 9(int) Load 120(id)
1205 136: 135(bool) IEqual 134 57
1206 SelectionMerge 138 None
1207 BranchConditional 136 137 138
1209 141: 11 Load 95(patch)
1210 Store 140(param) 141
1211 142:15(HSTrianglePatchConstant) FunctionCall 18(HSPatchConstant(struct-HSInput-vf3-vf31[3];) 140(param)
1212 Store 139(@patchConstantResult) 142
1213 146: 50(ptr) AccessChain 139(@patchConstantResult) 57 57
1214 147: 6(float) Load 146
1215 149: 148(ptr) AccessChain 145(@patchConstantOutput.EdgeTessFactor) 57
1217 150: 50(ptr) AccessChain 139(@patchConstantResult) 57 62
1218 151: 6(float) Load 150
1219 152: 148(ptr) AccessChain 145(@patchConstantOutput.EdgeTessFactor) 62
1221 153: 50(ptr) AccessChain 139(@patchConstantResult) 57 67
1222 154: 6(float) Load 153
1223 155: 148(ptr) AccessChain 145(@patchConstantOutput.EdgeTessFactor) 67
1225 159: 50(ptr) AccessChain 139(@patchConstantResult) 62
1226 160: 6(float) Load 159
1227 161: 148(ptr) AccessChain 158(@patchConstantOutput.InsideTessFactor) 57
1229 163: 38(ptr) AccessChain 139(@patchConstantResult) 67 57
1230 164: 7(fvec3) Load 163
1231 Store 162(@patchConstantOutput.NormalWS[0]) 164
1232 166: 38(ptr) AccessChain 139(@patchConstantResult) 67 62
1233 167: 7(fvec3) Load 166
1234 Store 165(@patchConstantOutput.NormalWS[1]) 167
1235 169: 38(ptr) AccessChain 139(@patchConstantResult) 67 67
1236 170: 7(fvec3) Load 169
1237 Store 168(@patchConstantOutput.NormalWS[2]) 170
1242 18(HSPatchConstant(struct-HSInput-vf3-vf31[3];):15(HSTrianglePatchConstant) Function None 16
1243 17(patch): 12(ptr) FunctionParameter
1245 39(roundedEdgeTessFactor): 38(ptr) Variable Function
1246 51(roundedInsideTessFactor): 50(ptr) Variable Function
1247 53(insideTessFactor): 50(ptr) Variable Function
1248 56(result): 55(ptr) Variable Function
1249 48: 47(ptr) AccessChain 44 46
1250 49: 7(fvec3) Load 48
1251 Store 39(roundedEdgeTessFactor) 49
1252 Store 51(roundedInsideTessFactor) 52
1253 Store 53(insideTessFactor) 54
1254 59: 50(ptr) AccessChain 39(roundedEdgeTessFactor) 58
1255 60: 6(float) Load 59
1256 61: 50(ptr) AccessChain 56(result) 57 57
1258 64: 50(ptr) AccessChain 39(roundedEdgeTessFactor) 63
1259 65: 6(float) Load 64
1260 66: 50(ptr) AccessChain 56(result) 57 62
1262 69: 50(ptr) AccessChain 39(roundedEdgeTessFactor) 68
1263 70: 6(float) Load 69
1264 71: 50(ptr) AccessChain 56(result) 57 67
1266 72: 6(float) Load 51(roundedInsideTessFactor)
1267 73: 50(ptr) AccessChain 56(result) 62
1269 74: 38(ptr) AccessChain 17(patch) 57 62
1270 75: 7(fvec3) Load 74
1271 76: 38(ptr) AccessChain 56(result) 67 57
1273 77: 38(ptr) AccessChain 17(patch) 62 62
1274 78: 7(fvec3) Load 77
1275 79: 38(ptr) AccessChain 56(result) 67 62
1277 80: 38(ptr) AccessChain 17(patch) 67 62
1278 81: 7(fvec3) Load 80
1279 82: 38(ptr) AccessChain 56(result) 67 67
1281 83:15(HSTrianglePatchConstant) Load 56(result)
1284 25(@HSMain(struct-HSInput-vf3-vf31[3];u1;):21(HSOutput) Function None 22
1285 23(patch): 12(ptr) FunctionParameter
1286 24(id): 20(ptr) FunctionParameter
1288 87(output): 86(ptr) Variable Function
1289 88: 9(int) Load 24(id)
1290 89: 38(ptr) AccessChain 23(patch) 88 57
1291 90: 7(fvec3) Load 89
1292 91: 38(ptr) AccessChain 87(output) 57
1294 92:21(HSOutput) Load 87(output)
1297 36(GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41;): 2 Function None 33
1298 34(input): 29(ptr) FunctionParameter
1299 35(output): 32(ptr) FunctionParameter
1301 171(P0): 38(ptr) Variable Function
1302 174(P1): 38(ptr) Variable Function
1303 177(P2): 38(ptr) Variable Function
1304 194(Q0): 193(ptr) Variable Function
1305 204(Q1): 193(ptr) Variable Function
1306 213(Q2): 193(ptr) Variable Function
1307 222(vertex): 32(ptr) Variable Function
1308 172: 38(ptr) AccessChain 34(input) 57 57
1309 173: 7(fvec3) Load 172
1311 175: 38(ptr) AccessChain 34(input) 62 57
1312 176: 7(fvec3) Load 175
1314 178: 38(ptr) AccessChain 34(input) 67 57
1315 179: 7(fvec3) Load 178
1317 181: 50(ptr) AccessChain 171(P0) 68
1318 182: 6(float) Load 181
1319 183: 6(float) FAdd 182 180
1320 184: 50(ptr) AccessChain 171(P0) 68
1322 185: 50(ptr) AccessChain 174(P1) 68
1323 186: 6(float) Load 185
1324 187: 6(float) FAdd 186 180
1325 188: 50(ptr) AccessChain 174(P1) 68
1327 189: 50(ptr) AccessChain 177(P2) 68
1328 190: 6(float) Load 189
1329 191: 6(float) FAdd 190 180
1330 192: 50(ptr) AccessChain 177(P2) 68
1332 195: 7(fvec3) Load 171(P0)
1333 196: 6(float) CompositeExtract 195 0
1334 197: 6(float) CompositeExtract 195 1
1335 198: 6(float) CompositeExtract 195 2
1336 199: 30(fvec4) CompositeConstruct 196 197 198 54
1337 201: 200(ptr) AccessChain 44 62
1339 203: 30(fvec4) VectorTimesMatrix 199 202
1341 205: 7(fvec3) Load 174(P1)
1342 206: 6(float) CompositeExtract 205 0
1343 207: 6(float) CompositeExtract 205 1
1344 208: 6(float) CompositeExtract 205 2
1345 209: 30(fvec4) CompositeConstruct 206 207 208 54
1346 210: 200(ptr) AccessChain 44 62
1348 212: 30(fvec4) VectorTimesMatrix 209 211
1350 214: 7(fvec3) Load 177(P2)
1351 215: 6(float) CompositeExtract 214 0
1352 216: 6(float) CompositeExtract 214 1
1353 217: 6(float) CompositeExtract 214 2
1354 218: 30(fvec4) CompositeConstruct 215 216 217 54
1355 219: 200(ptr) AccessChain 44 62
1357 221: 30(fvec4) VectorTimesMatrix 218 220
1359 223: 30(fvec4) Load 194(Q0)
1360 224: 193(ptr) AccessChain 222(vertex) 57
1362 226: 30(fvec4) Load 204(Q1)
1363 227: 193(ptr) AccessChain 222(vertex) 57
1365 228: 30(fvec4) Load 204(Q1)
1366 229: 193(ptr) AccessChain 222(vertex) 57
1368 230: 30(fvec4) Load 213(Q2)
1369 231: 193(ptr) AccessChain 222(vertex) 57
1371 232: 30(fvec4) Load 213(Q2)
1372 233: 193(ptr) AccessChain 222(vertex) 57
1374 234: 30(fvec4) Load 194(Q0)
1375 235: 193(ptr) AccessChain 222(vertex) 57