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 Sequence 930:63 move second child to first child ( temp 3-component vector of float) 940:63 position: direct index for structure ( temp 3-component vector of float) 950:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 960:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 970:63 Constant: 980:63 0 (const int) 990:63 Constant: 1000:63 0 (const int) 1010:63 direct index (layout( location=0) in 3-component vector of float) 1020:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float) 1030:63 Constant: 1040:63 0 (const int) 1050:63 move second child to first child ( temp 4-component vector of float) 1060:63 color: direct index for structure ( temp 4-component vector of float) 1070:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 1080:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 1090:63 Constant: 1100:63 0 (const int) 1110:63 Constant: 1120:63 1 (const int) 1130:63 direct index (layout( location=1) in 4-component vector of float) 1140:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float) 1150:63 Constant: 1160:63 0 (const int) 1170:63 move second child to first child ( temp 3-component vector of float) 1180:63 position: direct index for structure ( temp 3-component vector of float) 1190:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 1200:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 1210:63 Constant: 1220:63 1 (const int) 1230:63 Constant: 1240:63 0 (const int) 1250:63 direct index (layout( location=0) in 3-component vector of float) 1260:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float) 1270:63 Constant: 1280:63 1 (const int) 1290:63 move second child to first child ( temp 4-component vector of float) 1300:63 color: direct index for structure ( temp 4-component vector of float) 1310:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 1320:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 1330:63 Constant: 1340:63 1 (const int) 1350:63 Constant: 1360:63 1 (const int) 1370:63 direct index (layout( location=1) in 4-component vector of float) 1380:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float) 1390:63 Constant: 1400:63 1 (const int) 1410:63 move second child to first child ( temp 3-component vector of float) 1420:63 position: direct index for structure ( temp 3-component vector of float) 1430:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 1440:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 1450:63 Constant: 1460:63 2 (const int) 1470:63 Constant: 1480:63 0 (const int) 1490:63 direct index (layout( location=0) in 3-component vector of float) 1500:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float) 1510:63 Constant: 1520:63 2 (const int) 1530:63 move second child to first child ( temp 4-component vector of float) 1540:63 color: direct index for structure ( temp 4-component vector of float) 1550:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 1560:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 1570:63 Constant: 1580:63 2 (const int) 1590:63 Constant: 1600:63 1 (const int) 1610:63 direct index (layout( location=1) in 4-component vector of float) 1620:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float) 1630:63 Constant: 1640:63 2 (const int) 1650:63 move second child to first child ( temp uint) 1660:? 'pointId' ( temp uint) 1670:? 'pointId' ( in uint InvocationID) 1680:63 move second child to first child ( temp uint) 1690:? 'patchId' ( temp uint) 1700:? 'patchId' ( in uint PrimitiveID) 1710:63 Sequence 1720:63 move second child to first child ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 1730:63 'flattenTemp' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 1740: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}) 1750:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 1760:? 'pointId' ( temp uint) 1770:? 'patchId' ( temp uint) 1780:63 move second child to first child ( temp 3-component vector of float) 1790:63 indirect index (layout( location=0) out 3-component vector of float) 1800:? '@entryPointOutput.position' (layout( location=0) out 3-element array of 3-component vector of float) 1810:? 'pointId' ( in uint InvocationID) 1820:63 position: direct index for structure ( temp 3-component vector of float) 1830:63 'flattenTemp' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 1840:63 Constant: 1850:63 0 (const int) 1860:63 move second child to first child ( temp 4-component vector of float) 1870:63 indirect index (layout( location=1) out 4-component vector of float) 1880:? '@entryPointOutput.color' (layout( location=1) out 3-element array of 4-component vector of float) 1890:? 'pointId' ( in uint InvocationID) 1900:63 color: direct index for structure ( temp 4-component vector of float) 1910:63 'flattenTemp' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 1920:63 Constant: 1930:63 1 (const int) 1940:? Barrier ( temp void) 1950:? Test condition and select ( temp void) 1960:? Condition 1970:? Compare Equal ( temp bool) 1980:? 'pointId' ( in uint InvocationID) 1990:? Constant: 2000:? 0 (const int) 2010:? true case 2020:? Sequence 2030:? move second child to first child ( temp structure{ temp 3-element array of float edges, temp float inside}) 2040:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside}) 2050:? Function Call: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges, temp float inside}) 2060:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 2070:? 'patchId' ( in uint PrimitiveID) 2080:? Sequence 2090:? move second child to first child ( temp float) 2100:? direct index ( patch out float TessLevelOuter) 2110:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter) 2120:? Constant: 2130:? 0 (const int) 2140:? direct index ( temp float) 2150:? edges: direct index for structure ( temp 3-element array of float) 2160:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside}) 2170:? Constant: 2180:? 0 (const int) 2190:? Constant: 2200:? 0 (const int) 2210:? move second child to first child ( temp float) 2220:? direct index ( patch out float TessLevelOuter) 2230:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter) 2240:? Constant: 2250:? 1 (const int) 2260:? direct index ( temp float) 2270:? edges: direct index for structure ( temp 3-element array of float) 2280:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside}) 2290:? Constant: 2300:? 0 (const int) 2310:? Constant: 2320:? 1 (const int) 2330:? move second child to first child ( temp float) 2340:? direct index ( patch out float TessLevelOuter) 2350:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter) 2360:? Constant: 2370:? 2 (const int) 2380:? direct index ( temp float) 2390:? edges: direct index for structure ( temp 3-element array of float) 2400:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside}) 2410:? Constant: 2420:? 0 (const int) 2430:? Constant: 2440:? 2 (const int) 2450:? move second child to first child ( temp float) 2460:? direct index ( patch out float TessLevelInner) 2470:? '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner) 2480:? Constant: 2490:? 0 (const int) 2500:? inside: direct index for structure ( temp float) 2510:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside}) 2520:? Constant: 2530:? 1 (const int) 2540:? Linker Objects 2550:? '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}) 2560:? '@entryPointOutput.position' (layout( location=0) out 3-element array of 3-component vector of float) 2570:? '@entryPointOutput.color' (layout( location=1) out 3-element array of 4-component vector of float) 2580:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float) 2590:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float) 2600:? 'pointId' ( in uint InvocationID) 2610:? 'patchId' ( in uint PrimitiveID) 2620:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter) 2630:? '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner) 264 265 266Linked tessellation control stage: 267 268 269Shader version: 500 270vertices = 3 271vertex spacing = equal_spacing 272triangle order = cw 2730:? Sequence 2740:37 Function Definition: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges, temp float inside}) 2750:37 Function Parameters: 2760:37 'inputPatch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 2770:37 'patchId' ( in uint) 2780:? Sequence 2790:42 move second child to first child ( temp float) 2800:42 direct index ( temp float) 2810:42 edges: direct index for structure ( temp 3-element array of float) 2820:42 'output' ( temp structure{ temp 3-element array of float edges, temp float inside}) 2830:42 Constant: 2840:42 0 (const int) 2850:42 Constant: 2860:42 0 (const int) 2870:42 tessellationAmount: direct index for structure (layout( row_major std140) uniform float) 2880: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}) 2890:42 Constant: 2900:42 0 (const uint) 2910:43 move second child to first child ( temp float) 2920:43 direct index ( temp float) 2930:43 edges: direct index for structure ( temp 3-element array of float) 2940:43 'output' ( temp structure{ temp 3-element array of float edges, temp float inside}) 2950:43 Constant: 2960:43 0 (const int) 2970:43 Constant: 2980:43 1 (const int) 2990:43 tessellationAmount: direct index for structure (layout( row_major std140) uniform float) 3000: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}) 3010:43 Constant: 3020:43 0 (const uint) 3030:44 move second child to first child ( temp float) 3040:44 direct index ( temp float) 3050:44 edges: direct index for structure ( temp 3-element array of float) 3060:44 'output' ( temp structure{ temp 3-element array of float edges, temp float inside}) 3070:44 Constant: 3080:44 0 (const int) 3090:44 Constant: 3100:44 2 (const int) 3110:44 tessellationAmount: direct index for structure (layout( row_major std140) uniform float) 3120: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}) 3130:44 Constant: 3140:44 0 (const uint) 3150:47 move second child to first child ( temp float) 3160:47 inside: direct index for structure ( temp float) 3170:47 'output' ( temp structure{ temp 3-element array of float edges, temp float inside}) 3180:47 Constant: 3190:47 1 (const int) 3200:47 tessellationAmount: direct index for structure (layout( row_major std140) uniform float) 3210: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}) 3220:47 Constant: 3230:47 0 (const uint) 3240:49 Branch: Return with expression 3250:49 'output' ( temp structure{ temp 3-element array of float edges, temp float inside}) 3260: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}) 3270:63 Function Parameters: 3280:63 'patch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 3290:63 'pointId' ( in uint) 3300:63 'patchId' ( in uint) 3310:? Sequence 3320:67 move second child to first child ( temp 3-component vector of float) 3330:67 position: direct index for structure ( temp 3-component vector of float) 3340:67 'output' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 3350:67 Constant: 3360:67 0 (const int) 3370:67 position: direct index for structure ( temp 3-component vector of float) 3380:67 indirect index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 3390:67 'patch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 3400:67 'pointId' ( in uint) 3410:67 Constant: 3420:67 0 (const int) 3430:70 move second child to first child ( temp 4-component vector of float) 3440:70 color: direct index for structure ( temp 4-component vector of float) 3450:70 'output' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 3460:70 Constant: 3470:70 1 (const int) 3480:70 color: direct index for structure ( temp 4-component vector of float) 3490:70 indirect index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 3500:70 'patch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 3510:70 'pointId' ( in uint) 3520:70 Constant: 3530:70 1 (const int) 3540:72 Branch: Return with expression 3550:72 'output' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 3560:63 Function Definition: main( ( temp void) 3570:63 Function Parameters: 3580:? Sequence 3590:63 Sequence 3600:63 move second child to first child ( temp 3-component vector of float) 3610:63 position: direct index for structure ( temp 3-component vector of float) 3620:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 3630:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 3640:63 Constant: 3650:63 0 (const int) 3660:63 Constant: 3670:63 0 (const int) 3680:63 direct index (layout( location=0) in 3-component vector of float) 3690:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float) 3700:63 Constant: 3710:63 0 (const int) 3720:63 move second child to first child ( temp 4-component vector of float) 3730:63 color: direct index for structure ( temp 4-component vector of float) 3740:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 3750:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 3760:63 Constant: 3770:63 0 (const int) 3780:63 Constant: 3790:63 1 (const int) 3800:63 direct index (layout( location=1) in 4-component vector of float) 3810:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float) 3820:63 Constant: 3830:63 0 (const int) 3840:63 move second child to first child ( temp 3-component vector of float) 3850:63 position: direct index for structure ( temp 3-component vector of float) 3860:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 3870:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 3880:63 Constant: 3890:63 1 (const int) 3900:63 Constant: 3910:63 0 (const int) 3920:63 direct index (layout( location=0) in 3-component vector of float) 3930:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float) 3940:63 Constant: 3950:63 1 (const int) 3960:63 move second child to first child ( temp 4-component vector of float) 3970:63 color: direct index for structure ( temp 4-component vector of float) 3980:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 3990:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 4000:63 Constant: 4010:63 1 (const int) 4020:63 Constant: 4030:63 1 (const int) 4040:63 direct index (layout( location=1) in 4-component vector of float) 4050:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float) 4060:63 Constant: 4070:63 1 (const int) 4080:63 move second child to first child ( temp 3-component vector of float) 4090:63 position: direct index for structure ( temp 3-component vector of float) 4100:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 4110:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 4120:63 Constant: 4130:63 2 (const int) 4140:63 Constant: 4150:63 0 (const int) 4160:63 direct index (layout( location=0) in 3-component vector of float) 4170:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float) 4180:63 Constant: 4190:63 2 (const int) 4200:63 move second child to first child ( temp 4-component vector of float) 4210:63 color: direct index for structure ( temp 4-component vector of float) 4220:63 direct index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 4230:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 4240:63 Constant: 4250:63 2 (const int) 4260:63 Constant: 4270:63 1 (const int) 4280:63 direct index (layout( location=1) in 4-component vector of float) 4290:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float) 4300:63 Constant: 4310:63 2 (const int) 4320:63 move second child to first child ( temp uint) 4330:? 'pointId' ( temp uint) 4340:? 'pointId' ( in uint InvocationID) 4350:63 move second child to first child ( temp uint) 4360:? 'patchId' ( temp uint) 4370:? 'patchId' ( in uint PrimitiveID) 4380:63 Sequence 4390:63 move second child to first child ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 4400:63 'flattenTemp' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 4410: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}) 4420:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 4430:? 'pointId' ( temp uint) 4440:? 'patchId' ( temp uint) 4450:63 move second child to first child ( temp 3-component vector of float) 4460:63 indirect index (layout( location=0) out 3-component vector of float) 4470:? '@entryPointOutput.position' (layout( location=0) out 3-element array of 3-component vector of float) 4480:? 'pointId' ( in uint InvocationID) 4490:63 position: direct index for structure ( temp 3-component vector of float) 4500:63 'flattenTemp' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 4510:63 Constant: 4520:63 0 (const int) 4530:63 move second child to first child ( temp 4-component vector of float) 4540:63 indirect index (layout( location=1) out 4-component vector of float) 4550:? '@entryPointOutput.color' (layout( location=1) out 3-element array of 4-component vector of float) 4560:? 'pointId' ( in uint InvocationID) 4570:63 color: direct index for structure ( temp 4-component vector of float) 4580:63 'flattenTemp' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 4590:63 Constant: 4600:63 1 (const int) 4610:? Barrier ( temp void) 4620:? Test condition and select ( temp void) 4630:? Condition 4640:? Compare Equal ( temp bool) 4650:? 'pointId' ( in uint InvocationID) 4660:? Constant: 4670:? 0 (const int) 4680:? true case 4690:? Sequence 4700:? move second child to first child ( temp structure{ temp 3-element array of float edges, temp float inside}) 4710:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside}) 4720:? Function Call: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges, temp float inside}) 4730:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color}) 4740:? 'patchId' ( in uint PrimitiveID) 4750:? Sequence 4760:? move second child to first child ( temp float) 4770:? direct index ( patch out float TessLevelOuter) 4780:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter) 4790:? Constant: 4800:? 0 (const int) 4810:? direct index ( temp float) 4820:? edges: direct index for structure ( temp 3-element array of float) 4830:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside}) 4840:? Constant: 4850:? 0 (const int) 4860:? Constant: 4870:? 0 (const int) 4880:? move second child to first child ( temp float) 4890:? direct index ( patch out float TessLevelOuter) 4900:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter) 4910:? Constant: 4920:? 1 (const int) 4930:? direct index ( temp float) 4940:? edges: direct index for structure ( temp 3-element array of float) 4950:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside}) 4960:? Constant: 4970:? 0 (const int) 4980:? Constant: 4990:? 1 (const int) 5000:? move second child to first child ( temp float) 5010:? direct index ( patch out float TessLevelOuter) 5020:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter) 5030:? Constant: 5040:? 2 (const int) 5050:? direct index ( temp float) 5060:? edges: direct index for structure ( temp 3-element array of float) 5070:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside}) 5080:? Constant: 5090:? 0 (const int) 5100:? Constant: 5110:? 2 (const int) 5120:? move second child to first child ( temp float) 5130:? direct index ( patch out float TessLevelInner) 5140:? '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner) 5150:? Constant: 5160:? 0 (const int) 5170:? inside: direct index for structure ( temp float) 5180:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside}) 5190:? Constant: 5200:? 1 (const int) 5210:? Linker Objects 5220:? '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}) 5230:? '@entryPointOutput.position' (layout( location=0) out 3-element array of 3-component vector of float) 5240:? '@entryPointOutput.color' (layout( location=1) out 3-element array of 4-component vector of float) 5250:? 'patch.position' (layout( location=0) in 3-element array of 3-component vector of float) 5260:? 'patch.color' (layout( location=1) in 3-element array of 4-component vector of float) 5270:? 'pointId' ( in uint InvocationID) 5280:? 'patchId' ( in uint PrimitiveID) 5290:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter) 5300:? '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner) 531 532// Module Version 10000 533// Generated by (magic number): 8000b 534// Id's are bound by 159 535 536 Capability Tessellation 537 1: ExtInstImport "GLSL.std.450" 538 MemoryModel Logical GLSL450 539 EntryPoint TessellationControl 4 "main" 73 80 99 102 113 120 142 155 540 ExecutionMode 4 OutputVertices 3 541 ExecutionMode 4 Triangles 542 ExecutionMode 4 SpacingEqual 543 ExecutionMode 4 VertexOrderCw 544 Source HLSL 500 545 Name 4 "main" 546 Name 9 "HullInputType" 547 MemberName 9(HullInputType) 0 "position" 548 MemberName 9(HullInputType) 1 "color" 549 Name 16 "ConstantOutputType" 550 MemberName 16(ConstantOutputType) 0 "edges" 551 MemberName 16(ConstantOutputType) 1 "inside" 552 Name 20 "ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;" 553 Name 18 "inputPatch" 554 Name 19 "patchId" 555 Name 22 "HullOutputType" 556 MemberName 22(HullOutputType) 0 "position" 557 MemberName 22(HullOutputType) 1 "color" 558 Name 27 "@main(struct-HullInputType-vf3-vf41[3];u1;u1;" 559 Name 24 "patch" 560 Name 25 "pointId" 561 Name 26 "patchId" 562 Name 30 "output" 563 Name 33 "TessellationBuffer" 564 MemberName 33(TessellationBuffer) 0 "tessellationAmount" 565 MemberName 33(TessellationBuffer) 1 "padding" 566 Name 35 "" 567 Name 56 "output" 568 Name 70 "patch" 569 Name 73 "patch.position" 570 Name 80 "patch.color" 571 Name 97 "pointId" 572 Name 99 "pointId" 573 Name 101 "patchId" 574 Name 102 "patchId" 575 Name 104 "flattenTemp" 576 Name 105 "param" 577 Name 107 "param" 578 Name 109 "param" 579 Name 113 "@entryPointOutput.position" 580 Name 120 "@entryPointOutput.color" 581 Name 134 "@patchConstantResult" 582 Name 135 "param" 583 Name 137 "param" 584 Name 142 "@patchConstantOutput.edges" 585 Name 155 "@patchConstantOutput.inside" 586 MemberDecorate 33(TessellationBuffer) 0 Offset 0 587 MemberDecorate 33(TessellationBuffer) 1 Offset 4 588 Decorate 33(TessellationBuffer) Block 589 Decorate 35 DescriptorSet 0 590 Decorate 35 Binding 0 591 Decorate 73(patch.position) Location 0 592 Decorate 80(patch.color) Location 1 593 Decorate 99(pointId) BuiltIn InvocationId 594 Decorate 102(patchId) BuiltIn PrimitiveId 595 Decorate 113(@entryPointOutput.position) Location 0 596 Decorate 120(@entryPointOutput.color) Location 1 597 Decorate 142(@patchConstantOutput.edges) Patch 598 Decorate 142(@patchConstantOutput.edges) BuiltIn TessLevelOuter 599 Decorate 155(@patchConstantOutput.inside) Patch 600 Decorate 155(@patchConstantOutput.inside) BuiltIn TessLevelInner 601 2: TypeVoid 602 3: TypeFunction 2 603 6: TypeFloat 32 604 7: TypeVector 6(float) 3 605 8: TypeVector 6(float) 4 6069(HullInputType): TypeStruct 7(fvec3) 8(fvec4) 607 10: TypeInt 32 0 608 11: 10(int) Constant 3 609 12: TypeArray 9(HullInputType) 11 610 13: TypePointer Function 12 611 14: TypePointer Function 10(int) 612 15: TypeArray 6(float) 11 61316(ConstantOutputType): TypeStruct 15 6(float) 614 17: TypeFunction 16(ConstantOutputType) 13(ptr) 14(ptr) 61522(HullOutputType): TypeStruct 7(fvec3) 8(fvec4) 616 23: TypeFunction 22(HullOutputType) 13(ptr) 14(ptr) 14(ptr) 617 29: TypePointer Function 16(ConstantOutputType) 618 31: TypeInt 32 1 619 32: 31(int) Constant 0 62033(TessellationBuffer): TypeStruct 6(float) 7(fvec3) 621 34: TypePointer Uniform 33(TessellationBuffer) 622 35: 34(ptr) Variable Uniform 623 36: TypePointer Uniform 6(float) 624 39: TypePointer Function 6(float) 625 41: 31(int) Constant 1 626 45: 31(int) Constant 2 627 55: TypePointer Function 22(HullOutputType) 628 58: TypePointer Function 7(fvec3) 629 63: TypePointer Function 8(fvec4) 630 71: TypeArray 7(fvec3) 11 631 72: TypePointer Input 71 63273(patch.position): 72(ptr) Variable Input 633 74: TypePointer Input 7(fvec3) 634 78: TypeArray 8(fvec4) 11 635 79: TypePointer Input 78 636 80(patch.color): 79(ptr) Variable Input 637 81: TypePointer Input 8(fvec4) 638 98: TypePointer Input 10(int) 639 99(pointId): 98(ptr) Variable Input 640 102(patchId): 98(ptr) Variable Input 641 112: TypePointer Output 71 642113(@entryPointOutput.position): 112(ptr) Variable Output 643 117: TypePointer Output 7(fvec3) 644 119: TypePointer Output 78 645120(@entryPointOutput.color): 119(ptr) Variable Output 646 124: TypePointer Output 8(fvec4) 647 126: 10(int) Constant 2 648 127: 10(int) Constant 4 649 128: 10(int) Constant 0 650 130: TypeBool 651 140: TypeArray 6(float) 127 652 141: TypePointer Output 140 653142(@patchConstantOutput.edges): 141(ptr) Variable Output 654 145: TypePointer Output 6(float) 655 153: TypeArray 6(float) 126 656 154: TypePointer Output 153 657155(@patchConstantOutput.inside): 154(ptr) Variable Output 658 4(main): 2 Function None 3 659 5: Label 660 70(patch): 13(ptr) Variable Function 661 97(pointId): 14(ptr) Variable Function 662 101(patchId): 14(ptr) Variable Function 663104(flattenTemp): 55(ptr) Variable Function 664 105(param): 13(ptr) Variable Function 665 107(param): 14(ptr) Variable Function 666 109(param): 14(ptr) Variable Function 667134(@patchConstantResult): 29(ptr) Variable Function 668 135(param): 13(ptr) Variable Function 669 137(param): 14(ptr) Variable Function 670 75: 74(ptr) AccessChain 73(patch.position) 32 671 76: 7(fvec3) Load 75 672 77: 58(ptr) AccessChain 70(patch) 32 32 673 Store 77 76 674 82: 81(ptr) AccessChain 80(patch.color) 32 675 83: 8(fvec4) Load 82 676 84: 63(ptr) AccessChain 70(patch) 32 41 677 Store 84 83 678 85: 74(ptr) AccessChain 73(patch.position) 41 679 86: 7(fvec3) Load 85 680 87: 58(ptr) AccessChain 70(patch) 41 32 681 Store 87 86 682 88: 81(ptr) AccessChain 80(patch.color) 41 683 89: 8(fvec4) Load 88 684 90: 63(ptr) AccessChain 70(patch) 41 41 685 Store 90 89 686 91: 74(ptr) AccessChain 73(patch.position) 45 687 92: 7(fvec3) Load 91 688 93: 58(ptr) AccessChain 70(patch) 45 32 689 Store 93 92 690 94: 81(ptr) AccessChain 80(patch.color) 45 691 95: 8(fvec4) Load 94 692 96: 63(ptr) AccessChain 70(patch) 45 41 693 Store 96 95 694 100: 10(int) Load 99(pointId) 695 Store 97(pointId) 100 696 103: 10(int) Load 102(patchId) 697 Store 101(patchId) 103 698 106: 12 Load 70(patch) 699 Store 105(param) 106 700 108: 10(int) Load 97(pointId) 701 Store 107(param) 108 702 110: 10(int) Load 101(patchId) 703 Store 109(param) 110 704 111:22(HullOutputType) FunctionCall 27(@main(struct-HullInputType-vf3-vf41[3];u1;u1;) 105(param) 107(param) 109(param) 705 Store 104(flattenTemp) 111 706 114: 10(int) Load 99(pointId) 707 115: 58(ptr) AccessChain 104(flattenTemp) 32 708 116: 7(fvec3) Load 115 709 118: 117(ptr) AccessChain 113(@entryPointOutput.position) 114 710 Store 118 116 711 121: 10(int) Load 99(pointId) 712 122: 63(ptr) AccessChain 104(flattenTemp) 41 713 123: 8(fvec4) Load 122 714 125: 124(ptr) AccessChain 120(@entryPointOutput.color) 121 715 Store 125 123 716 ControlBarrier 126 127 128 717 129: 10(int) Load 99(pointId) 718 131: 130(bool) IEqual 129 32 719 SelectionMerge 133 None 720 BranchConditional 131 132 133 721 132: Label 722 136: 12 Load 70(patch) 723 Store 135(param) 136 724 138: 10(int) Load 102(patchId) 725 Store 137(param) 138 726 139:16(ConstantOutputType) FunctionCall 20(ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;) 135(param) 137(param) 727 Store 134(@patchConstantResult) 139 728 143: 39(ptr) AccessChain 134(@patchConstantResult) 32 32 729 144: 6(float) Load 143 730 146: 145(ptr) AccessChain 142(@patchConstantOutput.edges) 32 731 Store 146 144 732 147: 39(ptr) AccessChain 134(@patchConstantResult) 32 41 733 148: 6(float) Load 147 734 149: 145(ptr) AccessChain 142(@patchConstantOutput.edges) 41 735 Store 149 148 736 150: 39(ptr) AccessChain 134(@patchConstantResult) 32 45 737 151: 6(float) Load 150 738 152: 145(ptr) AccessChain 142(@patchConstantOutput.edges) 45 739 Store 152 151 740 156: 39(ptr) AccessChain 134(@patchConstantResult) 41 741 157: 6(float) Load 156 742 158: 145(ptr) AccessChain 155(@patchConstantOutput.inside) 32 743 Store 158 157 744 Branch 133 745 133: Label 746 Return 747 FunctionEnd 74820(ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;):16(ConstantOutputType) Function None 17 749 18(inputPatch): 13(ptr) FunctionParameter 750 19(patchId): 14(ptr) FunctionParameter 751 21: Label 752 30(output): 29(ptr) Variable Function 753 37: 36(ptr) AccessChain 35 32 754 38: 6(float) Load 37 755 40: 39(ptr) AccessChain 30(output) 32 32 756 Store 40 38 757 42: 36(ptr) AccessChain 35 32 758 43: 6(float) Load 42 759 44: 39(ptr) AccessChain 30(output) 32 41 760 Store 44 43 761 46: 36(ptr) AccessChain 35 32 762 47: 6(float) Load 46 763 48: 39(ptr) AccessChain 30(output) 32 45 764 Store 48 47 765 49: 36(ptr) AccessChain 35 32 766 50: 6(float) Load 49 767 51: 39(ptr) AccessChain 30(output) 41 768 Store 51 50 769 52:16(ConstantOutputType) Load 30(output) 770 ReturnValue 52 771 FunctionEnd 77227(@main(struct-HullInputType-vf3-vf41[3];u1;u1;):22(HullOutputType) Function None 23 773 24(patch): 13(ptr) FunctionParameter 774 25(pointId): 14(ptr) FunctionParameter 775 26(patchId): 14(ptr) FunctionParameter 776 28: Label 777 56(output): 55(ptr) Variable Function 778 57: 10(int) Load 25(pointId) 779 59: 58(ptr) AccessChain 24(patch) 57 32 780 60: 7(fvec3) Load 59 781 61: 58(ptr) AccessChain 56(output) 32 782 Store 61 60 783 62: 10(int) Load 25(pointId) 784 64: 63(ptr) AccessChain 24(patch) 62 41 785 65: 8(fvec4) Load 64 786 66: 63(ptr) AccessChain 56(output) 41 787 Store 66 65 788 67:22(HullOutputType) Load 56(output) 789 ReturnValue 67 790 FunctionEnd 791