1hlsl.emptystructreturn.tesc
2Shader version: 500
3vertices = 3
4vertex spacing = equal_spacing
5triangle order = cw
60:? Sequence
70:16  Function Definition: blob(struct-HullInputType-vf41[3]; ( temp void)
80:16    Function Parameters: 
90:16      'patch' ( in 3-element array of structure{ temp 4-component vector of float position})
100:20  Function Definition: ColorPatchConstantFunction(struct-HullInputType-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
110:20    Function Parameters: 
120:20      'inputPatch' ( in 3-element array of structure{ temp 4-component vector of float position})
130:20      'patchId' ( in uint)
140:?     Sequence
150:24      move second child to first child ( temp float)
160:24        direct index ( temp float)
170:24          edges: direct index for structure ( temp 3-element array of float)
180:24            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
190:24            Constant:
200:24              0 (const int)
210:24          Constant:
220:24            0 (const int)
230:24        Constant:
240:24          2.000000
250:25      move second child to first child ( temp float)
260:25        direct index ( temp float)
270:25          edges: direct index for structure ( temp 3-element array of float)
280:25            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
290:25            Constant:
300:25              0 (const int)
310:25          Constant:
320:25            1 (const int)
330:25        Constant:
340:25          2.000000
350:26      move second child to first child ( temp float)
360:26        direct index ( temp float)
370:26          edges: direct index for structure ( temp 3-element array of float)
380:26            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
390:26            Constant:
400:26              0 (const int)
410:26          Constant:
420:26            2 (const int)
430:26        Constant:
440:26          2.000000
450:29      move second child to first child ( temp float)
460:29        inside: direct index for structure ( temp float)
470:29          'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
480:29          Constant:
490:29            1 (const int)
500:29        Constant:
510:29          2.000000
520:31      Branch: Return with expression
530:31        'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
540:42  Function Definition: @main(struct-EmptyStruct1;struct-HullInputType-vf41[3];u1;u1; ( temp structure{})
550:42    Function Parameters: 
560:42      'stage_input' ( in structure{})
570:42      'patch' ( in 3-element array of structure{ temp 4-component vector of float position})
580:42      'pointId' ( in uint)
590:42      'patchId' ( in uint)
600:?     Sequence
610:44      Function Call: blob(struct-HullInputType-vf41[3]; ( temp void)
620:44        'patch' ( in 3-element array of structure{ temp 4-component vector of float position})
630:46      Branch: Return with expression
640:46        'output' ( temp structure{})
650:42  Function Definition: main( ( temp void)
660:42    Function Parameters: 
670:?     Sequence
680:42      Sequence
690:42        move second child to first child ( temp structure{})
700:?           'stage_input' ( temp structure{})
710:?           'stage_input' ( in structure{})
720:42      Sequence
730:42        move second child to first child ( temp 4-component vector of float)
740:42          position: direct index for structure ( temp 4-component vector of float)
750:42            direct index ( temp structure{ temp 4-component vector of float position})
760:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
770:42              Constant:
780:42                0 (const int)
790:42            Constant:
800:42              0 (const int)
810:42          direct index ( in 4-component vector of float Position)
820:?             'patch.position' ( in 3-element array of 4-component vector of float Position)
830:42            Constant:
840:42              0 (const int)
850:42        move second child to first child ( temp 4-component vector of float)
860:42          position: direct index for structure ( temp 4-component vector of float)
870:42            direct index ( temp structure{ temp 4-component vector of float position})
880:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
890:42              Constant:
900:42                1 (const int)
910:42            Constant:
920:42              0 (const int)
930:42          direct index ( in 4-component vector of float Position)
940:?             'patch.position' ( in 3-element array of 4-component vector of float Position)
950:42            Constant:
960:42              1 (const int)
970:42        move second child to first child ( temp 4-component vector of float)
980:42          position: direct index for structure ( temp 4-component vector of float)
990:42            direct index ( temp structure{ temp 4-component vector of float position})
1000:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
1010:42              Constant:
1020:42                2 (const int)
1030:42            Constant:
1040:42              0 (const int)
1050:42          direct index ( in 4-component vector of float Position)
1060:?             'patch.position' ( in 3-element array of 4-component vector of float Position)
1070:42            Constant:
1080:42              2 (const int)
1090:42      move second child to first child ( temp uint)
1100:?         'pointId' ( temp uint)
1110:?         'pointId' ( in uint InvocationID)
1120:42      move second child to first child ( temp uint)
1130:?         'patchId' ( temp uint)
1140:?         'patchId' ( in uint PrimitiveID)
1150:42      Sequence
1160:42        move second child to first child ( temp structure{})
1170:42          indirect index ( out structure{})
1180:?             '@entryPointOutput' ( out 3-element array of structure{})
1190:?             'pointId' ( in uint InvocationID)
1200:42          Function Call: @main(struct-EmptyStruct1;struct-HullInputType-vf41[3];u1;u1; ( temp structure{})
1210:?             'stage_input' ( temp structure{})
1220:?             'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
1230:?             'pointId' ( temp uint)
1240:?             'patchId' ( temp uint)
1250:?       Barrier ( temp void)
1260:?       Test condition and select ( temp void)
1270:?         Condition
1280:?         Compare Equal ( temp bool)
1290:?           'pointId' ( in uint InvocationID)
1300:?           Constant:
1310:?             0 (const int)
1320:?         true case
1330:?         Sequence
1340:?           move second child to first child ( temp structure{ temp 3-element array of float edges,  temp float inside})
1350:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
1360:?             Function Call: ColorPatchConstantFunction(struct-HullInputType-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
1370:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
1380:?               'patchId' ( in uint PrimitiveID)
1390:?           Sequence
1400:?             move second child to first child ( temp float)
1410:?               direct index ( patch out float TessLevelOuter)
1420:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
1430:?                 Constant:
1440:?                   0 (const int)
1450:?               direct index ( temp float)
1460:?                 edges: direct index for structure ( temp 3-element array of float)
1470:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
1480:?                   Constant:
1490:?                     0 (const int)
1500:?                 Constant:
1510:?                   0 (const int)
1520:?             move second child to first child ( temp float)
1530:?               direct index ( patch out float TessLevelOuter)
1540:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
1550:?                 Constant:
1560:?                   1 (const int)
1570:?               direct index ( temp float)
1580:?                 edges: direct index for structure ( temp 3-element array of float)
1590:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
1600:?                   Constant:
1610:?                     0 (const int)
1620:?                 Constant:
1630:?                   1 (const int)
1640:?             move second child to first child ( temp float)
1650:?               direct index ( patch out float TessLevelOuter)
1660:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
1670:?                 Constant:
1680:?                   2 (const int)
1690:?               direct index ( temp float)
1700:?                 edges: direct index for structure ( temp 3-element array of float)
1710:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
1720:?                   Constant:
1730:?                     0 (const int)
1740:?                 Constant:
1750:?                   2 (const int)
1760:?             move second child to first child ( temp float)
1770:?               direct index ( patch out float TessLevelInner)
1780:?                 '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
1790:?                 Constant:
1800:?                   0 (const int)
1810:?               inside: direct index for structure ( temp float)
1820:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
1830:?                 Constant:
1840:?                   1 (const int)
1850:?   Linker Objects
1860:?     'patch.position' ( in 3-element array of 4-component vector of float Position)
1870:?     'pointId' ( in uint InvocationID)
1880:?     'patchId' ( in uint PrimitiveID)
1890:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
1900:?     '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
191
192
193Linked tessellation control stage:
194
195
196Shader version: 500
197vertices = 3
198vertex spacing = equal_spacing
199triangle order = cw
2000:? Sequence
2010:16  Function Definition: blob(struct-HullInputType-vf41[3]; ( temp void)
2020:16    Function Parameters: 
2030:16      'patch' ( in 3-element array of structure{ temp 4-component vector of float position})
2040:20  Function Definition: ColorPatchConstantFunction(struct-HullInputType-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
2050:20    Function Parameters: 
2060:20      'inputPatch' ( in 3-element array of structure{ temp 4-component vector of float position})
2070:20      'patchId' ( in uint)
2080:?     Sequence
2090:24      move second child to first child ( temp float)
2100:24        direct index ( temp float)
2110:24          edges: direct index for structure ( temp 3-element array of float)
2120:24            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
2130:24            Constant:
2140:24              0 (const int)
2150:24          Constant:
2160:24            0 (const int)
2170:24        Constant:
2180:24          2.000000
2190:25      move second child to first child ( temp float)
2200:25        direct index ( temp float)
2210:25          edges: direct index for structure ( temp 3-element array of float)
2220:25            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
2230:25            Constant:
2240:25              0 (const int)
2250:25          Constant:
2260:25            1 (const int)
2270:25        Constant:
2280:25          2.000000
2290:26      move second child to first child ( temp float)
2300:26        direct index ( temp float)
2310:26          edges: direct index for structure ( temp 3-element array of float)
2320:26            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
2330:26            Constant:
2340:26              0 (const int)
2350:26          Constant:
2360:26            2 (const int)
2370:26        Constant:
2380:26          2.000000
2390:29      move second child to first child ( temp float)
2400:29        inside: direct index for structure ( temp float)
2410:29          'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
2420:29          Constant:
2430:29            1 (const int)
2440:29        Constant:
2450:29          2.000000
2460:31      Branch: Return with expression
2470:31        'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
2480:42  Function Definition: @main(struct-EmptyStruct1;struct-HullInputType-vf41[3];u1;u1; ( temp structure{})
2490:42    Function Parameters: 
2500:42      'stage_input' ( in structure{})
2510:42      'patch' ( in 3-element array of structure{ temp 4-component vector of float position})
2520:42      'pointId' ( in uint)
2530:42      'patchId' ( in uint)
2540:?     Sequence
2550:44      Function Call: blob(struct-HullInputType-vf41[3]; ( temp void)
2560:44        'patch' ( in 3-element array of structure{ temp 4-component vector of float position})
2570:46      Branch: Return with expression
2580:46        'output' ( temp structure{})
2590:42  Function Definition: main( ( temp void)
2600:42    Function Parameters: 
2610:?     Sequence
2620:42      Sequence
2630:42        move second child to first child ( temp structure{})
2640:?           'stage_input' ( temp structure{})
2650:?           'stage_input' ( in structure{})
2660:42      Sequence
2670:42        move second child to first child ( temp 4-component vector of float)
2680:42          position: direct index for structure ( temp 4-component vector of float)
2690:42            direct index ( temp structure{ temp 4-component vector of float position})
2700:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
2710:42              Constant:
2720:42                0 (const int)
2730:42            Constant:
2740:42              0 (const int)
2750:42          direct index ( in 4-component vector of float Position)
2760:?             'patch.position' ( in 3-element array of 4-component vector of float Position)
2770:42            Constant:
2780:42              0 (const int)
2790:42        move second child to first child ( temp 4-component vector of float)
2800:42          position: direct index for structure ( temp 4-component vector of float)
2810:42            direct index ( temp structure{ temp 4-component vector of float position})
2820:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
2830:42              Constant:
2840:42                1 (const int)
2850:42            Constant:
2860:42              0 (const int)
2870:42          direct index ( in 4-component vector of float Position)
2880:?             'patch.position' ( in 3-element array of 4-component vector of float Position)
2890:42            Constant:
2900:42              1 (const int)
2910:42        move second child to first child ( temp 4-component vector of float)
2920:42          position: direct index for structure ( temp 4-component vector of float)
2930:42            direct index ( temp structure{ temp 4-component vector of float position})
2940:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
2950:42              Constant:
2960:42                2 (const int)
2970:42            Constant:
2980:42              0 (const int)
2990:42          direct index ( in 4-component vector of float Position)
3000:?             'patch.position' ( in 3-element array of 4-component vector of float Position)
3010:42            Constant:
3020:42              2 (const int)
3030:42      move second child to first child ( temp uint)
3040:?         'pointId' ( temp uint)
3050:?         'pointId' ( in uint InvocationID)
3060:42      move second child to first child ( temp uint)
3070:?         'patchId' ( temp uint)
3080:?         'patchId' ( in uint PrimitiveID)
3090:42      Sequence
3100:42        move second child to first child ( temp structure{})
3110:42          indirect index ( out structure{})
3120:?             '@entryPointOutput' ( out 3-element array of structure{})
3130:?             'pointId' ( in uint InvocationID)
3140:42          Function Call: @main(struct-EmptyStruct1;struct-HullInputType-vf41[3];u1;u1; ( temp structure{})
3150:?             'stage_input' ( temp structure{})
3160:?             'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
3170:?             'pointId' ( temp uint)
3180:?             'patchId' ( temp uint)
3190:?       Barrier ( temp void)
3200:?       Test condition and select ( temp void)
3210:?         Condition
3220:?         Compare Equal ( temp bool)
3230:?           'pointId' ( in uint InvocationID)
3240:?           Constant:
3250:?             0 (const int)
3260:?         true case
3270:?         Sequence
3280:?           move second child to first child ( temp structure{ temp 3-element array of float edges,  temp float inside})
3290:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
3300:?             Function Call: ColorPatchConstantFunction(struct-HullInputType-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
3310:?               'patch' ( temp 3-element array of structure{ temp 4-component vector of float position})
3320:?               'patchId' ( in uint PrimitiveID)
3330:?           Sequence
3340:?             move second child to first child ( temp float)
3350:?               direct index ( patch out float TessLevelOuter)
3360:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
3370:?                 Constant:
3380:?                   0 (const int)
3390:?               direct index ( temp float)
3400:?                 edges: direct index for structure ( temp 3-element array of float)
3410:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
3420:?                   Constant:
3430:?                     0 (const int)
3440:?                 Constant:
3450:?                   0 (const int)
3460:?             move second child to first child ( temp float)
3470:?               direct index ( patch out float TessLevelOuter)
3480:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
3490:?                 Constant:
3500:?                   1 (const int)
3510:?               direct index ( temp float)
3520:?                 edges: direct index for structure ( temp 3-element array of float)
3530:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
3540:?                   Constant:
3550:?                     0 (const int)
3560:?                 Constant:
3570:?                   1 (const int)
3580:?             move second child to first child ( temp float)
3590:?               direct index ( patch out float TessLevelOuter)
3600:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
3610:?                 Constant:
3620:?                   2 (const int)
3630:?               direct index ( temp float)
3640:?                 edges: direct index for structure ( temp 3-element array of float)
3650:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
3660:?                   Constant:
3670:?                     0 (const int)
3680:?                 Constant:
3690:?                   2 (const int)
3700:?             move second child to first child ( temp float)
3710:?               direct index ( patch out float TessLevelInner)
3720:?                 '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
3730:?                 Constant:
3740:?                   0 (const int)
3750:?               inside: direct index for structure ( temp float)
3760:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
3770:?                 Constant:
3780:?                   1 (const int)
3790:?   Linker Objects
3800:?     'patch.position' ( in 3-element array of 4-component vector of float Position)
3810:?     'pointId' ( in uint InvocationID)
3820:?     'patchId' ( in uint PrimitiveID)
3830:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
3840:?     '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
385
386Validation failed
387// Module Version 10000
388// Generated by (magic number): 8000b
389// Id's are bound by 132
390
391                              Capability Tessellation
392               1:             ExtInstImport  "GLSL.std.450"
393                              MemoryModel Logical GLSL450
394                              EntryPoint TessellationControl 4  "main" 65 79 82 115 128
395                              ExecutionMode 4 OutputVertices 3
396                              ExecutionMode 4 Triangles
397                              ExecutionMode 4 SpacingEqual
398                              ExecutionMode 4 VertexOrderCw
399                              Source HLSL 500
400                              Name 4  "main"
401                              Name 8  "HullInputType"
402                              MemberName 8(HullInputType) 0  "position"
403                              Name 15  "blob(struct-HullInputType-vf41[3];"
404                              Name 14  "patch"
405                              Name 19  "ConstantOutputType"
406                              MemberName 19(ConstantOutputType) 0  "edges"
407                              MemberName 19(ConstantOutputType) 1  "inside"
408                              Name 23  "ColorPatchConstantFunction(struct-HullInputType-vf41[3];u1;"
409                              Name 21  "inputPatch"
410                              Name 22  "patchId"
411                              Name 25  "EmptyStruct"
412                              Name 27  "HullOutputType"
413                              Name 33  "@main(struct-EmptyStruct1;struct-HullInputType-vf41[3];u1;u1;"
414                              Name 29  "stage_input"
415                              Name 30  "patch"
416                              Name 31  "pointId"
417                              Name 32  "patchId"
418                              Name 36  "output"
419                              Name 50  "param"
420                              Name 54  "output"
421                              Name 58  "stage_input"
422                              Name 60  "stage_input"
423                              Name 62  "patch"
424                              Name 65  "patch.position"
425                              Name 77  "pointId"
426                              Name 79  "pointId"
427                              Name 81  "patchId"
428                              Name 82  "patchId"
429                              Name 86  "@entryPointOutput"
430                              Name 88  "param"
431                              Name 90  "param"
432                              Name 92  "param"
433                              Name 94  "param"
434                              Name 107  "@patchConstantResult"
435                              Name 108  "param"
436                              Name 110  "param"
437                              Name 115  "@patchConstantOutput.edges"
438                              Name 128  "@patchConstantOutput.inside"
439                              Decorate 65(patch.position) BuiltIn Position
440                              Decorate 79(pointId) BuiltIn InvocationId
441                              Decorate 82(patchId) BuiltIn PrimitiveId
442                              Decorate 115(@patchConstantOutput.edges) Patch
443                              Decorate 115(@patchConstantOutput.edges) BuiltIn TessLevelOuter
444                              Decorate 128(@patchConstantOutput.inside) Patch
445                              Decorate 128(@patchConstantOutput.inside) BuiltIn TessLevelInner
446               2:             TypeVoid
447               3:             TypeFunction 2
448               6:             TypeFloat 32
449               7:             TypeVector 6(float) 4
4508(HullInputType):             TypeStruct 7(fvec4)
451               9:             TypeInt 32 0
452              10:      9(int) Constant 3
453              11:             TypeArray 8(HullInputType) 10
454              12:             TypePointer Function 11
455              13:             TypeFunction 2 12(ptr)
456              17:             TypePointer Function 9(int)
457              18:             TypeArray 6(float) 10
45819(ConstantOutputType):             TypeStruct 18 6(float)
459              20:             TypeFunction 19(ConstantOutputType) 12(ptr) 17(ptr)
460 25(EmptyStruct):             TypeStruct
461              26:             TypePointer Function 25(EmptyStruct)
46227(HullOutputType):             TypeStruct
463              28:             TypeFunction 27(HullOutputType) 26(ptr) 12(ptr) 17(ptr) 17(ptr)
464              35:             TypePointer Function 19(ConstantOutputType)
465              37:             TypeInt 32 1
466              38:     37(int) Constant 0
467              39:    6(float) Constant 1073741824
468              40:             TypePointer Function 6(float)
469              42:     37(int) Constant 1
470              44:     37(int) Constant 2
471              53:             TypePointer Function 27(HullOutputType)
472              59:             TypePointer Input 25(EmptyStruct)
473 60(stage_input):     59(ptr) Variable Input
474              63:             TypeArray 7(fvec4) 10
475              64:             TypePointer Input 63
47665(patch.position):     64(ptr) Variable Input
477              66:             TypePointer Input 7(fvec4)
478              69:             TypePointer Function 7(fvec4)
479              78:             TypePointer Input 9(int)
480     79(pointId):     78(ptr) Variable Input
481     82(patchId):     78(ptr) Variable Input
482              84:             TypeArray 27(HullOutputType) 10
483              85:             TypePointer Output 84
48486(@entryPointOutput):     85(ptr) Variable Output
485              97:             TypePointer Output 27(HullOutputType)
486              99:      9(int) Constant 2
487             100:      9(int) Constant 4
488             101:      9(int) Constant 0
489             103:             TypeBool
490             113:             TypeArray 6(float) 100
491             114:             TypePointer Output 113
492115(@patchConstantOutput.edges):    114(ptr) Variable Output
493             118:             TypePointer Output 6(float)
494             126:             TypeArray 6(float) 99
495             127:             TypePointer Output 126
496128(@patchConstantOutput.inside):    127(ptr) Variable Output
497         4(main):           2 Function None 3
498               5:             Label
499 58(stage_input):     26(ptr) Variable Function
500       62(patch):     12(ptr) Variable Function
501     77(pointId):     17(ptr) Variable Function
502     81(patchId):     17(ptr) Variable Function
503       88(param):     26(ptr) Variable Function
504       90(param):     12(ptr) Variable Function
505       92(param):     17(ptr) Variable Function
506       94(param):     17(ptr) Variable Function
507107(@patchConstantResult):     35(ptr) Variable Function
508      108(param):     12(ptr) Variable Function
509      110(param):     17(ptr) Variable Function
510              61:25(EmptyStruct) Load 60(stage_input)
511                              Store 58(stage_input) 61
512              67:     66(ptr) AccessChain 65(patch.position) 38
513              68:    7(fvec4) Load 67
514              70:     69(ptr) AccessChain 62(patch) 38 38
515                              Store 70 68
516              71:     66(ptr) AccessChain 65(patch.position) 42
517              72:    7(fvec4) Load 71
518              73:     69(ptr) AccessChain 62(patch) 42 38
519                              Store 73 72
520              74:     66(ptr) AccessChain 65(patch.position) 44
521              75:    7(fvec4) Load 74
522              76:     69(ptr) AccessChain 62(patch) 44 38
523                              Store 76 75
524              80:      9(int) Load 79(pointId)
525                              Store 77(pointId) 80
526              83:      9(int) Load 82(patchId)
527                              Store 81(patchId) 83
528              87:      9(int) Load 79(pointId)
529              89:25(EmptyStruct) Load 58(stage_input)
530                              Store 88(param) 89
531              91:          11 Load 62(patch)
532                              Store 90(param) 91
533              93:      9(int) Load 77(pointId)
534                              Store 92(param) 93
535              95:      9(int) Load 81(patchId)
536                              Store 94(param) 95
537              96:27(HullOutputType) FunctionCall 33(@main(struct-EmptyStruct1;struct-HullInputType-vf41[3];u1;u1;) 88(param) 90(param) 92(param) 94(param)
538              98:     97(ptr) AccessChain 86(@entryPointOutput) 87
539                              Store 98 96
540                              ControlBarrier 99 100 101
541             102:      9(int) Load 79(pointId)
542             104:   103(bool) IEqual 102 38
543                              SelectionMerge 106 None
544                              BranchConditional 104 105 106
545             105:               Label
546             109:          11   Load 62(patch)
547                                Store 108(param) 109
548             111:      9(int)   Load 82(patchId)
549                                Store 110(param) 111
550             112:19(ConstantOutputType)   FunctionCall 23(ColorPatchConstantFunction(struct-HullInputType-vf41[3];u1;) 108(param) 110(param)
551                                Store 107(@patchConstantResult) 112
552             116:     40(ptr)   AccessChain 107(@patchConstantResult) 38 38
553             117:    6(float)   Load 116
554             119:    118(ptr)   AccessChain 115(@patchConstantOutput.edges) 38
555                                Store 119 117
556             120:     40(ptr)   AccessChain 107(@patchConstantResult) 38 42
557             121:    6(float)   Load 120
558             122:    118(ptr)   AccessChain 115(@patchConstantOutput.edges) 42
559                                Store 122 121
560             123:     40(ptr)   AccessChain 107(@patchConstantResult) 38 44
561             124:    6(float)   Load 123
562             125:    118(ptr)   AccessChain 115(@patchConstantOutput.edges) 44
563                                Store 125 124
564             129:     40(ptr)   AccessChain 107(@patchConstantResult) 42
565             130:    6(float)   Load 129
566             131:    118(ptr)   AccessChain 128(@patchConstantOutput.inside) 38
567                                Store 131 130
568                                Branch 106
569             106:             Label
570                              Return
571                              FunctionEnd
57215(blob(struct-HullInputType-vf41[3];):           2 Function None 13
573       14(patch):     12(ptr) FunctionParameter
574              16:             Label
575                              Return
576                              FunctionEnd
57723(ColorPatchConstantFunction(struct-HullInputType-vf41[3];u1;):19(ConstantOutputType) Function None 20
578  21(inputPatch):     12(ptr) FunctionParameter
579     22(patchId):     17(ptr) FunctionParameter
580              24:             Label
581      36(output):     35(ptr) Variable Function
582              41:     40(ptr) AccessChain 36(output) 38 38
583                              Store 41 39
584              43:     40(ptr) AccessChain 36(output) 38 42
585                              Store 43 39
586              45:     40(ptr) AccessChain 36(output) 38 44
587                              Store 45 39
588              46:     40(ptr) AccessChain 36(output) 42
589                              Store 46 39
590              47:19(ConstantOutputType) Load 36(output)
591                              ReturnValue 47
592                              FunctionEnd
59333(@main(struct-EmptyStruct1;struct-HullInputType-vf41[3];u1;u1;):27(HullOutputType) Function None 28
594 29(stage_input):     26(ptr) FunctionParameter
595       30(patch):     12(ptr) FunctionParameter
596     31(pointId):     17(ptr) FunctionParameter
597     32(patchId):     17(ptr) FunctionParameter
598              34:             Label
599       50(param):     12(ptr) Variable Function
600      54(output):     53(ptr) Variable Function
601              51:          11 Load 30(patch)
602                              Store 50(param) 51
603              52:           2 FunctionCall 15(blob(struct-HullInputType-vf41[3];) 50(param)
604              55:27(HullOutputType) Load 54(output)
605                              ReturnValue 55
606                              FunctionEnd
607