1glsl.450.subgroupBallotNeg.comp 2ERROR: 0:32: 'id' : argument must be compile-time constant 3ERROR: 1 compilation errors. No code generated. 4 5 6Shader version: 450 7Requested GL_KHR_shader_subgroup_ballot 8Requested GL_KHR_shader_subgroup_basic 9local_size = (8, 8, 1) 10ERROR: node is still EOpNull! 110:15 Function Definition: main( ( global void) 120:15 Function Parameters: 130:17 Sequence 140:17 Sequence 150:17 move second child to first child ( temp uint) 160:17 'invocation' ( temp uint) 170:17 mod ( temp uint) 180:17 add ( temp uint) 190:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID) 200:17 'gl_SubgroupSize' ( in uint SubgroupSize) 210:17 Constant: 220:17 4 (const uint) 230:19 Sequence 240:19 move second child to first child ( temp 4-component vector of uint) 250:19 'relMask' ( temp 4-component vector of uint) 260:22 add ( temp 4-component vector of uint) 270:21 add ( temp 4-component vector of uint) 280:20 add ( temp 4-component vector of uint) 290:19 add ( temp 4-component vector of uint) 300:19 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask) 310:20 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask) 320:21 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask) 330:22 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask) 340:23 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask) 350:25 Sequence 360:25 move second child to first child ( temp 4-component vector of uint) 370:25 'result' ( temp 4-component vector of uint) 380:25 subgroupBallot ( global 4-component vector of uint) 390:25 Constant: 400:25 true (const bool) 410:27 move second child to first child ( temp uint) 420:27 direct index ( temp uint) 430:27 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 440:27 indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 450:27 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 460:27 'invocation' ( temp uint) 470:27 Constant: 480:27 2 (const int) 490:27 Constant: 500:27 0 (const int) 510:27 subgroupBallotBitCount ( global uint) 520:27 'result' ( temp 4-component vector of uint) 530:28 move second child to first child ( temp uint) 540:28 direct index ( temp uint) 550:28 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 560:28 indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 570:28 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 580:28 'invocation' ( temp uint) 590:28 Constant: 600:28 2 (const int) 610:28 Constant: 620:28 1 (const int) 630:28 Convert int to uint ( temp uint) 640:28 Test condition and select ( temp int) 650:28 Condition 660:28 subgroupBallotBitExtract ( global bool) 670:28 'result' ( temp 4-component vector of uint) 680:28 Constant: 690:28 0 (const uint) 700:28 true case 710:28 Constant: 720:28 1 (const int) 730:28 false case 740:28 Constant: 750:28 0 (const int) 760:29 move second child to first child ( temp uint) 770:29 direct index ( temp uint) 780:29 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 790:29 indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 800:29 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 810:29 'invocation' ( temp uint) 820:29 Constant: 830:29 2 (const int) 840:29 Constant: 850:29 2 (const int) 860:29 add ( temp uint) 870:29 subgroupBallotInclusiveBitCount ( global uint) 880:29 'result' ( temp 4-component vector of uint) 890:29 subgroupBallotExclusiveBitCount ( global uint) 900:29 'result' ( temp 4-component vector of uint) 910:30 move second child to first child ( temp uint) 920:30 direct index ( temp uint) 930:30 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 940:30 indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 950:30 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 960:30 'invocation' ( temp uint) 970:30 Constant: 980:30 2 (const int) 990:30 Constant: 1000:30 3 (const int) 1010:30 add ( temp uint) 1020:30 subgroupBallotFindLSB ( global uint) 1030:30 'result' ( temp 4-component vector of uint) 1040:30 subgroupBallotFindMSB ( global uint) 1050:30 'result' ( temp 4-component vector of uint) 1060:32 move second child to first child ( temp float) 1070:32 direct index ( temp float) 1080:32 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 1090:32 indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 1100:32 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 1110:32 'invocation' ( temp uint) 1120:32 Constant: 1130:32 0 (const int) 1140:32 Constant: 1150:32 0 (const int) 1160:32 subgroupBroadcast ( global float) 1170:32 direct index ( temp float) 1180:32 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 1190:32 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 1200:32 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 1210:32 Constant: 1220:32 0 (const int) 1230:32 Constant: 1240:32 0 (const int) 1250:32 Constant: 1260:32 0 (const int) 1270:32 'invocation' ( temp uint) 1280:? Linker Objects 1290:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize) 1300:? 8 (const uint) 1310:? 8 (const uint) 1320:? 1 (const uint) 1330:? 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 134 135 136Linked compute stage: 137 138 139Shader version: 450 140Requested GL_KHR_shader_subgroup_ballot 141Requested GL_KHR_shader_subgroup_basic 142local_size = (8, 8, 1) 143ERROR: node is still EOpNull! 1440:15 Function Definition: main( ( global void) 1450:15 Function Parameters: 1460:17 Sequence 1470:17 Sequence 1480:17 move second child to first child ( temp uint) 1490:17 'invocation' ( temp uint) 1500:17 mod ( temp uint) 1510:17 add ( temp uint) 1520:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID) 1530:17 'gl_SubgroupSize' ( in uint SubgroupSize) 1540:17 Constant: 1550:17 4 (const uint) 1560:19 Sequence 1570:19 move second child to first child ( temp 4-component vector of uint) 1580:19 'relMask' ( temp 4-component vector of uint) 1590:22 add ( temp 4-component vector of uint) 1600:21 add ( temp 4-component vector of uint) 1610:20 add ( temp 4-component vector of uint) 1620:19 add ( temp 4-component vector of uint) 1630:19 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask) 1640:20 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask) 1650:21 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask) 1660:22 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask) 1670:23 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask) 1680:25 Sequence 1690:25 move second child to first child ( temp 4-component vector of uint) 1700:25 'result' ( temp 4-component vector of uint) 1710:25 subgroupBallot ( global 4-component vector of uint) 1720:25 Constant: 1730:25 true (const bool) 1740:27 move second child to first child ( temp uint) 1750:27 direct index ( temp uint) 1760:27 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 1770:27 indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 1780:27 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 1790:27 'invocation' ( temp uint) 1800:27 Constant: 1810:27 2 (const int) 1820:27 Constant: 1830:27 0 (const int) 1840:27 subgroupBallotBitCount ( global uint) 1850:27 'result' ( temp 4-component vector of uint) 1860:28 move second child to first child ( temp uint) 1870:28 direct index ( temp uint) 1880:28 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 1890:28 indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 1900:28 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 1910:28 'invocation' ( temp uint) 1920:28 Constant: 1930:28 2 (const int) 1940:28 Constant: 1950:28 1 (const int) 1960:28 Convert int to uint ( temp uint) 1970:28 Test condition and select ( temp int) 1980:28 Condition 1990:28 subgroupBallotBitExtract ( global bool) 2000:28 'result' ( temp 4-component vector of uint) 2010:28 Constant: 2020:28 0 (const uint) 2030:28 true case 2040:28 Constant: 2050:28 1 (const int) 2060:28 false case 2070:28 Constant: 2080:28 0 (const int) 2090:29 move second child to first child ( temp uint) 2100:29 direct index ( temp uint) 2110:29 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 2120:29 indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 2130:29 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 2140:29 'invocation' ( temp uint) 2150:29 Constant: 2160:29 2 (const int) 2170:29 Constant: 2180:29 2 (const int) 2190:29 add ( temp uint) 2200:29 subgroupBallotInclusiveBitCount ( global uint) 2210:29 'result' ( temp 4-component vector of uint) 2220:29 subgroupBallotExclusiveBitCount ( global uint) 2230:29 'result' ( temp 4-component vector of uint) 2240:30 move second child to first child ( temp uint) 2250:30 direct index ( temp uint) 2260:30 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 2270:30 indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 2280:30 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 2290:30 'invocation' ( temp uint) 2300:30 Constant: 2310:30 2 (const int) 2320:30 Constant: 2330:30 3 (const int) 2340:30 add ( temp uint) 2350:30 subgroupBallotFindLSB ( global uint) 2360:30 'result' ( temp 4-component vector of uint) 2370:30 subgroupBallotFindMSB ( global uint) 2380:30 'result' ( temp 4-component vector of uint) 2390:32 move second child to first child ( temp float) 2400:32 direct index ( temp float) 2410:32 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 2420:32 indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 2430:32 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 2440:32 'invocation' ( temp uint) 2450:32 Constant: 2460:32 0 (const int) 2470:32 Constant: 2480:32 0 (const int) 2490:32 subgroupBroadcast ( global float) 2500:32 direct index ( temp float) 2510:32 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 2520:32 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 2530:32 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 2540:32 Constant: 2550:32 0 (const int) 2560:32 Constant: 2570:32 0 (const int) 2580:32 Constant: 2590:32 0 (const int) 2600:32 'invocation' ( temp uint) 2610:? Linker Objects 2620:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize) 2630:? 8 (const uint) 2640:? 8 (const uint) 2650:? 1 (const uint) 2660:? 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 267 268