File: hlsl.emptystructreturn.tesc.out

package info (click to toggle)
glslang 16.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 51,712 kB
  • sloc: cpp: 92,305; yacc: 4,320; sh: 603; python: 305; ansic: 94; javascript: 74; makefile: 17
file content (606 lines) | stat: -rw-r--r-- 32,369 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
hlsl.emptystructreturn.tesc
Shader version: 500
vertices = 3
vertex spacing = equal_spacing
triangle order = cw
0:? Sequence
0:16  Function Definition: blob(struct-HullInputType-vf41[3]; ( temp void)
0:16    Function Parameters: 
0:16      'patch' ( in 3-element array of structure{ temp 4-component vector of float position})
0:20  Function Definition: ColorPatchConstantFunction(struct-HullInputType-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:20    Function Parameters: 
0:20      'inputPatch' ( in 3-element array of structure{ temp 4-component vector of float position})
0:20      'patchId' ( in uint)
0:?     Sequence
0:24      move second child to first child ( temp float)
0:24        direct index ( temp float)
0:24          edges: direct index for structure ( temp 3-element array of float)
0:24            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:24            Constant:
0:24              0 (const int)
0:24          Constant:
0:24            0 (const int)
0:24        Constant:
0:24          2.000000
0:25      move second child to first child ( temp float)
0:25        direct index ( temp float)
0:25          edges: direct index for structure ( temp 3-element array of float)
0:25            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:25            Constant:
0:25              0 (const int)
0:25          Constant:
0:25            1 (const int)
0:25        Constant:
0:25          2.000000
0:26      move second child to first child ( temp float)
0:26        direct index ( temp float)
0:26          edges: direct index for structure ( temp 3-element array of float)
0:26            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:26            Constant:
0:26              0 (const int)
0:26          Constant:
0:26            2 (const int)
0:26        Constant:
0:26          2.000000
0:29      move second child to first child ( temp float)
0:29        inside: direct index for structure ( temp float)
0:29          'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:29          Constant:
0:29            1 (const int)
0:29        Constant:
0:29          2.000000
0:31      Branch: Return with expression
0:31        'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:42  Function Definition: @main(struct-EmptyStruct1;struct-HullInputType-vf41[3];u1;u1; ( temp structure{})
0:42    Function Parameters: 
0:42      'stage_input' ( in structure{})
0:42      'patch' ( in 3-element array of structure{ temp 4-component vector of float position})
0:42      'pointId' ( in uint)
0:42      'patchId' ( in uint)
0:?     Sequence
0:44      Function Call: blob(struct-HullInputType-vf41[3]; ( temp void)
0:44        'patch' ( in 3-element array of structure{ temp 4-component vector of float position})
0:46      Branch: Return with expression
0:46        'output' ( temp structure{})
0:42  Function Definition: main( ( temp void)
0:42    Function Parameters: 
0:?     Sequence
0:42      Sequence
0:42        move second child to first child ( temp structure{})
0:?           'stage_input' ( temp structure{})
0:?           'stage_input' ( in structure{})
0:42      Sequence
0:42        move second child to first child ( temp 4-component vector of float)
0:42          position: direct index for structure ( temp 4-component vector of float)
0:42            direct index ( temp structure{ temp 4-component vector of float position})
0:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
0:42              Constant:
0:42                0 (const int)
0:42            Constant:
0:42              0 (const int)
0:42          direct index ( in 4-component vector of float Position)
0:?             'patch.position' ( in 3-element array of 4-component vector of float Position)
0:42            Constant:
0:42              0 (const int)
0:42        move second child to first child ( temp 4-component vector of float)
0:42          position: direct index for structure ( temp 4-component vector of float)
0:42            direct index ( temp structure{ temp 4-component vector of float position})
0:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
0:42              Constant:
0:42                1 (const int)
0:42            Constant:
0:42              0 (const int)
0:42          direct index ( in 4-component vector of float Position)
0:?             'patch.position' ( in 3-element array of 4-component vector of float Position)
0:42            Constant:
0:42              1 (const int)
0:42        move second child to first child ( temp 4-component vector of float)
0:42          position: direct index for structure ( temp 4-component vector of float)
0:42            direct index ( temp structure{ temp 4-component vector of float position})
0:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
0:42              Constant:
0:42                2 (const int)
0:42            Constant:
0:42              0 (const int)
0:42          direct index ( in 4-component vector of float Position)
0:?             'patch.position' ( in 3-element array of 4-component vector of float Position)
0:42            Constant:
0:42              2 (const int)
0:42      move second child to first child ( temp uint)
0:?         'pointId' ( temp uint)
0:?         'pointId' ( in uint InvocationID)
0:42      move second child to first child ( temp uint)
0:?         'patchId' ( temp uint)
0:?         'patchId' ( in uint PrimitiveID)
0:42      Sequence
0:42        move second child to first child ( temp structure{})
0:42          indirect index ( out structure{})
0:?             '@entryPointOutput' ( out 3-element array of structure{})
0:?             'pointId' ( in uint InvocationID)
0:42          Function Call: @main(struct-EmptyStruct1;struct-HullInputType-vf41[3];u1;u1; ( temp structure{})
0:?             'stage_input' ( temp structure{})
0:?             'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
0:?             'pointId' ( temp uint)
0:?             'patchId' ( temp uint)
0:?       Barrier ( temp void)
0:?       Test condition and select ( temp void)
0:?         Condition
0:?         Compare Equal ( temp bool)
0:?           'pointId' ( in uint InvocationID)
0:?           Constant:
0:?             0 (const int)
0:?         true case
0:?         Sequence
0:?           move second child to first child ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?             Function Call: ColorPatchConstantFunction(struct-HullInputType-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
0:?               'patchId' ( in uint PrimitiveID)
0:?           Sequence
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelOuter)
0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   0 (const int)
0:?               direct index ( temp float)
0:?                 edges: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?                   Constant:
0:?                     0 (const int)
0:?                 Constant:
0:?                   0 (const int)
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelOuter)
0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   1 (const int)
0:?               direct index ( temp float)
0:?                 edges: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?                   Constant:
0:?                     0 (const int)
0:?                 Constant:
0:?                   1 (const int)
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelOuter)
0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   2 (const int)
0:?               direct index ( temp float)
0:?                 edges: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?                   Constant:
0:?                     0 (const int)
0:?                 Constant:
0:?                   2 (const int)
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelInner)
0:?                 '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
0:?                 Constant:
0:?                   0 (const int)
0:?               inside: direct index for structure ( temp float)
0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?                 Constant:
0:?                   1 (const int)
0:?   Linker Objects
0:?     'patch.position' ( in 3-element array of 4-component vector of float Position)
0:?     'pointId' ( in uint InvocationID)
0:?     'patchId' ( in uint PrimitiveID)
0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
0:?     '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)


Linked tessellation control stage:


Shader version: 500
vertices = 3
vertex spacing = equal_spacing
triangle order = cw
0:? Sequence
0:16  Function Definition: blob(struct-HullInputType-vf41[3]; ( temp void)
0:16    Function Parameters: 
0:16      'patch' ( in 3-element array of structure{ temp 4-component vector of float position})
0:20  Function Definition: ColorPatchConstantFunction(struct-HullInputType-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:20    Function Parameters: 
0:20      'inputPatch' ( in 3-element array of structure{ temp 4-component vector of float position})
0:20      'patchId' ( in uint)
0:?     Sequence
0:24      move second child to first child ( temp float)
0:24        direct index ( temp float)
0:24          edges: direct index for structure ( temp 3-element array of float)
0:24            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:24            Constant:
0:24              0 (const int)
0:24          Constant:
0:24            0 (const int)
0:24        Constant:
0:24          2.000000
0:25      move second child to first child ( temp float)
0:25        direct index ( temp float)
0:25          edges: direct index for structure ( temp 3-element array of float)
0:25            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:25            Constant:
0:25              0 (const int)
0:25          Constant:
0:25            1 (const int)
0:25        Constant:
0:25          2.000000
0:26      move second child to first child ( temp float)
0:26        direct index ( temp float)
0:26          edges: direct index for structure ( temp 3-element array of float)
0:26            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:26            Constant:
0:26              0 (const int)
0:26          Constant:
0:26            2 (const int)
0:26        Constant:
0:26          2.000000
0:29      move second child to first child ( temp float)
0:29        inside: direct index for structure ( temp float)
0:29          'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:29          Constant:
0:29            1 (const int)
0:29        Constant:
0:29          2.000000
0:31      Branch: Return with expression
0:31        'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:42  Function Definition: @main(struct-EmptyStruct1;struct-HullInputType-vf41[3];u1;u1; ( temp structure{})
0:42    Function Parameters: 
0:42      'stage_input' ( in structure{})
0:42      'patch' ( in 3-element array of structure{ temp 4-component vector of float position})
0:42      'pointId' ( in uint)
0:42      'patchId' ( in uint)
0:?     Sequence
0:44      Function Call: blob(struct-HullInputType-vf41[3]; ( temp void)
0:44        'patch' ( in 3-element array of structure{ temp 4-component vector of float position})
0:46      Branch: Return with expression
0:46        'output' ( temp structure{})
0:42  Function Definition: main( ( temp void)
0:42    Function Parameters: 
0:?     Sequence
0:42      Sequence
0:42        move second child to first child ( temp structure{})
0:?           'stage_input' ( temp structure{})
0:?           'stage_input' ( in structure{})
0:42      Sequence
0:42        move second child to first child ( temp 4-component vector of float)
0:42          position: direct index for structure ( temp 4-component vector of float)
0:42            direct index ( temp structure{ temp 4-component vector of float position})
0:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
0:42              Constant:
0:42                0 (const int)
0:42            Constant:
0:42              0 (const int)
0:42          direct index ( in 4-component vector of float Position)
0:?             'patch.position' ( in 3-element array of 4-component vector of float Position)
0:42            Constant:
0:42              0 (const int)
0:42        move second child to first child ( temp 4-component vector of float)
0:42          position: direct index for structure ( temp 4-component vector of float)
0:42            direct index ( temp structure{ temp 4-component vector of float position})
0:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
0:42              Constant:
0:42                1 (const int)
0:42            Constant:
0:42              0 (const int)
0:42          direct index ( in 4-component vector of float Position)
0:?             'patch.position' ( in 3-element array of 4-component vector of float Position)
0:42            Constant:
0:42              1 (const int)
0:42        move second child to first child ( temp 4-component vector of float)
0:42          position: direct index for structure ( temp 4-component vector of float)
0:42            direct index ( temp structure{ temp 4-component vector of float position})
0:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
0:42              Constant:
0:42                2 (const int)
0:42            Constant:
0:42              0 (const int)
0:42          direct index ( in 4-component vector of float Position)
0:?             'patch.position' ( in 3-element array of 4-component vector of float Position)
0:42            Constant:
0:42              2 (const int)
0:42      move second child to first child ( temp uint)
0:?         'pointId' ( temp uint)
0:?         'pointId' ( in uint InvocationID)
0:42      move second child to first child ( temp uint)
0:?         'patchId' ( temp uint)
0:?         'patchId' ( in uint PrimitiveID)
0:42      Sequence
0:42        move second child to first child ( temp structure{})
0:42          indirect index ( out structure{})
0:?             '@entryPointOutput' ( out 3-element array of structure{})
0:?             'pointId' ( in uint InvocationID)
0:42          Function Call: @main(struct-EmptyStruct1;struct-HullInputType-vf41[3];u1;u1; ( temp structure{})
0:?             'stage_input' ( temp structure{})
0:?             'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
0:?             'pointId' ( temp uint)
0:?             'patchId' ( temp uint)
0:?       Barrier ( temp void)
0:?       Test condition and select ( temp void)
0:?         Condition
0:?         Compare Equal ( temp bool)
0:?           'pointId' ( in uint InvocationID)
0:?           Constant:
0:?             0 (const int)
0:?         true case
0:?         Sequence
0:?           move second child to first child ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?             Function Call: ColorPatchConstantFunction(struct-HullInputType-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
0:?               'patchId' ( in uint PrimitiveID)
0:?           Sequence
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelOuter)
0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   0 (const int)
0:?               direct index ( temp float)
0:?                 edges: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?                   Constant:
0:?                     0 (const int)
0:?                 Constant:
0:?                   0 (const int)
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelOuter)
0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   1 (const int)
0:?               direct index ( temp float)
0:?                 edges: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?                   Constant:
0:?                     0 (const int)
0:?                 Constant:
0:?                   1 (const int)
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelOuter)
0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
0:?                 Constant:
0:?                   2 (const int)
0:?               direct index ( temp float)
0:?                 edges: direct index for structure ( temp 3-element array of float)
0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?                   Constant:
0:?                     0 (const int)
0:?                 Constant:
0:?                   2 (const int)
0:?             move second child to first child ( temp float)
0:?               direct index ( patch out float TessLevelInner)
0:?                 '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
0:?                 Constant:
0:?                   0 (const int)
0:?               inside: direct index for structure ( temp float)
0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
0:?                 Constant:
0:?                   1 (const int)
0:?   Linker Objects
0:?     'patch.position' ( in 3-element array of 4-component vector of float Position)
0:?     'pointId' ( in uint InvocationID)
0:?     'patchId' ( in uint PrimitiveID)
0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
0:?     '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)

Validation failed
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 132

                              Capability Tessellation
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint TessellationControl 4  "main" 65 79 82 115 128
                              ExecutionMode 4 OutputVertices 3
                              ExecutionMode 4 Triangles
                              ExecutionMode 4 SpacingEqual
                              ExecutionMode 4 VertexOrderCw
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "HullInputType"
                              MemberName 8(HullInputType) 0  "position"
                              Name 15  "blob(struct-HullInputType-vf41[3];"
                              Name 14  "patch"
                              Name 19  "ConstantOutputType"
                              MemberName 19(ConstantOutputType) 0  "edges"
                              MemberName 19(ConstantOutputType) 1  "inside"
                              Name 23  "ColorPatchConstantFunction(struct-HullInputType-vf41[3];u1;"
                              Name 21  "inputPatch"
                              Name 22  "patchId"
                              Name 25  "EmptyStruct"
                              Name 27  "HullOutputType"
                              Name 33  "@main(struct-EmptyStruct1;struct-HullInputType-vf41[3];u1;u1;"
                              Name 29  "stage_input"
                              Name 30  "patch"
                              Name 31  "pointId"
                              Name 32  "patchId"
                              Name 36  "output"
                              Name 50  "param"
                              Name 54  "output"
                              Name 58  "stage_input"
                              Name 60  "stage_input"
                              Name 62  "patch"
                              Name 65  "patch.position"
                              Name 77  "pointId"
                              Name 79  "pointId"
                              Name 81  "patchId"
                              Name 82  "patchId"
                              Name 86  "@entryPointOutput"
                              Name 88  "param"
                              Name 90  "param"
                              Name 92  "param"
                              Name 94  "param"
                              Name 107  "@patchConstantResult"
                              Name 108  "param"
                              Name 110  "param"
                              Name 115  "@patchConstantOutput.edges"
                              Name 128  "@patchConstantOutput.inside"
                              Decorate 65(patch.position) BuiltIn Position
                              Decorate 79(pointId) BuiltIn InvocationId
                              Decorate 82(patchId) BuiltIn PrimitiveId
                              Decorate 115(@patchConstantOutput.edges) BuiltIn TessLevelOuter
                              Decorate 115(@patchConstantOutput.edges) Patch
                              Decorate 128(@patchConstantOutput.inside) BuiltIn TessLevelInner
                              Decorate 128(@patchConstantOutput.inside) Patch
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
8(HullInputType):             TypeStruct 7(fvec4)
               9:             TypeInt 32 0
              10:      9(int) Constant 3
              11:             TypeArray 8(HullInputType) 10
              12:             TypePointer Function 11
              13:             TypeFunction 2 12(ptr)
              17:             TypePointer Function 9(int)
              18:             TypeArray 6(float) 10
19(ConstantOutputType):             TypeStruct 18 6(float)
              20:             TypeFunction 19(ConstantOutputType) 12(ptr) 17(ptr)
 25(EmptyStruct):             TypeStruct
              26:             TypePointer Function 25(EmptyStruct)
27(HullOutputType):             TypeStruct
              28:             TypeFunction 27(HullOutputType) 26(ptr) 12(ptr) 17(ptr) 17(ptr)
              35:             TypePointer Function 19(ConstantOutputType)
              37:             TypeInt 32 1
              38:     37(int) Constant 0
              39:    6(float) Constant 1073741824
              40:             TypePointer Function 6(float)
              42:     37(int) Constant 1
              44:     37(int) Constant 2
              53:             TypePointer Function 27(HullOutputType)
              59:             TypePointer Input 25(EmptyStruct)
 60(stage_input):     59(ptr) Variable Input
              63:             TypeArray 7(fvec4) 10
              64:             TypePointer Input 63
65(patch.position):     64(ptr) Variable Input
              66:             TypePointer Input 7(fvec4)
              69:             TypePointer Function 7(fvec4)
              78:             TypePointer Input 9(int)
     79(pointId):     78(ptr) Variable Input
     82(patchId):     78(ptr) Variable Input
              84:             TypeArray 27(HullOutputType) 10
              85:             TypePointer Output 84
86(@entryPointOutput):     85(ptr) Variable Output
              97:             TypePointer Output 27(HullOutputType)
              99:      9(int) Constant 2
             100:      9(int) Constant 4
             101:      9(int) Constant 0
             103:             TypeBool
             113:             TypeArray 6(float) 100
             114:             TypePointer Output 113
115(@patchConstantOutput.edges):    114(ptr) Variable Output
             118:             TypePointer Output 6(float)
             126:             TypeArray 6(float) 99
             127:             TypePointer Output 126
128(@patchConstantOutput.inside):    127(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
 58(stage_input):     26(ptr) Variable Function
       62(patch):     12(ptr) Variable Function
     77(pointId):     17(ptr) Variable Function
     81(patchId):     17(ptr) Variable Function
       88(param):     26(ptr) Variable Function
       90(param):     12(ptr) Variable Function
       92(param):     17(ptr) Variable Function
       94(param):     17(ptr) Variable Function
107(@patchConstantResult):     35(ptr) Variable Function
      108(param):     12(ptr) Variable Function
      110(param):     17(ptr) Variable Function
              61:25(EmptyStruct) Load 60(stage_input)
                              Store 58(stage_input) 61
              67:     66(ptr) AccessChain 65(patch.position) 38
              68:    7(fvec4) Load 67
              70:     69(ptr) AccessChain 62(patch) 38 38
                              Store 70 68
              71:     66(ptr) AccessChain 65(patch.position) 42
              72:    7(fvec4) Load 71
              73:     69(ptr) AccessChain 62(patch) 42 38
                              Store 73 72
              74:     66(ptr) AccessChain 65(patch.position) 44
              75:    7(fvec4) Load 74
              76:     69(ptr) AccessChain 62(patch) 44 38
                              Store 76 75
              80:      9(int) Load 79(pointId)
                              Store 77(pointId) 80
              83:      9(int) Load 82(patchId)
                              Store 81(patchId) 83
              87:      9(int) Load 79(pointId)
              89:25(EmptyStruct) Load 58(stage_input)
                              Store 88(param) 89
              91:          11 Load 62(patch)
                              Store 90(param) 91
              93:      9(int) Load 77(pointId)
                              Store 92(param) 93
              95:      9(int) Load 81(patchId)
                              Store 94(param) 95
              96:27(HullOutputType) FunctionCall 33(@main(struct-EmptyStruct1;struct-HullInputType-vf41[3];u1;u1;) 88(param) 90(param) 92(param) 94(param)
              98:     97(ptr) AccessChain 86(@entryPointOutput) 87
                              Store 98 96
                              ControlBarrier 99 100 101
             102:      9(int) Load 79(pointId)
             104:   103(bool) IEqual 102 38
                              SelectionMerge 106 None
                              BranchConditional 104 105 106
             105:               Label
             109:          11   Load 62(patch)
                                Store 108(param) 109
             111:      9(int)   Load 82(patchId)
                                Store 110(param) 111
             112:19(ConstantOutputType)   FunctionCall 23(ColorPatchConstantFunction(struct-HullInputType-vf41[3];u1;) 108(param) 110(param)
                                Store 107(@patchConstantResult) 112
             116:     40(ptr)   AccessChain 107(@patchConstantResult) 38 38
             117:    6(float)   Load 116
             119:    118(ptr)   AccessChain 115(@patchConstantOutput.edges) 38
                                Store 119 117
             120:     40(ptr)   AccessChain 107(@patchConstantResult) 38 42
             121:    6(float)   Load 120
             122:    118(ptr)   AccessChain 115(@patchConstantOutput.edges) 42
                                Store 122 121
             123:     40(ptr)   AccessChain 107(@patchConstantResult) 38 44
             124:    6(float)   Load 123
             125:    118(ptr)   AccessChain 115(@patchConstantOutput.edges) 44
                                Store 125 124
             129:     40(ptr)   AccessChain 107(@patchConstantResult) 42
             130:    6(float)   Load 129
             131:    118(ptr)   AccessChain 128(@patchConstantOutput.inside) 38
                                Store 131 130
                                Branch 106
             106:             Label
                              Return
                              FunctionEnd
15(blob(struct-HullInputType-vf41[3];):           2 Function None 13
       14(patch):     12(ptr) FunctionParameter
              16:             Label
                              Return
                              FunctionEnd
23(ColorPatchConstantFunction(struct-HullInputType-vf41[3];u1;):19(ConstantOutputType) Function None 20
  21(inputPatch):     12(ptr) FunctionParameter
     22(patchId):     17(ptr) FunctionParameter
              24:             Label
      36(output):     35(ptr) Variable Function
              41:     40(ptr) AccessChain 36(output) 38 38
                              Store 41 39
              43:     40(ptr) AccessChain 36(output) 38 42
                              Store 43 39
              45:     40(ptr) AccessChain 36(output) 38 44
                              Store 45 39
              46:     40(ptr) AccessChain 36(output) 42
                              Store 46 39
              47:19(ConstantOutputType) Load 36(output)
                              ReturnValue 47
                              FunctionEnd
33(@main(struct-EmptyStruct1;struct-HullInputType-vf41[3];u1;u1;):27(HullOutputType) Function None 28
 29(stage_input):     26(ptr) FunctionParameter
       30(patch):     12(ptr) FunctionParameter
     31(pointId):     17(ptr) FunctionParameter
     32(patchId):     17(ptr) FunctionParameter
              34:             Label
       50(param):     12(ptr) Variable Function
      54(output):     53(ptr) Variable Function
              51:          11 Load 30(patch)
                              Store 50(param) 51
              52:           2 FunctionCall 15(blob(struct-HullInputType-vf41[3];) 50(param)
              55:27(HullOutputType) Load 54(output)
                              ReturnValue 55
                              FunctionEnd