3 input primitive = triangles
7 0:25 Function Definition: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
8 0:25 Function Parameters:
9 0:25 'pcf_data' ( in structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
10 0:25 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
11 0:25 'tesscoord' ( in 3-component vector of float)
13 0:28 move second child to first child ( temp 4-component vector of float)
14 0:28 pos: direct index for structure ( temp 4-component vector of float)
15 0:28 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
18 0:28 add ( temp 4-component vector of float)
19 0:28 pos: direct index for structure ( temp 4-component vector of float)
20 0:28 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
21 0:28 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
26 0:28 direct index ( temp float)
27 0:28 'tesscoord' ( in 3-component vector of float)
30 0:29 move second child to first child ( temp 3-component vector of float)
31 0:29 norm: direct index for structure ( temp 3-component vector of float)
32 0:29 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
35 0:29 add ( temp 3-component vector of float)
36 0:29 norm: direct index for structure ( temp 3-component vector of float)
37 0:29 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
38 0:29 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
43 0:29 direct index ( temp float)
44 0:29 'tesscoord' ( in 3-component vector of float)
47 0:31 direct index ( temp float)
48 0:31 'tesscoord' ( in 3-component vector of float)
51 0:33 Branch: Return with expression
52 0:33 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
53 0:25 Function Definition: main( ( temp void)
54 0:25 Function Parameters:
57 0:25 move second child to first child ( temp float)
58 0:25 direct index ( temp float)
59 0:25 flTessFactor: direct index for structure ( temp 3-element array of float)
60 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
65 0:25 direct index ( patch in float TessLevelOuter)
66 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
69 0:25 move second child to first child ( temp float)
70 0:25 direct index ( temp float)
71 0:25 flTessFactor: direct index for structure ( temp 3-element array of float)
72 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
77 0:25 direct index ( patch in float TessLevelOuter)
78 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
81 0:25 move second child to first child ( temp float)
82 0:25 direct index ( temp float)
83 0:25 flTessFactor: direct index for structure ( temp 3-element array of float)
84 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
89 0:25 direct index ( patch in float TessLevelOuter)
90 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
93 0:25 move second child to first child ( temp float)
94 0:25 flInsideTessFactor: direct index for structure ( temp float)
95 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
98 0:25 direct index ( patch in float TessLevelInner)
99 0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
102 0:25 move second child to first child ( temp float)
103 0:25 foo: direct index for structure ( temp float)
104 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
107 0:25 foo: direct index for structure ( temp float)
108 0:25 'pcf_data' (layout( location=2) patch in structure{ temp float foo})
111 0:25 move second child to first child ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
112 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
113 0:? 'i' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
114 0:25 move second child to first child ( temp 3-component vector of float)
115 0:? 'tesscoord' ( temp 3-component vector of float)
116 0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
117 0:25 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
118 0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
119 0:25 Function Call: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
120 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
121 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
122 0:? 'tesscoord' ( temp 3-component vector of float)
124 0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
125 0:? 'i' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
126 0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
127 0:? 'pcf_data' (layout( location=2) patch in structure{ temp float foo})
128 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
129 0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
132 Linked tessellation evaluation stage:
136 input primitive = triangles
137 vertex spacing = none
138 triangle order = none
140 0:25 Function Definition: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
141 0:25 Function Parameters:
142 0:25 'pcf_data' ( in structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
143 0:25 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
144 0:25 'tesscoord' ( in 3-component vector of float)
146 0:28 move second child to first child ( temp 4-component vector of float)
147 0:28 pos: direct index for structure ( temp 4-component vector of float)
148 0:28 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
151 0:28 add ( temp 4-component vector of float)
152 0:28 pos: direct index for structure ( temp 4-component vector of float)
153 0:28 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
154 0:28 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
159 0:28 direct index ( temp float)
160 0:28 'tesscoord' ( in 3-component vector of float)
163 0:29 move second child to first child ( temp 3-component vector of float)
164 0:29 norm: direct index for structure ( temp 3-component vector of float)
165 0:29 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
168 0:29 add ( temp 3-component vector of float)
169 0:29 norm: direct index for structure ( temp 3-component vector of float)
170 0:29 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
171 0:29 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
176 0:29 direct index ( temp float)
177 0:29 'tesscoord' ( in 3-component vector of float)
180 0:31 direct index ( temp float)
181 0:31 'tesscoord' ( in 3-component vector of float)
184 0:33 Branch: Return with expression
185 0:33 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
186 0:25 Function Definition: main( ( temp void)
187 0:25 Function Parameters:
190 0:25 move second child to first child ( temp float)
191 0:25 direct index ( temp float)
192 0:25 flTessFactor: direct index for structure ( temp 3-element array of float)
193 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
198 0:25 direct index ( patch in float TessLevelOuter)
199 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
202 0:25 move second child to first child ( temp float)
203 0:25 direct index ( temp float)
204 0:25 flTessFactor: direct index for structure ( temp 3-element array of float)
205 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
210 0:25 direct index ( patch in float TessLevelOuter)
211 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
214 0:25 move second child to first child ( temp float)
215 0:25 direct index ( temp float)
216 0:25 flTessFactor: direct index for structure ( temp 3-element array of float)
217 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
222 0:25 direct index ( patch in float TessLevelOuter)
223 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
226 0:25 move second child to first child ( temp float)
227 0:25 flInsideTessFactor: direct index for structure ( temp float)
228 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
231 0:25 direct index ( patch in float TessLevelInner)
232 0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
235 0:25 move second child to first child ( temp float)
236 0:25 foo: direct index for structure ( temp float)
237 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
240 0:25 foo: direct index for structure ( temp float)
241 0:25 'pcf_data' (layout( location=2) patch in structure{ temp float foo})
244 0:25 move second child to first child ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
245 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
246 0:? 'i' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
247 0:25 move second child to first child ( temp 3-component vector of float)
248 0:? 'tesscoord' ( temp 3-component vector of float)
249 0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
250 0:25 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
251 0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
252 0:25 Function Call: @main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
253 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor, temp float foo})
254 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
255 0:? 'tesscoord' ( temp 3-component vector of float)
257 0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
258 0:? 'i' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
259 0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
260 0:? 'pcf_data' (layout( location=2) patch in structure{ temp float foo})
261 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
262 0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
264 // Module Version 10000
265 // Generated by (magic number): 80001
266 // Id's are bound by 94
268 Capability Tessellation
269 1: ExtInstImport "GLSL.std.450"
270 MemoryModel Logical GLSL450
271 EntryPoint TessellationEvaluation 4 "main" 52 67 73 80 84 87
272 ExecutionMode 4 Triangles
275 MemberName 10(pcf_in_t) 0 "flTessFactor"
276 MemberName 10(pcf_in_t) 1 "flInsideTessFactor"
277 MemberName 10(pcf_in_t) 2 "foo"
279 MemberName 14(ds_in_t) 0 "pos"
280 MemberName 14(ds_in_t) 1 "norm"
282 MemberName 17(gs_in_t) 0 "pos"
283 MemberName 17(gs_in_t) 1 "norm"
284 Name 22 "@main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3;"
290 Name 52 "pcf_data_flTessFactor"
291 Name 67 "pcf_data_flInsideTessFactor"
293 MemberName 71(pcf_in_t) 0 "foo"
299 Name 87 "@entryPointOutput"
302 Decorate 52(pcf_data_flTessFactor) Patch
303 Decorate 52(pcf_data_flTessFactor) BuiltIn TessLevelOuter
304 Decorate 67(pcf_data_flInsideTessFactor) Patch
305 Decorate 67(pcf_data_flInsideTessFactor) BuiltIn TessLevelInner
306 MemberDecorate 71(pcf_in_t) 0 Patch
307 Decorate 73(pcf_data) Patch
308 Decorate 73(pcf_data) Location 2
309 Decorate 80(i) Location 0
310 Decorate 84(tesscoord) Patch
311 Decorate 84(tesscoord) BuiltIn TessCoord
312 Decorate 87(@entryPointOutput) Location 0
318 9: TypeArray 6(float) 8
319 10(pcf_in_t): TypeStruct 9 6(float) 6(float)
320 11: TypePointer Function 10(pcf_in_t)
321 12: TypeVector 6(float) 4
322 13: TypeVector 6(float) 3
323 14(ds_in_t): TypeStruct 12(fvec4) 13(fvec3)
324 15: TypeArray 14(ds_in_t) 8
325 16: TypePointer Function 13(fvec3)
326 17(gs_in_t): TypeStruct 12(fvec4) 13(fvec3)
327 18: TypeFunction 17(gs_in_t) 11(ptr) 15 16(ptr)
328 24: TypePointer Function 17(gs_in_t)
330 27: 26(int) Constant 0
331 29: 7(int) Constant 0
332 30: TypePointer Function 6(float)
333 35: TypePointer Function 12(fvec4)
334 37: 26(int) Constant 1
335 39: 7(int) Constant 1
336 49: 7(int) Constant 4
337 50: TypeArray 6(float) 49
338 51: TypePointer Input 50
339 52(pcf_data_flTessFactor): 51(ptr) Variable Input
340 53: TypePointer Input 6(float)
341 60: 26(int) Constant 2
342 64: 7(int) Constant 2
343 65: TypeArray 6(float) 64
344 66: TypePointer Input 65
345 67(pcf_data_flInsideTessFactor): 66(ptr) Variable Input
346 71(pcf_in_t): TypeStruct 6(float)
347 72: TypePointer Input 71(pcf_in_t)
348 73(pcf_data): 72(ptr) Variable Input
349 77: TypePointer Function 15
350 79: TypePointer Input 15
351 80(i): 79(ptr) Variable Input
352 83: TypePointer Input 13(fvec3)
353 84(tesscoord): 83(ptr) Variable Input
354 86: TypePointer Output 17(gs_in_t)
355 87(@entryPointOutput): 86(ptr) Variable Output
356 4(main): 2 Function None 3
358 48(pcf_data): 11(ptr) Variable Function
359 78(i): 77(ptr) Variable Function
360 82(tesscoord): 16(ptr) Variable Function
361 89(param): 11(ptr) Variable Function
362 91(param): 16(ptr) Variable Function
363 54: 53(ptr) AccessChain 52(pcf_data_flTessFactor) 27
365 56: 30(ptr) AccessChain 48(pcf_data) 27 27
367 57: 53(ptr) AccessChain 52(pcf_data_flTessFactor) 37
369 59: 30(ptr) AccessChain 48(pcf_data) 27 37
371 61: 53(ptr) AccessChain 52(pcf_data_flTessFactor) 60
373 63: 30(ptr) AccessChain 48(pcf_data) 27 60
375 68: 53(ptr) AccessChain 67(pcf_data_flInsideTessFactor) 27
377 70: 30(ptr) AccessChain 48(pcf_data) 37
379 74: 53(ptr) AccessChain 73(pcf_data) 27
381 76: 30(ptr) AccessChain 48(pcf_data) 60
385 85: 13(fvec3) Load 84(tesscoord)
386 Store 82(tesscoord) 85
388 90:10(pcf_in_t) Load 48(pcf_data)
390 92: 13(fvec3) Load 82(tesscoord)
392 93: 17(gs_in_t) FunctionCall 22(@main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3;) 89(param) 88 91(param)
393 Store 87(@entryPointOutput) 93
396 22(@main(struct-pcf_in_t-f1[3]-f1-f11;struct-ds_in_t-vf4-vf31[3];vf3;): 17(gs_in_t) Function None 18
397 19(pcf_data): 11(ptr) FunctionParameter
398 20(i): 15 FunctionParameter
399 21(tesscoord): 16(ptr) FunctionParameter
401 25(o): 24(ptr) Variable Function
402 28: 12(fvec4) CompositeExtract 20(i) 0 0
403 31: 30(ptr) AccessChain 21(tesscoord) 29
405 33: 12(fvec4) CompositeConstruct 32 32 32 32
406 34: 12(fvec4) FAdd 28 33
407 36: 35(ptr) AccessChain 25(o) 27
409 38: 13(fvec3) CompositeExtract 20(i) 0 1
410 40: 30(ptr) AccessChain 21(tesscoord) 39
412 42: 13(fvec3) CompositeConstruct 41 41 41
413 43: 13(fvec3) FAdd 38 42
414 44: 16(ptr) AccessChain 25(o) 37
416 45: 17(gs_in_t) Load 25(o)