glsl.450.subgroupBallotNeg.comp
ERROR: 0:32: 'id' : argument must be compile-time constant 
ERROR: 1 compilation errors.  No code generated.


Shader version: 450
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
local_size = (8, 8, 1)
ERROR: node is still EOpNull!
0:15  Function Definition: main( ( global void)
0:15    Function Parameters: 
0:17    Sequence
0:17      Sequence
0:17        move second child to first child ( temp uint)
0:17          'invocation' ( temp uint)
0:17          mod ( temp uint)
0:17            add ( temp uint)
0:17              'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17              'gl_SubgroupSize' ( in uint SubgroupSize)
0:17            Constant:
0:17              4 (const uint)
0:19      Sequence
0:19        move second child to first child ( temp 4-component vector of uint)
0:19          'relMask' ( temp 4-component vector of uint)
0:22          add ( temp 4-component vector of uint)
0:21            add ( temp 4-component vector of uint)
0:20              add ( temp 4-component vector of uint)
0:19                add ( temp 4-component vector of uint)
0:19                  'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:20                  'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:21                'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:22              'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:23            'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:25      Sequence
0:25        move second child to first child ( temp 4-component vector of uint)
0:25          'result' ( temp 4-component vector of uint)
0:25          subgroupBallot ( global 4-component vector of uint)
0:25            Constant:
0:25              true (const bool)
0:27      move second child to first child ( temp uint)
0:27        direct index ( temp uint)
0:27          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0: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})
0: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})
0:27              'invocation' ( temp uint)
0:27            Constant:
0:27              2 (const int)
0:27          Constant:
0:27            0 (const int)
0:27        subgroupBallotBitCount ( global uint)
0:27          'result' ( temp 4-component vector of uint)
0:28      move second child to first child ( temp uint)
0:28        direct index ( temp uint)
0:28          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0: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})
0: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})
0:28              'invocation' ( temp uint)
0:28            Constant:
0:28              2 (const int)
0:28          Constant:
0:28            1 (const int)
0:28        Convert int to uint ( temp uint)
0:28          Test condition and select ( temp int)
0:28            Condition
0:28            subgroupBallotBitExtract ( global bool)
0:28              'result' ( temp 4-component vector of uint)
0:28              Constant:
0:28                0 (const uint)
0:28            true case
0:28            Constant:
0:28              1 (const int)
0:28            false case
0:28            Constant:
0:28              0 (const int)
0:29      move second child to first child ( temp uint)
0:29        direct index ( temp uint)
0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0: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})
0: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})
0:29              'invocation' ( temp uint)
0:29            Constant:
0:29              2 (const int)
0:29          Constant:
0:29            2 (const int)
0:29        add ( temp uint)
0:29          subgroupBallotInclusiveBitCount ( global uint)
0:29            'result' ( temp 4-component vector of uint)
0:29          subgroupBallotExclusiveBitCount ( global uint)
0:29            'result' ( temp 4-component vector of uint)
0:30      move second child to first child ( temp uint)
0:30        direct index ( temp uint)
0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0: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})
0: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})
0:30              'invocation' ( temp uint)
0:30            Constant:
0:30              2 (const int)
0:30          Constant:
0:30            3 (const int)
0:30        add ( temp uint)
0:30          subgroupBallotFindLSB ( global uint)
0:30            'result' ( temp 4-component vector of uint)
0:30          subgroupBallotFindMSB ( global uint)
0:30            'result' ( temp 4-component vector of uint)
0:32      move second child to first child ( temp float)
0:32        direct index ( temp float)
0:32          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0: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})
0: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})
0:32              'invocation' ( temp uint)
0:32            Constant:
0:32              0 (const int)
0:32          Constant:
0:32            0 (const int)
0:32        subgroupBroadcast ( global float)
0:32          direct index ( temp float)
0:32            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0: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})
0: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})
0:32                Constant:
0:32                  0 (const int)
0:32              Constant:
0:32                0 (const int)
0:32            Constant:
0:32              0 (const int)
0:32          'invocation' ( temp uint)
0:?   Linker Objects
0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:?       8 (const uint)
0:?       8 (const uint)
0:?       1 (const uint)
0:?     '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})


