4 vertex spacing = equal_spacing
6 0:26 Function Definition: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
7 0:26 Function Parameters:
8 0:26 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
9 0:26 'm_cpid' ( in uint)
11 0:28 move second child to first child ( temp 3-component vector of float)
12 0:28 cpoint: direct index for structure ( temp 3-component vector of float)
13 0:28 'output' ( temp structure{ temp 3-component vector of float cpoint})
16 0:28 cpoint: direct index for structure ( temp 3-component vector of float)
17 0:28 direct index ( temp structure{ temp 3-component vector of float cpoint})
18 0:28 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
23 0:29 Branch: Return with expression
24 0:29 'output' ( temp structure{ temp 3-component vector of float cpoint})
25 0:26 Function Definition: main( ( temp void)
26 0:26 Function Parameters:
28 0:26 move second child to first child ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
29 0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
30 0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
31 0:26 move second child to first child ( temp uint)
32 0:? 'm_cpid' ( temp uint)
33 0:? 'm_cpid' ( in uint InvocationID)
34 0:26 move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
35 0:26 indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
36 0:? '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
37 0:? 'm_cpid' ( in uint InvocationID)
38 0:26 Function Call: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
39 0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
40 0:? 'm_cpid' ( temp uint)
41 0:? Barrier ( temp void)
42 0:? Test condition and select ( temp void)
44 0:? Compare Equal ( temp bool)
45 0:? 'm_cpid' ( in uint InvocationID)
50 0:? move second child to first child ( temp structure{ temp 2-element array of float edges})
51 0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
52 0:? Function Call: PCF(u1; ( temp structure{ temp 2-element array of float edges})
53 0:? 'pid' ( in uint PrimitiveID)
55 0:? move second child to first child ( temp float)
56 0:? direct index ( patch out float TessLevelOuter)
57 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
60 0:? direct index ( temp float)
61 0:? edges: direct index for structure ( temp 2-element array of float)
62 0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
67 0:? move second child to first child ( temp float)
68 0:? direct index ( patch out float TessLevelOuter)
69 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
72 0:? direct index ( temp float)
73 0:? edges: direct index for structure ( temp 2-element array of float)
74 0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
79 0:33 Function Definition: PCF(u1; ( temp structure{ temp 2-element array of float edges})
80 0:33 Function Parameters:
83 0:36 move second child to first child ( temp float)
84 0:36 direct index ( temp float)
85 0:36 edges: direct index for structure ( temp 2-element array of float)
86 0:36 'output' ( temp structure{ temp 2-element array of float edges})
93 0:37 move second child to first child ( temp float)
94 0:37 direct index ( temp float)
95 0:37 edges: direct index for structure ( temp 2-element array of float)
96 0:37 'output' ( temp structure{ temp 2-element array of float edges})
103 0:38 Branch: Return with expression
104 0:38 'output' ( temp structure{ temp 2-element array of float edges})
106 0:? '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
107 0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
108 0:? 'm_cpid' ( in uint InvocationID)
109 0:? 'pid' ( in uint PrimitiveID)
110 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
113 Linked tessellation control stage:
118 vertex spacing = equal_spacing
120 0:26 Function Definition: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
121 0:26 Function Parameters:
122 0:26 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
123 0:26 'm_cpid' ( in uint)
125 0:28 move second child to first child ( temp 3-component vector of float)
126 0:28 cpoint: direct index for structure ( temp 3-component vector of float)
127 0:28 'output' ( temp structure{ temp 3-component vector of float cpoint})
130 0:28 cpoint: direct index for structure ( temp 3-component vector of float)
131 0:28 direct index ( temp structure{ temp 3-component vector of float cpoint})
132 0:28 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
137 0:29 Branch: Return with expression
138 0:29 'output' ( temp structure{ temp 3-component vector of float cpoint})
139 0:26 Function Definition: main( ( temp void)
140 0:26 Function Parameters:
142 0:26 move second child to first child ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
143 0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
144 0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
145 0:26 move second child to first child ( temp uint)
146 0:? 'm_cpid' ( temp uint)
147 0:? 'm_cpid' ( in uint InvocationID)
148 0:26 move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
149 0:26 indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
150 0:? '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
151 0:? 'm_cpid' ( in uint InvocationID)
152 0:26 Function Call: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
153 0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
154 0:? 'm_cpid' ( temp uint)
155 0:? Barrier ( temp void)
156 0:? Test condition and select ( temp void)
158 0:? Compare Equal ( temp bool)
159 0:? 'm_cpid' ( in uint InvocationID)
164 0:? move second child to first child ( temp structure{ temp 2-element array of float edges})
165 0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
166 0:? Function Call: PCF(u1; ( temp structure{ temp 2-element array of float edges})
167 0:? 'pid' ( in uint PrimitiveID)
169 0:? move second child to first child ( temp float)
170 0:? direct index ( patch out float TessLevelOuter)
171 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
174 0:? direct index ( temp float)
175 0:? edges: direct index for structure ( temp 2-element array of float)
176 0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
181 0:? move second child to first child ( temp float)
182 0:? direct index ( patch out float TessLevelOuter)
183 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
186 0:? direct index ( temp float)
187 0:? edges: direct index for structure ( temp 2-element array of float)
188 0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
193 0:33 Function Definition: PCF(u1; ( temp structure{ temp 2-element array of float edges})
194 0:33 Function Parameters:
195 0:33 'pid' ( in uint)
197 0:36 move second child to first child ( temp float)
198 0:36 direct index ( temp float)
199 0:36 edges: direct index for structure ( temp 2-element array of float)
200 0:36 'output' ( temp structure{ temp 2-element array of float edges})
207 0:37 move second child to first child ( temp float)
208 0:37 direct index ( temp float)
209 0:37 edges: direct index for structure ( temp 2-element array of float)
210 0:37 'output' ( temp structure{ temp 2-element array of float edges})
217 0:38 Branch: Return with expression
218 0:38 'output' ( temp structure{ temp 2-element array of float edges})
220 0:? '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
221 0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
222 0:? 'm_cpid' ( in uint InvocationID)
223 0:? 'pid' ( in uint PrimitiveID)
224 0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
226 // Module Version 10000
227 // Generated by (magic number): 80001
228 // Id's are bound by 90
230 Capability Tessellation
231 1: ExtInstImport "GLSL.std.450"
232 MemoryModel Logical GLSL450
233 EntryPoint TessellationControl 4 "main" 40 44 48 66 72
234 ExecutionMode 4 OutputVertices 4
235 ExecutionMode 4 Isolines
236 ExecutionMode 4 SpacingEqual
240 MemberName 8(VS_OUT) 0 "cpoint"
242 MemberName 14(HS_OUT) 0 "cpoint"
243 Name 18 "@main(struct-VS_OUT-vf31[4];u1;"
246 Name 22 "HS_CONSTANT_OUT"
247 MemberName 22(HS_CONSTANT_OUT) 0 "edges"
255 Name 48 "@entryPointOutput"
258 Name 65 "@patchConstantResult"
261 Name 72 "@patchConstantOutput.edges"
263 Decorate 40(ip) Location 0
264 Decorate 44(m_cpid) BuiltIn InvocationId
265 Decorate 48(@entryPointOutput) Location 0
266 Decorate 66(pid) BuiltIn PrimitiveId
267 Decorate 72(@patchConstantOutput.edges) Patch
268 Decorate 72(@patchConstantOutput.edges) BuiltIn TessLevelOuter
272 7: TypeVector 6(float) 3
273 8(VS_OUT): TypeStruct 7(fvec3)
275 10: 9(int) Constant 4
276 11: TypeArray 8(VS_OUT) 10
277 12: TypePointer Function 11
278 13: TypePointer Function 9(int)
279 14(HS_OUT): TypeStruct 7(fvec3)
280 15: TypeFunction 14(HS_OUT) 12(ptr) 13(ptr)
281 20: 9(int) Constant 2
282 21: TypeArray 6(float) 20
283 22(HS_CONSTANT_OUT): TypeStruct 21
284 23: TypeFunction 22(HS_CONSTANT_OUT) 13(ptr)
285 27: TypePointer Function 14(HS_OUT)
287 30: 29(int) Constant 0
288 31: TypePointer Function 7(fvec3)
289 39: TypePointer Input 11
290 40(ip): 39(ptr) Variable Input
291 43: TypePointer Input 9(int)
292 44(m_cpid): 43(ptr) Variable Input
293 46: TypeArray 14(HS_OUT) 10
294 47: TypePointer Output 46
295 48(@entryPointOutput): 47(ptr) Variable Output
296 55: TypePointer Output 14(HS_OUT)
297 57: 9(int) Constant 1
298 58: 9(int) Constant 0
300 64: TypePointer Function 22(HS_CONSTANT_OUT)
301 66(pid): 43(ptr) Variable Input
302 70: TypeArray 6(float) 10
303 71: TypePointer Output 70
304 72(@patchConstantOutput.edges): 71(ptr) Variable Output
305 73: TypePointer Function 6(float)
306 76: TypePointer Output 6(float)
307 78: 29(int) Constant 1
308 83: 6(float) Constant 1073741824
309 85: 6(float) Constant 1090519040
310 4(main): 2 Function None 3
312 38(ip): 12(ptr) Variable Function
313 42(m_cpid): 13(ptr) Variable Function
314 50(param): 12(ptr) Variable Function
315 52(param): 13(ptr) Variable Function
316 65(@patchConstantResult): 64(ptr) Variable Function
317 67(param): 13(ptr) Variable Function
320 45: 9(int) Load 44(m_cpid)
322 49: 9(int) Load 44(m_cpid)
325 53: 9(int) Load 42(m_cpid)
327 54: 14(HS_OUT) FunctionCall 18(@main(struct-VS_OUT-vf31[4];u1;) 50(param) 52(param)
328 56: 55(ptr) AccessChain 48(@entryPointOutput) 49
330 ControlBarrier 20 57 58
331 59: 9(int) Load 44(m_cpid)
332 61: 60(bool) IEqual 59 30
333 SelectionMerge 63 None
334 BranchConditional 61 62 63
336 68: 9(int) Load 66(pid)
338 69:22(HS_CONSTANT_OUT) FunctionCall 25(PCF(u1;) 67(param)
339 Store 65(@patchConstantResult) 69
340 74: 73(ptr) AccessChain 65(@patchConstantResult) 30 30
342 77: 76(ptr) AccessChain 72(@patchConstantOutput.edges) 30
344 79: 73(ptr) AccessChain 65(@patchConstantResult) 30 78
346 81: 76(ptr) AccessChain 72(@patchConstantOutput.edges) 78
352 18(@main(struct-VS_OUT-vf31[4];u1;): 14(HS_OUT) Function None 15
353 16(ip): 12(ptr) FunctionParameter
354 17(m_cpid): 13(ptr) FunctionParameter
356 28(output): 27(ptr) Variable Function
357 32: 31(ptr) AccessChain 16(ip) 30 30
359 34: 31(ptr) AccessChain 28(output) 30
361 35: 14(HS_OUT) Load 28(output)
364 25(PCF(u1;):22(HS_CONSTANT_OUT) Function None 23
365 24(pid): 13(ptr) FunctionParameter
367 82(output): 64(ptr) Variable Function
368 84: 73(ptr) AccessChain 82(output) 30 30
370 86: 73(ptr) AccessChain 82(output) 30 78
372 87:22(HS_CONSTANT_OUT) Load 82(output)