1 hlsl.hull.ctrlpt-2.tesc
4 vertex spacing = fractional_odd_spacing
7 0:28 Function Definition: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
8 0:28 Function Parameters:
9 0:28 'i' ( in 3-element array of structure{ temp 3-component vector of float val})
10 0:28 'cpid' ( in uint)
12 0:29 val: direct index for structure ( temp 3-component vector of float)
13 0:29 direct index ( temp structure{ temp 3-component vector of float val})
14 0:29 'i' ( in 3-element array of structure{ temp 3-component vector of float val})
19 0:32 move second child to first child ( temp 3-component vector of float)
20 0:32 val: direct index for structure ( temp 3-component vector of float)
21 0:32 'o' ( temp structure{ temp 3-component vector of float val})
24 0:32 Construct vec3 ( temp 3-component vector of float)
25 0:32 Convert uint to float ( temp float)
26 0:32 'cpid' ( in uint)
27 0:33 Branch: Return with expression
28 0:33 'o' ( temp structure{ temp 3-component vector of float val})
29 0:28 Function Definition: main( ( temp void)
30 0:28 Function Parameters:
32 0:28 move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float val})
33 0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
34 0:? 'i' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float val})
35 0:28 move second child to first child ( temp uint)
36 0:? 'cpid' ( temp uint)
37 0:? 'cpid' ( in uint InvocationID)
38 0:28 move second child to first child ( temp structure{ temp 3-component vector of float val})
39 0:28 indirect index ( temp structure{ temp 3-component vector of float val})
40 0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float val})
41 0:? 'cpid' ( in uint InvocationID)
42 0:28 Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
43 0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
44 0:? 'cpid' ( temp uint)
45 0:? Barrier ( temp void)
46 0:? Test condition and select ( temp void)
48 0:? Compare Equal ( temp bool)
49 0:? 'cpid' ( in uint InvocationID)
54 0:? move second child to first child ( temp structure{ temp 3-component vector of float val})
55 0:? direct index ( temp structure{ temp 3-component vector of float val})
56 0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
59 0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
60 0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
63 0:? move second child to first child ( temp structure{ temp 3-component vector of float val})
64 0:? direct index ( temp structure{ temp 3-component vector of float val})
65 0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
68 0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
69 0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
72 0:? move second child to first child ( temp structure{ temp 3-component vector of float val})
73 0:? direct index ( temp structure{ temp 3-component vector of float val})
74 0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
77 0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
78 0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
81 0:? move second child to first child ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
82 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
83 0:? Function Call: PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3]; ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
84 0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
85 0:? 'i' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float val})
87 0:? move second child to first child ( temp float)
88 0:? direct index ( patch out float TessLevelOuter)
89 0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter)
92 0:? direct index ( temp float)
93 0:? tfactor: direct index for structure ( temp 3-element array of float)
94 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
99 0:? move second child to first child ( temp float)
100 0:? direct index ( patch out float TessLevelOuter)
101 0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter)
104 0:? direct index ( temp float)
105 0:? tfactor: direct index for structure ( temp 3-element array of float)
106 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
111 0:? move second child to first child ( temp float)
112 0:? direct index ( patch out float TessLevelOuter)
113 0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter)
116 0:? direct index ( temp float)
117 0:? tfactor: direct index for structure ( temp 3-element array of float)
118 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
123 0:? move second child to first child ( temp float)
124 0:? direct index ( patch out float TessLevelInner)
125 0:? '@patchConstantOutput_flInFactor' ( patch out 2-element array of float TessLevelInner)
128 0:? flInFactor: direct index for structure ( temp float)
129 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
132 0:38 Function Definition: PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3]; ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
133 0:38 Function Parameters:
134 0:38 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
135 0:38 'pcf_in' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
137 0:41 move second child to first child ( temp float)
138 0:41 direct index ( temp float)
139 0:41 tfactor: direct index for structure ( temp 3-element array of float)
140 0:41 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
145 0:41 direct index ( temp float)
146 0:41 val: direct index for structure ( temp 3-component vector of float)
147 0:41 direct index ( temp structure{ temp 3-component vector of float val})
148 0:41 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
155 0:42 move second child to first child ( temp float)
156 0:42 direct index ( temp float)
157 0:42 tfactor: direct index for structure ( temp 3-element array of float)
158 0:42 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
163 0:42 direct index ( temp float)
164 0:42 val: direct index for structure ( temp 3-component vector of float)
165 0:42 direct index ( temp structure{ temp 3-component vector of float val})
166 0:42 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
173 0:43 move second child to first child ( temp float)
174 0:43 direct index ( temp float)
175 0:43 tfactor: direct index for structure ( temp 3-element array of float)
176 0:43 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
181 0:43 direct index ( temp float)
182 0:43 val: direct index for structure ( temp 3-component vector of float)
183 0:43 direct index ( temp structure{ temp 3-component vector of float val})
184 0:43 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
191 0:44 move second child to first child ( temp float)
192 0:44 flInFactor: direct index for structure ( temp float)
193 0:44 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
198 0:46 Branch: Return with expression
199 0:46 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
201 0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float val})
202 0:? 'i' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float val})
203 0:? 'cpid' ( in uint InvocationID)
204 0:? '@patchConstantOutput' (layout( location=1) patch out structure{})
205 0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter)
206 0:? '@patchConstantOutput_flInFactor' ( patch out 2-element array of float TessLevelInner)
209 Linked tessellation control stage:
214 vertex spacing = fractional_odd_spacing
217 0:28 Function Definition: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
218 0:28 Function Parameters:
219 0:28 'i' ( in 3-element array of structure{ temp 3-component vector of float val})
220 0:28 'cpid' ( in uint)
222 0:29 val: direct index for structure ( temp 3-component vector of float)
223 0:29 direct index ( temp structure{ temp 3-component vector of float val})
224 0:29 'i' ( in 3-element array of structure{ temp 3-component vector of float val})
229 0:32 move second child to first child ( temp 3-component vector of float)
230 0:32 val: direct index for structure ( temp 3-component vector of float)
231 0:32 'o' ( temp structure{ temp 3-component vector of float val})
234 0:32 Construct vec3 ( temp 3-component vector of float)
235 0:32 Convert uint to float ( temp float)
236 0:32 'cpid' ( in uint)
237 0:33 Branch: Return with expression
238 0:33 'o' ( temp structure{ temp 3-component vector of float val})
239 0:28 Function Definition: main( ( temp void)
240 0:28 Function Parameters:
242 0:28 move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float val})
243 0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
244 0:? 'i' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float val})
245 0:28 move second child to first child ( temp uint)
246 0:? 'cpid' ( temp uint)
247 0:? 'cpid' ( in uint InvocationID)
248 0:28 move second child to first child ( temp structure{ temp 3-component vector of float val})
249 0:28 indirect index ( temp structure{ temp 3-component vector of float val})
250 0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float val})
251 0:? 'cpid' ( in uint InvocationID)
252 0:28 Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
253 0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
254 0:? 'cpid' ( temp uint)
255 0:? Barrier ( temp void)
256 0:? Test condition and select ( temp void)
258 0:? Compare Equal ( temp bool)
259 0:? 'cpid' ( in uint InvocationID)
264 0:? move second child to first child ( temp structure{ temp 3-component vector of float val})
265 0:? direct index ( temp structure{ temp 3-component vector of float val})
266 0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
269 0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
270 0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
273 0:? move second child to first child ( temp structure{ temp 3-component vector of float val})
274 0:? direct index ( temp structure{ temp 3-component vector of float val})
275 0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
278 0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
279 0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
282 0:? move second child to first child ( temp structure{ temp 3-component vector of float val})
283 0:? direct index ( temp structure{ temp 3-component vector of float val})
284 0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
287 0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
288 0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
291 0:? move second child to first child ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
292 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
293 0:? Function Call: PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3]; ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
294 0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
295 0:? 'i' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float val})
297 0:? move second child to first child ( temp float)
298 0:? direct index ( patch out float TessLevelOuter)
299 0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter)
302 0:? direct index ( temp float)
303 0:? tfactor: direct index for structure ( temp 3-element array of float)
304 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
309 0:? move second child to first child ( temp float)
310 0:? direct index ( patch out float TessLevelOuter)
311 0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter)
314 0:? direct index ( temp float)
315 0:? tfactor: direct index for structure ( temp 3-element array of float)
316 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
321 0:? move second child to first child ( temp float)
322 0:? direct index ( patch out float TessLevelOuter)
323 0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter)
326 0:? direct index ( temp float)
327 0:? tfactor: direct index for structure ( temp 3-element array of float)
328 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
333 0:? move second child to first child ( temp float)
334 0:? direct index ( patch out float TessLevelInner)
335 0:? '@patchConstantOutput_flInFactor' ( patch out 2-element array of float TessLevelInner)
338 0:? flInFactor: direct index for structure ( temp float)
339 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
342 0:38 Function Definition: PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3]; ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
343 0:38 Function Parameters:
344 0:38 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
345 0:38 'pcf_in' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
347 0:41 move second child to first child ( temp float)
348 0:41 direct index ( temp float)
349 0:41 tfactor: direct index for structure ( temp 3-element array of float)
350 0:41 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
355 0:41 direct index ( temp float)
356 0:41 val: direct index for structure ( temp 3-component vector of float)
357 0:41 direct index ( temp structure{ temp 3-component vector of float val})
358 0:41 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
365 0:42 move second child to first child ( temp float)
366 0:42 direct index ( temp float)
367 0:42 tfactor: direct index for structure ( temp 3-element array of float)
368 0:42 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
373 0:42 direct index ( temp float)
374 0:42 val: direct index for structure ( temp 3-component vector of float)
375 0:42 direct index ( temp structure{ temp 3-component vector of float val})
376 0:42 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
383 0:43 move second child to first child ( temp float)
384 0:43 direct index ( temp float)
385 0:43 tfactor: direct index for structure ( temp 3-element array of float)
386 0:43 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
391 0:43 direct index ( temp float)
392 0:43 val: direct index for structure ( temp 3-component vector of float)
393 0:43 direct index ( temp structure{ temp 3-component vector of float val})
394 0:43 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
401 0:44 move second child to first child ( temp float)
402 0:44 flInFactor: direct index for structure ( temp float)
403 0:44 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
408 0:46 Branch: Return with expression
409 0:46 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
411 0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float val})
412 0:? 'i' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float val})
413 0:? 'cpid' ( in uint InvocationID)
414 0:? '@patchConstantOutput' (layout( location=1) patch out structure{})
415 0:? '@patchConstantOutput_tfactor' ( patch out 4-element array of float TessLevelOuter)
416 0:? '@patchConstantOutput_flInFactor' ( patch out 2-element array of float TessLevelInner)
418 // Module Version 10000
419 // Generated by (magic number): 80001
420 // Id's are bound by 129
422 Capability Tessellation
423 1: ExtInstImport "GLSL.std.450"
424 MemoryModel Logical GLSL450
425 EntryPoint TessellationControl 4 "main" 42 46 49 96 110 128
426 ExecutionMode 4 OutputVertices 3
427 ExecutionMode 4 Triangles
428 ExecutionMode 4 SpacingFractionalOdd
429 ExecutionMode 4 VertexOrderCw
433 MemberName 8(hs_in_t) 0 "val"
435 MemberName 14(hs_out_t) 0 "val"
436 Name 18 "@main(struct-hs_in_t-vf31[3];u1;"
440 MemberName 22(hs_pcf_t) 0 "tfactor"
441 MemberName 22(hs_pcf_t) 1 "flInFactor"
442 Name 26 "PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3];"
450 Name 49 "@entryPointOutput"
463 Name 89 "@patchConstantResult"
464 Name 96 "@patchConstantOutput_tfactor"
465 Name 110 "@patchConstantOutput_flInFactor"
468 Name 128 "@patchConstantOutput"
469 Decorate 42(i) Location 0
470 Decorate 46(cpid) BuiltIn InvocationId
471 Decorate 49(@entryPointOutput) Location 0
472 Decorate 96(@patchConstantOutput_tfactor) Patch
473 Decorate 96(@patchConstantOutput_tfactor) BuiltIn TessLevelOuter
474 Decorate 110(@patchConstantOutput_flInFactor) Patch
475 Decorate 110(@patchConstantOutput_flInFactor) BuiltIn TessLevelInner
476 Decorate 128(@patchConstantOutput) Patch
477 Decorate 128(@patchConstantOutput) Location 1
481 7: TypeVector 6(float) 3
482 8(hs_in_t): TypeStruct 7(fvec3)
484 10: 9(int) Constant 3
485 11: TypeArray 8(hs_in_t) 10
486 12: TypePointer Function 11
487 13: TypePointer Function 9(int)
488 14(hs_out_t): TypeStruct 7(fvec3)
489 15: TypeFunction 14(hs_out_t) 12(ptr) 13(ptr)
490 20: TypeArray 14(hs_out_t) 10
491 21: TypeArray 6(float) 10
492 22(hs_pcf_t): TypeStruct 21 6(float)
493 23: TypeFunction 22(hs_pcf_t) 20 11
495 29: 28(int) Constant 0
496 30: TypePointer Function 14(hs_out_t)
497 35: TypePointer Function 7(fvec3)
498 41: TypePointer Input 11
499 42(i): 41(ptr) Variable Input
500 45: TypePointer Input 9(int)
501 46(cpid): 45(ptr) Variable Input
502 48: TypePointer Output 20
503 49(@entryPointOutput): 48(ptr) Variable Output
504 56: TypePointer Output 14(hs_out_t)
505 58: 9(int) Constant 2
506 59: 9(int) Constant 1
507 60: 9(int) Constant 0
509 66: TypePointer Function 20
510 74: 28(int) Constant 1
511 81: 28(int) Constant 2
512 88: TypePointer Function 22(hs_pcf_t)
513 93: 9(int) Constant 4
514 94: TypeArray 6(float) 93
515 95: TypePointer Output 94
516 96(@patchConstantOutput_tfactor): 95(ptr) Variable Output
517 97: TypePointer Function 6(float)
518 100: TypePointer Output 6(float)
519 108: TypeArray 6(float) 58
520 109: TypePointer Output 108
521 110(@patchConstantOutput_flInFactor): 109(ptr) Variable Output
522 121: 6(float) Constant 1082130432
523 126(hs_pcf_t): TypeStruct
524 127: TypePointer Output 126(hs_pcf_t)
525 128(@patchConstantOutput): 127(ptr) Variable Output
526 4(main): 2 Function None 3
528 40(i): 12(ptr) Variable Function
529 44(cpid): 13(ptr) Variable Function
530 51(param): 12(ptr) Variable Function
531 53(param): 13(ptr) Variable Function
532 67(pcf_out): 66(ptr) Variable Function
533 68(i): 12(ptr) Variable Function
534 69(param): 12(ptr) Variable Function
535 71(param): 13(ptr) Variable Function
536 75(i): 12(ptr) Variable Function
537 76(param): 12(ptr) Variable Function
538 78(param): 13(ptr) Variable Function
539 82(i): 12(ptr) Variable Function
540 83(param): 12(ptr) Variable Function
541 85(param): 13(ptr) Variable Function
542 89(@patchConstantResult): 88(ptr) Variable Function
545 47: 9(int) Load 46(cpid)
547 50: 9(int) Load 46(cpid)
550 54: 9(int) Load 44(cpid)
552 55:14(hs_out_t) FunctionCall 18(@main(struct-hs_in_t-vf31[3];u1;) 51(param) 53(param)
553 57: 56(ptr) AccessChain 49(@entryPointOutput) 50
555 ControlBarrier 58 59 60
556 61: 9(int) Load 46(cpid)
557 63: 62(bool) IEqual 61 29
558 SelectionMerge 65 None
559 BranchConditional 63 64 65
564 72:14(hs_out_t) FunctionCall 18(@main(struct-hs_in_t-vf31[3];u1;) 69(param) 71(param)
565 73: 30(ptr) AccessChain 67(pcf_out) 29
570 79:14(hs_out_t) FunctionCall 18(@main(struct-hs_in_t-vf31[3];u1;) 76(param) 78(param)
571 80: 30(ptr) AccessChain 67(pcf_out) 74
576 86:14(hs_out_t) FunctionCall 18(@main(struct-hs_in_t-vf31[3];u1;) 83(param) 85(param)
577 87: 30(ptr) AccessChain 67(pcf_out) 81
579 90: 20 Load 67(pcf_out)
581 92:22(hs_pcf_t) FunctionCall 26(PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3];) 90 91
582 Store 89(@patchConstantResult) 92
583 98: 97(ptr) AccessChain 89(@patchConstantResult) 29 29
585 101: 100(ptr) AccessChain 96(@patchConstantOutput_tfactor) 29
587 102: 97(ptr) AccessChain 89(@patchConstantResult) 29 74
588 103: 6(float) Load 102
589 104: 100(ptr) AccessChain 96(@patchConstantOutput_tfactor) 74
591 105: 97(ptr) AccessChain 89(@patchConstantResult) 29 81
592 106: 6(float) Load 105
593 107: 100(ptr) AccessChain 96(@patchConstantOutput_tfactor) 81
595 111: 97(ptr) AccessChain 89(@patchConstantResult) 74
596 112: 6(float) Load 111
597 113: 100(ptr) AccessChain 110(@patchConstantOutput_flInFactor) 29
603 18(@main(struct-hs_in_t-vf31[3];u1;):14(hs_out_t) Function None 15
604 16(i): 12(ptr) FunctionParameter
605 17(cpid): 13(ptr) FunctionParameter
607 31(o): 30(ptr) Variable Function
608 32: 9(int) Load 17(cpid)
609 33: 6(float) ConvertUToF 32
610 34: 7(fvec3) CompositeConstruct 33 33 33
611 36: 35(ptr) AccessChain 31(o) 29
613 37:14(hs_out_t) Load 31(o)
616 26(PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3];):22(hs_pcf_t) Function None 23
617 24(pcf_out): 20 FunctionParameter
618 25(pcf_in): 11 FunctionParameter
620 114(o): 88(ptr) Variable Function
621 115: 6(float) CompositeExtract 24(pcf_out) 0 0 0
622 116: 97(ptr) AccessChain 114(o) 29 29
624 117: 6(float) CompositeExtract 24(pcf_out) 1 0 0
625 118: 97(ptr) AccessChain 114(o) 29 74
627 119: 6(float) CompositeExtract 24(pcf_out) 2 0 0
628 120: 97(ptr) AccessChain 114(o) 29 81
630 122: 97(ptr) AccessChain 114(o) 74
632 123:22(hs_pcf_t) Load 114(o)