1hlsl.color.hull.tesc
2Shader version: 500
3vertices = 3
4vertex spacing = equal_spacing
5triangle order = cw
60:? Sequence
70:37  Function Definition: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
80:37    Function Parameters:
90:37      'inputPatch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
100:37      'patchId' ( in uint)
110:?     Sequence
120:42      move second child to first child ( temp float)
130:42        direct index ( temp float)
140:42          edges: direct index for structure ( temp 3-element array of float)
150:42            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
160:42            Constant:
170:42              0 (const int)
180:42          Constant:
190:42            0 (const int)
200:42        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
210:42          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
220:42          Constant:
230:42            0 (const uint)
240:43      move second child to first child ( temp float)
250:43        direct index ( temp float)
260:43          edges: direct index for structure ( temp 3-element array of float)
270:43            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
280:43            Constant:
290:43              0 (const int)
300:43          Constant:
310:43            1 (const int)
320:43        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
330:43          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
340:43          Constant:
350:43            0 (const uint)
360:44      move second child to first child ( temp float)
370:44        direct index ( temp float)
380:44          edges: direct index for structure ( temp 3-element array of float)
390:44            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
400:44            Constant:
410:44              0 (const int)
420:44          Constant:
430:44            2 (const int)
440:44        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
450:44          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
460:44          Constant:
470:44            0 (const uint)
480:47      move second child to first child ( temp float)
490:47        inside: direct index for structure ( temp float)
500:47          'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
510:47          Constant:
520:47            1 (const int)
530:47        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
540:47          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
550:47          Constant:
560:47            0 (const uint)
570:49      Branch: Return with expression
580:49        'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
590:63  Function Definition: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
600:63    Function Parameters:
610:63      'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
620:63      'pointId' ( in uint)
630:63      'patchId' ( in uint)
640:?     Sequence
650:67      move second child to first child ( temp 3-component vector of float)
660:67        position: direct index for structure ( temp 3-component vector of float)
670:67          'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
680:67          Constant:
690:67            0 (const int)
700:67        position: direct index for structure ( temp 3-component vector of float)
710:67          indirect index ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
720:67            'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
730:67            'pointId' ( in uint)
740:67          Constant:
750:67            0 (const int)
760:70      move second child to first child ( temp 4-component vector of float)
770:70        color: direct index for structure ( temp 4-component vector of float)
780:70          'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
790:70          Constant:
800:70            1 (const int)
810:70        color: direct index for structure ( temp 4-component vector of float)
820:70          indirect index ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
830:70            'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
840:70            'pointId' ( in uint)
850:70          Constant:
860:70            1 (const int)
870:72      Branch: Return with expression
880:72        'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
890:63  Function Definition: main( ( temp void)
900:63    Function Parameters:
910:?     Sequence
920:63      move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
930:?         'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
940:?         'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
950:63      move second child to first child ( temp uint)
960:?         'pointId' ( temp uint)
970:?         'pointId' ( in uint InvocationID)
980:63      move second child to first child ( temp uint)
990:?         'patchId' ( temp uint)
1000:?         'patchId' ( in uint PrimitiveID)
1010:63      move second child to first child ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
1020:63        indirect index (layout( location=0) out structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
1030:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
1040:?           'pointId' ( in uint InvocationID)
1050:63        Function Call: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
1060:?           'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
1070:?           'pointId' ( temp uint)
1080:?           'patchId' ( temp uint)
1090:?       Barrier ( temp void)
1100:?       Test condition and select ( temp void)
1110:?         Condition
1120:?         Compare Equal ( temp bool)
1130:?           'pointId' ( in uint InvocationID)
1140:?           Constant:
1150:?             0 (const int)
1160:?         true case
1170:?         Sequence
1180:?           move second child to first child ( temp structure{ temp 3-element array of float edges,  temp float inside})
1190:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
1200:?             Function Call: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
1210:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
1220:?               'patchId' ( in uint PrimitiveID)
1230:?           Sequence
1240:?             move second child to first child ( temp float)
1250:?               direct index ( patch out float TessLevelOuter)
1260:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
1270:?                 Constant:
1280:?                   0 (const int)
1290:?               direct index ( temp float)
1300:?                 edges: direct index for structure ( temp 3-element array of float)
1310:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
1320:?                   Constant:
1330:?                     0 (const int)
1340:?                 Constant:
1350:?                   0 (const int)
1360:?             move second child to first child ( temp float)
1370:?               direct index ( patch out float TessLevelOuter)
1380:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
1390:?                 Constant:
1400:?                   1 (const int)
1410:?               direct index ( temp float)
1420:?                 edges: direct index for structure ( temp 3-element array of float)
1430:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
1440:?                   Constant:
1450:?                     0 (const int)
1460:?                 Constant:
1470:?                   1 (const int)
1480:?             move second child to first child ( temp float)
1490:?               direct index ( patch out float TessLevelOuter)
1500:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
1510:?                 Constant:
1520:?                   2 (const int)
1530:?               direct index ( temp float)
1540:?                 edges: direct index for structure ( temp 3-element array of float)
1550:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
1560:?                   Constant:
1570:?                     0 (const int)
1580:?                 Constant:
1590:?                   2 (const int)
1600:?             move second child to first child ( temp float)
1610:?               direct index ( patch out float TessLevelInner)
1620:?                 '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
1630:?                 Constant:
1640:?                   0 (const int)
1650:?               inside: direct index for structure ( temp float)
1660:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
1670:?                 Constant:
1680:?                   1 (const int)
1690:?   Linker Objects
1700:?     'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
1710:?     '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
1720:?     'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
1730:?     'pointId' ( in uint InvocationID)
1740:?     'patchId' ( in uint PrimitiveID)
1750:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
1760:?     '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
177
178
179Linked tessellation control stage:
180
181
182Shader version: 500
183vertices = 3
184vertex spacing = equal_spacing
185triangle order = cw
1860:? Sequence
1870:37  Function Definition: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
1880:37    Function Parameters:
1890:37      'inputPatch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
1900:37      'patchId' ( in uint)
1910:?     Sequence
1920:42      move second child to first child ( temp float)
1930:42        direct index ( temp float)
1940:42          edges: direct index for structure ( temp 3-element array of float)
1950:42            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
1960:42            Constant:
1970:42              0 (const int)
1980:42          Constant:
1990:42            0 (const int)
2000:42        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
2010:42          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
2020:42          Constant:
2030:42            0 (const uint)
2040:43      move second child to first child ( temp float)
2050:43        direct index ( temp float)
2060:43          edges: direct index for structure ( temp 3-element array of float)
2070:43            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
2080:43            Constant:
2090:43              0 (const int)
2100:43          Constant:
2110:43            1 (const int)
2120:43        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
2130:43          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
2140:43          Constant:
2150:43            0 (const uint)
2160:44      move second child to first child ( temp float)
2170:44        direct index ( temp float)
2180:44          edges: direct index for structure ( temp 3-element array of float)
2190:44            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
2200:44            Constant:
2210:44              0 (const int)
2220:44          Constant:
2230:44            2 (const int)
2240:44        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
2250:44          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
2260:44          Constant:
2270:44            0 (const uint)
2280:47      move second child to first child ( temp float)
2290:47        inside: direct index for structure ( temp float)
2300:47          'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
2310:47          Constant:
2320:47            1 (const int)
2330:47        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
2340:47          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
2350:47          Constant:
2360:47            0 (const uint)
2370:49      Branch: Return with expression
2380:49        'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
2390:63  Function Definition: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2400:63    Function Parameters:
2410:63      'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2420:63      'pointId' ( in uint)
2430:63      'patchId' ( in uint)
2440:?     Sequence
2450:67      move second child to first child ( temp 3-component vector of float)
2460:67        position: direct index for structure ( temp 3-component vector of float)
2470:67          'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2480:67          Constant:
2490:67            0 (const int)
2500:67        position: direct index for structure ( temp 3-component vector of float)
2510:67          indirect index ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2520:67            'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2530:67            'pointId' ( in uint)
2540:67          Constant:
2550:67            0 (const int)
2560:70      move second child to first child ( temp 4-component vector of float)
2570:70        color: direct index for structure ( temp 4-component vector of float)
2580:70          'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2590:70          Constant:
2600:70            1 (const int)
2610:70        color: direct index for structure ( temp 4-component vector of float)
2620:70          indirect index ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2630:70            'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2640:70            'pointId' ( in uint)
2650:70          Constant:
2660:70            1 (const int)
2670:72      Branch: Return with expression
2680:72        'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2690:63  Function Definition: main( ( temp void)
2700:63    Function Parameters:
2710:?     Sequence
2720:63      move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2730:?         'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2740:?         'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2750:63      move second child to first child ( temp uint)
2760:?         'pointId' ( temp uint)
2770:?         'pointId' ( in uint InvocationID)
2780:63      move second child to first child ( temp uint)
2790:?         'patchId' ( temp uint)
2800:?         'patchId' ( in uint PrimitiveID)
2810:63      move second child to first child ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2820:63        indirect index (layout( location=0) out structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2830:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2840:?           'pointId' ( in uint InvocationID)
2850:63        Function Call: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2860:?           'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
2870:?           'pointId' ( temp uint)
2880:?           'patchId' ( temp uint)
2890:?       Barrier ( temp void)
2900:?       Test condition and select ( temp void)
2910:?         Condition
2920:?         Compare Equal ( temp bool)
2930:?           'pointId' ( in uint InvocationID)
2940:?           Constant:
2950:?             0 (const int)
2960:?         true case
2970:?         Sequence
2980:?           move second child to first child ( temp structure{ temp 3-element array of float edges,  temp float inside})
2990:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
3000:?             Function Call: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
3010:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
3020:?               'patchId' ( in uint PrimitiveID)
3030:?           Sequence
3040:?             move second child to first child ( temp float)
3050:?               direct index ( patch out float TessLevelOuter)
3060:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
3070:?                 Constant:
3080:?                   0 (const int)
3090:?               direct index ( temp float)
3100:?                 edges: direct index for structure ( temp 3-element array of float)
3110:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
3120:?                   Constant:
3130:?                     0 (const int)
3140:?                 Constant:
3150:?                   0 (const int)
3160:?             move second child to first child ( temp float)
3170:?               direct index ( patch out float TessLevelOuter)
3180:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
3190:?                 Constant:
3200:?                   1 (const int)
3210:?               direct index ( temp float)
3220:?                 edges: direct index for structure ( temp 3-element array of float)
3230:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
3240:?                   Constant:
3250:?                     0 (const int)
3260:?                 Constant:
3270:?                   1 (const int)
3280:?             move second child to first child ( temp float)
3290:?               direct index ( patch out float TessLevelOuter)
3300:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
3310:?                 Constant:
3320:?                   2 (const int)
3330:?               direct index ( temp float)
3340:?                 edges: direct index for structure ( temp 3-element array of float)
3350:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
3360:?                   Constant:
3370:?                     0 (const int)
3380:?                 Constant:
3390:?                   2 (const int)
3400:?             move second child to first child ( temp float)
3410:?               direct index ( patch out float TessLevelInner)
3420:?                 '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
3430:?                 Constant:
3440:?                   0 (const int)
3450:?               inside: direct index for structure ( temp float)
3460:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
3470:?                 Constant:
3480:?                   1 (const int)
3490:?   Linker Objects
3500:?     'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
3510:?     '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
3520:?     'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
3530:?     'pointId' ( in uint InvocationID)
3540:?     'patchId' ( in uint PrimitiveID)
3550:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
3560:?     '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
357
358// Module Version 10000
359// Generated by (magic number): 80007
360// Id's are bound by 127
361
362                              Capability Tessellation
363               1:             ExtInstImport  "GLSL.std.450"
364                              MemoryModel Logical GLSL450
365                              EntryPoint TessellationControl 4  "main" 72 76 79 83 110 123
366                              ExecutionMode 4 OutputVertices 3
367                              ExecutionMode 4 Triangles
368                              ExecutionMode 4 SpacingEqual
369                              ExecutionMode 4 VertexOrderCw
370                              Source HLSL 500
371                              Name 4  "main"
372                              Name 9  "HullInputType"
373                              MemberName 9(HullInputType) 0  "position"
374                              MemberName 9(HullInputType) 1  "color"
375                              Name 16  "ConstantOutputType"
376                              MemberName 16(ConstantOutputType) 0  "edges"
377                              MemberName 16(ConstantOutputType) 1  "inside"
378                              Name 20  "ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;"
379                              Name 18  "inputPatch"
380                              Name 19  "patchId"
381                              Name 22  "HullOutputType"
382                              MemberName 22(HullOutputType) 0  "position"
383                              MemberName 22(HullOutputType) 1  "color"
384                              Name 27  "@main(struct-HullInputType-vf3-vf41[3];u1;u1;"
385                              Name 24  "patch"
386                              Name 25  "pointId"
387                              Name 26  "patchId"
388                              Name 30  "output"
389                              Name 33  "TessellationBuffer"
390                              MemberName 33(TessellationBuffer) 0  "tessellationAmount"
391                              MemberName 33(TessellationBuffer) 1  "padding"
392                              Name 35  ""
393                              Name 56  "output"
394                              Name 70  "patch"
395                              Name 72  "patch"
396                              Name 74  "pointId"
397                              Name 76  "pointId"
398                              Name 78  "patchId"
399                              Name 79  "patchId"
400                              Name 83  "@entryPointOutput"
401                              Name 85  "param"
402                              Name 87  "param"
403                              Name 89  "param"
404                              Name 102  "@patchConstantResult"
405                              Name 103  "param"
406                              Name 105  "param"
407                              Name 110  "@patchConstantOutput.edges"
408                              Name 123  "@patchConstantOutput.inside"
409                              MemberDecorate 33(TessellationBuffer) 0 Offset 0
410                              MemberDecorate 33(TessellationBuffer) 1 Offset 4
411                              Decorate 33(TessellationBuffer) Block
412                              Decorate 35 DescriptorSet 0
413                              Decorate 35 Binding 0
414                              Decorate 72(patch) Location 0
415                              Decorate 76(pointId) BuiltIn InvocationId
416                              Decorate 79(patchId) BuiltIn PrimitiveId
417                              Decorate 83(@entryPointOutput) Location 0
418                              Decorate 110(@patchConstantOutput.edges) Patch
419                              Decorate 110(@patchConstantOutput.edges) BuiltIn TessLevelOuter
420                              Decorate 123(@patchConstantOutput.inside) Patch
421                              Decorate 123(@patchConstantOutput.inside) BuiltIn TessLevelInner
422               2:             TypeVoid
423               3:             TypeFunction 2
424               6:             TypeFloat 32
425               7:             TypeVector 6(float) 3
426               8:             TypeVector 6(float) 4
4279(HullInputType):             TypeStruct 7(fvec3) 8(fvec4)
428              10:             TypeInt 32 0
429              11:     10(int) Constant 3
430              12:             TypeArray 9(HullInputType) 11
431              13:             TypePointer Function 12
432              14:             TypePointer Function 10(int)
433              15:             TypeArray 6(float) 11
43416(ConstantOutputType):             TypeStruct 15 6(float)
435              17:             TypeFunction 16(ConstantOutputType) 13(ptr) 14(ptr)
43622(HullOutputType):             TypeStruct 7(fvec3) 8(fvec4)
437              23:             TypeFunction 22(HullOutputType) 13(ptr) 14(ptr) 14(ptr)
438              29:             TypePointer Function 16(ConstantOutputType)
439              31:             TypeInt 32 1
440              32:     31(int) Constant 0
44133(TessellationBuffer):             TypeStruct 6(float) 7(fvec3)
442              34:             TypePointer Uniform 33(TessellationBuffer)
443              35:     34(ptr) Variable Uniform
444              36:             TypePointer Uniform 6(float)
445              39:             TypePointer Function 6(float)
446              41:     31(int) Constant 1
447              45:     31(int) Constant 2
448              55:             TypePointer Function 22(HullOutputType)
449              58:             TypePointer Function 7(fvec3)
450              63:             TypePointer Function 8(fvec4)
451              71:             TypePointer Input 12
452       72(patch):     71(ptr) Variable Input
453              75:             TypePointer Input 10(int)
454     76(pointId):     75(ptr) Variable Input
455     79(patchId):     75(ptr) Variable Input
456              81:             TypeArray 22(HullOutputType) 11
457              82:             TypePointer Output 81
45883(@entryPointOutput):     82(ptr) Variable Output
459              92:             TypePointer Output 22(HullOutputType)
460              94:     10(int) Constant 2
461              95:     10(int) Constant 4
462              96:     10(int) Constant 0
463              98:             TypeBool
464             108:             TypeArray 6(float) 95
465             109:             TypePointer Output 108
466110(@patchConstantOutput.edges):    109(ptr) Variable Output
467             113:             TypePointer Output 6(float)
468             121:             TypeArray 6(float) 94
469             122:             TypePointer Output 121
470123(@patchConstantOutput.inside):    122(ptr) Variable Output
471         4(main):           2 Function None 3
472               5:             Label
473       70(patch):     13(ptr) Variable Function
474     74(pointId):     14(ptr) Variable Function
475     78(patchId):     14(ptr) Variable Function
476       85(param):     13(ptr) Variable Function
477       87(param):     14(ptr) Variable Function
478       89(param):     14(ptr) Variable Function
479102(@patchConstantResult):     29(ptr) Variable Function
480      103(param):     13(ptr) Variable Function
481      105(param):     14(ptr) Variable Function
482              73:          12 Load 72(patch)
483                              Store 70(patch) 73
484              77:     10(int) Load 76(pointId)
485                              Store 74(pointId) 77
486              80:     10(int) Load 79(patchId)
487                              Store 78(patchId) 80
488              84:     10(int) Load 76(pointId)
489              86:          12 Load 70(patch)
490                              Store 85(param) 86
491              88:     10(int) Load 74(pointId)
492                              Store 87(param) 88
493              90:     10(int) Load 78(patchId)
494                              Store 89(param) 90
495              91:22(HullOutputType) FunctionCall 27(@main(struct-HullInputType-vf3-vf41[3];u1;u1;) 85(param) 87(param) 89(param)
496              93:     92(ptr) AccessChain 83(@entryPointOutput) 84
497                              Store 93 91
498                              ControlBarrier 94 95 96
499              97:     10(int) Load 76(pointId)
500              99:    98(bool) IEqual 97 32
501                              SelectionMerge 101 None
502                              BranchConditional 99 100 101
503             100:               Label
504             104:          12   Load 70(patch)
505                                Store 103(param) 104
506             106:     10(int)   Load 79(patchId)
507                                Store 105(param) 106
508             107:16(ConstantOutputType)   FunctionCall 20(ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;) 103(param) 105(param)
509                                Store 102(@patchConstantResult) 107
510             111:     39(ptr)   AccessChain 102(@patchConstantResult) 32 32
511             112:    6(float)   Load 111
512             114:    113(ptr)   AccessChain 110(@patchConstantOutput.edges) 32
513                                Store 114 112
514             115:     39(ptr)   AccessChain 102(@patchConstantResult) 32 41
515             116:    6(float)   Load 115
516             117:    113(ptr)   AccessChain 110(@patchConstantOutput.edges) 41
517                                Store 117 116
518             118:     39(ptr)   AccessChain 102(@patchConstantResult) 32 45
519             119:    6(float)   Load 118
520             120:    113(ptr)   AccessChain 110(@patchConstantOutput.edges) 45
521                                Store 120 119
522             124:     39(ptr)   AccessChain 102(@patchConstantResult) 41
523             125:    6(float)   Load 124
524             126:    113(ptr)   AccessChain 123(@patchConstantOutput.inside) 32
525                                Store 126 125
526                                Branch 101
527             101:             Label
528                              Return
529                              FunctionEnd
53020(ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;):16(ConstantOutputType) Function None 17
531  18(inputPatch):     13(ptr) FunctionParameter
532     19(patchId):     14(ptr) FunctionParameter
533              21:             Label
534      30(output):     29(ptr) Variable Function
535              37:     36(ptr) AccessChain 35 32
536              38:    6(float) Load 37
537              40:     39(ptr) AccessChain 30(output) 32 32
538                              Store 40 38
539              42:     36(ptr) AccessChain 35 32
540              43:    6(float) Load 42
541              44:     39(ptr) AccessChain 30(output) 32 41
542                              Store 44 43
543              46:     36(ptr) AccessChain 35 32
544              47:    6(float) Load 46
545              48:     39(ptr) AccessChain 30(output) 32 45
546                              Store 48 47
547              49:     36(ptr) AccessChain 35 32
548              50:    6(float) Load 49
549              51:     39(ptr) AccessChain 30(output) 41
550                              Store 51 50
551              52:16(ConstantOutputType) Load 30(output)
552                              ReturnValue 52
553                              FunctionEnd
55427(@main(struct-HullInputType-vf3-vf41[3];u1;u1;):22(HullOutputType) Function None 23
555       24(patch):     13(ptr) FunctionParameter
556     25(pointId):     14(ptr) FunctionParameter
557     26(patchId):     14(ptr) FunctionParameter
558              28:             Label
559      56(output):     55(ptr) Variable Function
560              57:     10(int) Load 25(pointId)
561              59:     58(ptr) AccessChain 24(patch) 57 32
562              60:    7(fvec3) Load 59
563              61:     58(ptr) AccessChain 56(output) 32
564                              Store 61 60
565              62:     10(int) Load 25(pointId)
566              64:     63(ptr) AccessChain 24(patch) 62 41
567              65:    8(fvec4) Load 64
568              66:     63(ptr) AccessChain 56(output) 41
569                              Store 66 65
570              67:22(HullOutputType) Load 56(output)
571                              ReturnValue 67
572                              FunctionEnd
573