3 input primitive = triangles
7 0:22 Function Definition: @main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
8 0:22 Function Parameters:
9 0:22 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
10 0:22 'tesscoord' ( in 3-component vector of float)
11 0:22 'pcf_data' ( in structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
13 0:25 move second child to first child ( temp 4-component vector of float)
14 0:25 pos: direct index for structure ( temp 4-component vector of float)
15 0:25 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
18 0:25 add ( temp 4-component vector of float)
19 0:25 pos: direct index for structure ( temp 4-component vector of float)
20 0:25 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
21 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})
26 0:25 direct index ( temp float)
27 0:25 'tesscoord' ( in 3-component vector of float)
30 0:26 move second child to first child ( temp 3-component vector of float)
31 0:26 norm: direct index for structure ( temp 3-component vector of float)
32 0:26 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
35 0:26 add ( temp 3-component vector of float)
36 0:26 norm: direct index for structure ( temp 3-component vector of float)
37 0:26 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
38 0:26 '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:26 direct index ( temp float)
44 0:26 'tesscoord' ( in 3-component vector of float)
47 0:28 direct index ( temp float)
48 0:28 'tesscoord' ( in 3-component vector of float)
51 0:30 Branch: Return with expression
52 0:30 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
53 0:22 Function Definition: main( ( temp void)
54 0:22 Function Parameters:
56 0:22 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})
57 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
58 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})
59 0:22 move second child to first child ( temp 3-component vector of float)
60 0:? 'tesscoord' ( temp 3-component vector of float)
61 0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
63 0:22 move second child to first child ( temp float)
64 0:22 direct index ( temp float)
65 0:22 flTessFactor: direct index for structure ( temp 3-element array of float)
66 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
71 0:22 direct index ( patch in float TessLevelOuter)
72 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
75 0:22 move second child to first child ( temp float)
76 0:22 direct index ( temp float)
77 0:22 flTessFactor: direct index for structure ( temp 3-element array of float)
78 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
83 0:22 direct index ( patch in float TessLevelOuter)
84 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
87 0:22 move second child to first child ( temp float)
88 0:22 direct index ( temp float)
89 0:22 flTessFactor: direct index for structure ( temp 3-element array of float)
90 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
95 0:22 direct index ( patch in float TessLevelOuter)
96 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
99 0:22 move second child to first child ( temp float)
100 0:22 flInsideTessFactor: direct index for structure ( temp float)
101 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
104 0:22 direct index ( patch in float TessLevelInner)
105 0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
108 0:22 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
109 0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
110 0:22 Function Call: @main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
111 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
112 0:? 'tesscoord' ( temp 3-component vector of float)
113 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
115 0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
116 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})
117 0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
118 0:? 'pcf_data' (layout( location=2) patch in structure{})
119 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
120 0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
123 Linked tessellation evaluation stage:
127 input primitive = triangles
128 vertex spacing = none
129 triangle order = none
131 0:22 Function Definition: @main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
132 0:22 Function Parameters:
133 0:22 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
134 0:22 'tesscoord' ( in 3-component vector of float)
135 0:22 'pcf_data' ( in structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
137 0:25 move second child to first child ( temp 4-component vector of float)
138 0:25 pos: direct index for structure ( temp 4-component vector of float)
139 0:25 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
142 0:25 add ( temp 4-component vector of float)
143 0:25 pos: direct index for structure ( temp 4-component vector of float)
144 0:25 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
145 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})
150 0:25 direct index ( temp float)
151 0:25 'tesscoord' ( in 3-component vector of float)
154 0:26 move second child to first child ( temp 3-component vector of float)
155 0:26 norm: direct index for structure ( temp 3-component vector of float)
156 0:26 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
159 0:26 add ( temp 3-component vector of float)
160 0:26 norm: direct index for structure ( temp 3-component vector of float)
161 0:26 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
162 0:26 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
167 0:26 direct index ( temp float)
168 0:26 'tesscoord' ( in 3-component vector of float)
171 0:28 direct index ( temp float)
172 0:28 'tesscoord' ( in 3-component vector of float)
175 0:30 Branch: Return with expression
176 0:30 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
177 0:22 Function Definition: main( ( temp void)
178 0:22 Function Parameters:
180 0:22 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})
181 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
182 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})
183 0:22 move second child to first child ( temp 3-component vector of float)
184 0:? 'tesscoord' ( temp 3-component vector of float)
185 0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
187 0:22 move second child to first child ( temp float)
188 0:22 direct index ( temp float)
189 0:22 flTessFactor: direct index for structure ( temp 3-element array of float)
190 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
195 0:22 direct index ( patch in float TessLevelOuter)
196 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
199 0:22 move second child to first child ( temp float)
200 0:22 direct index ( temp float)
201 0:22 flTessFactor: direct index for structure ( temp 3-element array of float)
202 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
207 0:22 direct index ( patch in float TessLevelOuter)
208 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
211 0:22 move second child to first child ( temp float)
212 0:22 direct index ( temp float)
213 0:22 flTessFactor: direct index for structure ( temp 3-element array of float)
214 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
219 0:22 direct index ( patch in float TessLevelOuter)
220 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
223 0:22 move second child to first child ( temp float)
224 0:22 flInsideTessFactor: direct index for structure ( temp float)
225 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
228 0:22 direct index ( patch in float TessLevelInner)
229 0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
232 0:22 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
233 0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
234 0:22 Function Call: @main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
235 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
236 0:? 'tesscoord' ( temp 3-component vector of float)
237 0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
239 0:? '@entryPointOutput' (layout( location=0) out structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
240 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})
241 0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
242 0:? 'pcf_data' (layout( location=2) patch in structure{})
243 0:? 'pcf_data_flTessFactor' ( patch in 4-element array of float TessLevelOuter)
244 0:? 'pcf_data_flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
246 // Module Version 10000
247 // Generated by (magic number): 80001
248 // Id's are bound by 91
250 Capability Tessellation
251 1: ExtInstImport "GLSL.std.450"
252 MemoryModel Logical GLSL450
253 EntryPoint TessellationEvaluation 4 "main" 51 55 61 76 81 90
254 ExecutionMode 4 Triangles
258 MemberName 9(ds_in_t) 0 "pos"
259 MemberName 9(ds_in_t) 1 "norm"
261 MemberName 15(pcf_in_t) 0 "flTessFactor"
262 MemberName 15(pcf_in_t) 1 "flInsideTessFactor"
264 MemberName 17(gs_in_t) 0 "pos"
265 MemberName 17(gs_in_t) 1 "norm"
266 Name 22 "@main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11;"
276 Name 61 "pcf_data_flTessFactor"
277 Name 76 "pcf_data_flInsideTessFactor"
278 Name 81 "@entryPointOutput"
283 Decorate 51(i) Location 0
284 Decorate 55(tesscoord) Patch
285 Decorate 55(tesscoord) BuiltIn TessCoord
286 Decorate 61(pcf_data_flTessFactor) Patch
287 Decorate 61(pcf_data_flTessFactor) BuiltIn TessLevelOuter
288 Decorate 76(pcf_data_flInsideTessFactor) Patch
289 Decorate 76(pcf_data_flInsideTessFactor) BuiltIn TessLevelInner
290 Decorate 81(@entryPointOutput) Location 0
291 Decorate 90(pcf_data) Patch
292 Decorate 90(pcf_data) Location 2
296 7: TypeVector 6(float) 4
297 8: TypeVector 6(float) 3
298 9(ds_in_t): TypeStruct 7(fvec4) 8(fvec3)
300 11: 10(int) Constant 3
301 12: TypeArray 9(ds_in_t) 11
302 13: TypePointer Function 8(fvec3)
303 14: TypeArray 6(float) 11
304 15(pcf_in_t): TypeStruct 14 6(float)
305 16: TypePointer Function 15(pcf_in_t)
306 17(gs_in_t): TypeStruct 7(fvec4) 8(fvec3)
307 18: TypeFunction 17(gs_in_t) 12 13(ptr) 16(ptr)
308 24: TypePointer Function 17(gs_in_t)
310 27: 26(int) Constant 0
311 29: 10(int) Constant 0
312 30: TypePointer Function 6(float)
313 35: TypePointer Function 7(fvec4)
314 37: 26(int) Constant 1
315 39: 10(int) Constant 1
316 48: TypePointer Function 12
317 50: TypePointer Input 12
318 51(i): 50(ptr) Variable Input
319 54: TypePointer Input 8(fvec3)
320 55(tesscoord): 54(ptr) Variable Input
321 58: 10(int) Constant 4
322 59: TypeArray 6(float) 58
323 60: TypePointer Input 59
324 61(pcf_data_flTessFactor): 60(ptr) Variable Input
325 62: TypePointer Input 6(float)
326 69: 26(int) Constant 2
327 73: 10(int) Constant 2
328 74: TypeArray 6(float) 73
329 75: TypePointer Input 74
330 76(pcf_data_flInsideTessFactor): 75(ptr) Variable Input
331 80: TypePointer Output 17(gs_in_t)
332 81(@entryPointOutput): 80(ptr) Variable Output
333 88(pcf_in_t): TypeStruct
334 89: TypePointer Input 88(pcf_in_t)
335 90(pcf_data): 89(ptr) Variable Input
336 4(main): 2 Function None 3
338 49(i): 48(ptr) Variable Function
339 53(tesscoord): 13(ptr) Variable Function
340 57(pcf_data): 16(ptr) Variable Function
341 83(param): 13(ptr) Variable Function
342 85(param): 16(ptr) Variable Function
345 56: 8(fvec3) Load 55(tesscoord)
346 Store 53(tesscoord) 56
347 63: 62(ptr) AccessChain 61(pcf_data_flTessFactor) 27
349 65: 30(ptr) AccessChain 57(pcf_data) 27 27
351 66: 62(ptr) AccessChain 61(pcf_data_flTessFactor) 37
353 68: 30(ptr) AccessChain 57(pcf_data) 27 37
355 70: 62(ptr) AccessChain 61(pcf_data_flTessFactor) 69
357 72: 30(ptr) AccessChain 57(pcf_data) 27 69
359 77: 62(ptr) AccessChain 76(pcf_data_flInsideTessFactor) 27
361 79: 30(ptr) AccessChain 57(pcf_data) 37
364 84: 8(fvec3) Load 53(tesscoord)
366 86:15(pcf_in_t) Load 57(pcf_data)
368 87: 17(gs_in_t) FunctionCall 22(@main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11;) 82 83(param) 85(param)
369 Store 81(@entryPointOutput) 87
372 22(@main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11;): 17(gs_in_t) Function None 18
373 19(i): 12 FunctionParameter
374 20(tesscoord): 13(ptr) FunctionParameter
375 21(pcf_data): 16(ptr) FunctionParameter
377 25(o): 24(ptr) Variable Function
378 28: 7(fvec4) CompositeExtract 19(i) 0 0
379 31: 30(ptr) AccessChain 20(tesscoord) 29
381 33: 7(fvec4) CompositeConstruct 32 32 32 32
382 34: 7(fvec4) FAdd 28 33
383 36: 35(ptr) AccessChain 25(o) 27
385 38: 8(fvec3) CompositeExtract 19(i) 0 1
386 40: 30(ptr) AccessChain 20(tesscoord) 39
388 42: 8(fvec3) CompositeConstruct 41 41 41
389 43: 8(fvec3) FAdd 38 42
390 44: 13(ptr) AccessChain 25(o) 37
392 45: 17(gs_in_t) Load 25(o)