Linked compute stage:


Shader version: 450
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
local_size = (8, 8, 1)
ERROR: node is still EOpNull!
0:15  Function Definition: main( ( global void)
0:15    Function Parameters: 
0:17    Sequence
0:17      Sequence
0:17        move second child to first child ( temp uint)
0:17          'invocation' ( temp uint)
0:17          mod ( temp uint)
0:17            add ( temp uint)
0:17              'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17              'gl_SubgroupSize' ( in uint SubgroupSize)
0:17            Constant:
0:17              4 (const uint)
0:19      Sequence
0:19        move second child to first child ( temp 4-component vector of uint)
0:19          'relMask' ( temp 4-component vector of uint)
0:22          add ( temp 4-component vector of uint)
0:21            add ( temp 4-component vector of uint)
0:20              add ( temp 4-component vector of uint)
0:19                add ( temp 4-component vector of uint)
0:19                  'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:20                  'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:21                'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:22              'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:23            'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:25      Sequence
0:25        move second child to first child ( temp 4-component vector of uint)
0:25          'result' ( temp 4-component vector of uint)
0:25          subgroupBallot ( global 4-component vector of uint)
0:25            Constant:
0:25              true (const bool)
0:27      move second child to first child ( temp uint)
0:27        direct index ( temp uint)
0:27          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0: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})
0: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})
0:27              'invocation' ( temp uint)
0:27            Constant:
0:27              2 (const int)
0:27          Constant:
0:27            0 (const int)
0:27        subgroupBallotBitCount ( global uint)
0:27          'result' ( temp 4-component vector of uint)
0:28      move second child to first child ( temp uint)
0:28        direct index ( temp uint)
0:28          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0: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})
0: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})
0:28              'invocation' ( temp uint)
0:28            Constant:
0:28              2 (const int)
0:28          Constant:
0:28            1 (const int)
0:28        Convert int to uint ( temp uint)
0:28          Test condition and select ( temp int)
0:28            Condition
0:28            subgroupBallotBitExtract ( global bool)
0:28              'result' ( temp 4-component vector of uint)
0:28              Constant:
0:28                0 (const uint)
0:28            true case
0:28            Constant:
0:28              1 (const int)
0:28            false case
0:28            Constant:
0:28              0 (const int)
0:29      move second child to first child ( temp uint)
0:29        direct index ( temp uint)
0:29          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0: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})
0: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})
0:29              'invocation' ( temp uint)
0:29            Constant:
0:29              2 (const int)
0:29          Constant:
0:29            2 (const int)
0:29        add ( temp uint)
0:29          subgroupBallotInclusiveBitCount ( global uint)
0:29            'result' ( temp 4-component vector of uint)
0:29          subgroupBallotExclusiveBitCount ( global uint)
0:29            'result' ( temp 4-component vector of uint)
0:30      move second child to first child ( temp uint)
0:30        direct index ( temp uint)
0:30          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0: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})
0: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})
0:30              'invocation' ( temp uint)
0:30            Constant:
0:30              2 (const int)
0:30          Constant:
0:30            3 (const int)
0:30        add ( temp uint)
0:30          subgroupBallotFindLSB ( global uint)
0:30            'result' ( temp 4-component vector of uint)
0:30          subgroupBallotFindMSB ( global uint)
0:30            'result' ( temp 4-component vector of uint)
0:32      move second child to first child ( temp float)
0:32        direct index ( temp float)
0:32          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0: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})
0: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})
0:32              'invocation' ( temp uint)
0:32            Constant:
0:32              0 (const int)
0:32          Constant:
0:32            0 (const int)
0:32        subgroupBroadcast ( global float)
0:32          direct index ( temp float)
0:32            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0: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})
0: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})
0:32                Constant:
0:32                  0 (const int)
0:32              Constant:
0:32                0 (const int)
0:32            Constant:
0:32              0 (const int)
0:32          'invocation' ( temp uint)
0:?   Linker Objects
0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:?       8 (const uint)
0:?       8 (const uint)
0:?       1 (const uint)
0:?     '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})

