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
257 MemberName 9(ds_in_t) 0 "pos"
258 MemberName 9(ds_in_t) 1 "norm"
260 MemberName 15(pcf_in_t) 0 "flTessFactor"
261 MemberName 15(pcf_in_t) 1 "flInsideTessFactor"
263 MemberName 17(gs_in_t) 0 "pos"
264 MemberName 17(gs_in_t) 1 "norm"
265 Name 22 "@main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11;"
275 Name 61 "pcf_data_flTessFactor"
276 Name 76 "pcf_data_flInsideTessFactor"
277 Name 81 "@entryPointOutput"
282 Decorate 51(i) Location 0
283 Decorate 55(tesscoord) Patch
284 Decorate 55(tesscoord) BuiltIn TessCoord
285 Decorate 61(pcf_data_flTessFactor) Patch
286 Decorate 61(pcf_data_flTessFactor) BuiltIn TessLevelOuter
287 Decorate 76(pcf_data_flInsideTessFactor) Patch
288 Decorate 76(pcf_data_flInsideTessFactor) BuiltIn TessLevelInner
289 Decorate 81(@entryPointOutput) Location 0
290 Decorate 90(pcf_data) Patch
291 Decorate 90(pcf_data) Location 2
295 7: TypeVector 6(float) 4
296 8: TypeVector 6(float) 3
297 9(ds_in_t): TypeStruct 7(fvec4) 8(fvec3)
299 11: 10(int) Constant 3
300 12: TypeArray 9(ds_in_t) 11
301 13: TypePointer Function 8(fvec3)
302 14: TypeArray 6(float) 11
303 15(pcf_in_t): TypeStruct 14 6(float)
304 16: TypePointer Function 15(pcf_in_t)
305 17(gs_in_t): TypeStruct 7(fvec4) 8(fvec3)
306 18: TypeFunction 17(gs_in_t) 12 13(ptr) 16(ptr)
307 24: TypePointer Function 17(gs_in_t)
309 27: 26(int) Constant 0
310 29: 10(int) Constant 0
311 30: TypePointer Function 6(float)
312 35: TypePointer Function 7(fvec4)
313 37: 26(int) Constant 1
314 39: 10(int) Constant 1
315 48: TypePointer Function 12
316 50: TypePointer Input 12
317 51(i): 50(ptr) Variable Input
318 54: TypePointer Input 8(fvec3)
319 55(tesscoord): 54(ptr) Variable Input
320 58: 10(int) Constant 4
321 59: TypeArray 6(float) 58
322 60: TypePointer Input 59
323 61(pcf_data_flTessFactor): 60(ptr) Variable Input
324 62: TypePointer Input 6(float)
325 69: 26(int) Constant 2
326 73: 10(int) Constant 2
327 74: TypeArray 6(float) 73
328 75: TypePointer Input 74
329 76(pcf_data_flInsideTessFactor): 75(ptr) Variable Input
330 80: TypePointer Output 17(gs_in_t)
331 81(@entryPointOutput): 80(ptr) Variable Output
332 88(pcf_in_t): TypeStruct
333 89: TypePointer Input 88(pcf_in_t)
334 90(pcf_data): 89(ptr) Variable Input
335 4(main): 2 Function None 3
337 49(i): 48(ptr) Variable Function
338 53(tesscoord): 13(ptr) Variable Function
339 57(pcf_data): 16(ptr) Variable Function
340 83(param): 13(ptr) Variable Function
341 85(param): 16(ptr) Variable Function
344 56: 8(fvec3) Load 55(tesscoord)
345 Store 53(tesscoord) 56
346 63: 62(ptr) AccessChain 61(pcf_data_flTessFactor) 27
348 65: 30(ptr) AccessChain 57(pcf_data) 27 27
350 66: 62(ptr) AccessChain 61(pcf_data_flTessFactor) 37
352 68: 30(ptr) AccessChain 57(pcf_data) 27 37
354 70: 62(ptr) AccessChain 61(pcf_data_flTessFactor) 69
356 72: 30(ptr) AccessChain 57(pcf_data) 27 69
358 77: 62(ptr) AccessChain 76(pcf_data_flInsideTessFactor) 27
360 79: 30(ptr) AccessChain 57(pcf_data) 37
363 84: 8(fvec3) Load 53(tesscoord)
365 86:15(pcf_in_t) Load 57(pcf_data)
367 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)
368 Store 81(@entryPointOutput) 87
371 22(@main(struct-ds_in_t-vf4-vf31[3];vf3;struct-pcf_in_t-f1[3]-f11;): 17(gs_in_t) Function None 18
372 19(i): 12 FunctionParameter
373 20(tesscoord): 13(ptr) FunctionParameter
374 21(pcf_data): 16(ptr) FunctionParameter
376 25(o): 24(ptr) Variable Function
377 28: 7(fvec4) CompositeExtract 19(i) 0 0
378 31: 30(ptr) AccessChain 20(tesscoord) 29
380 33: 7(fvec4) CompositeConstruct 32 32 32 32
381 34: 7(fvec4) FAdd 28 33
382 36: 35(ptr) AccessChain 25(o) 27
384 38: 8(fvec3) CompositeExtract 19(i) 0 1
385 40: 30(ptr) AccessChain 20(tesscoord) 39
387 42: 8(fvec3) CompositeConstruct 41 41 41
388 43: 8(fvec3) FAdd 38 42
389 44: 13(ptr) AccessChain 25(o) 37
391 45: 17(gs_in_t) Load 25(o)