text: glsl.es320.subgroupBallotNeg.comp
  ERROR: 0:31: '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:14  Function Definition: main( ( global void)
  0:14    Function Parameters: 
  0:16    Sequence
  0:16      Sequence
  0:16        move second child to first child ( temp uint)
  0:16          'invocation' ( temp uint)
  0:16          mod ( temp uint)
  0:16            add ( temp uint)
  0:16              'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
  0:16              'gl_SubgroupSize' ( in uint SubgroupSize)
  0:16            Constant:
  0:16              4 (const uint)
  0:18      Sequence
  0:18        move second child to first child ( temp 4-component vector of uint)
  0:18          'relMask' ( 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:18                add ( temp 4-component vector of uint)
  0:18                  'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
  0:19                  'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
  0:20                'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
  0:21              'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
  0:22            'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
  0:24      Sequence
  0:24        move second child to first child ( temp 4-component vector of uint)
  0:24          'result' ( temp 4-component vector of uint)
  0:24          subgroupBallot ( global 4-component vector of uint)
  0:24            Constant:
  0:24              true (const bool)
  0:26      move second child to first child ( temp uint)
  0:26        direct index ( temp uint)
  0:26          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
  0:26            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})
  0:26              '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})
  0:26              Constant:
  0:26                0 (const int)
  0:26            Constant:
  0:26              2 (const int)
  0:26          Constant:
  0:26            0 (const int)
  0:26        subgroupBallotBitCount ( global uint)
  0:26          'result' ( temp 4-component vector of uint)
  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            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})
  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})
  0:27              Constant:
  0:27                0 (const int)
  0:27            Constant:
  0:27              2 (const int)
  0:27          Constant:
  0:27            1 (const int)
  0:27        Test condition and select ( temp uint)
  0:27          Condition
  0:27          subgroupBallotBitExtract ( global bool)
  0:27            'result' ( temp 4-component vector of uint)
  0:27            Constant:
  0:27              0 (const uint)
  0:27          true case
  0:27          Constant:
  0:27            1 (const uint)
  0:27          false case
  0:27          Constant:
  0:27            0 (const 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            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})
  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})
  0:28              Constant:
  0:28                0 (const int)
  0:28            Constant:
  0:28              2 (const int)
  0:28          Constant:
  0:28            2 (const int)
  0:28        add ( temp uint)
  0:28          subgroupBallotInclusiveBitCount ( global uint)
  0:28            'result' ( temp 4-component vector of uint)
  0:28          subgroupBallotExclusiveBitCount ( global uint)
  0:28            'result' ( temp 4-component vector of uint)
  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            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})
  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})
  0:29              Constant:
  0:29                0 (const int)
  0:29            Constant:
  0:29              2 (const int)
  0:29          Constant:
  0:29            3 (const int)
  0:29        add ( temp uint)
  0:29          subgroupBallotFindLSB ( global uint)
  0:29            'result' ( temp 4-component vector of uint)
  0:29          subgroupBallotFindMSB ( global uint)
  0:29            'result' ( temp 4-component vector of uint)
  0:31      move second child to first child ( temp float)
  0:31        direct index ( temp float)
  0:31          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
  0:31            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})
  0:31              '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})
  0:31              Constant:
  0:31                1 (const int)
  0:31            Constant:
  0:31              0 (const int)
  0:31          Constant:
  0:31            0 (const int)
  0:31        subgroupBroadcast ( global float)
  0:31          direct index ( temp float)
  0:31            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
  0:31              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})
  0:31                '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})
  0:31                Constant:
  0:31                  0 (const int)
  0:31              Constant:
  0:31                0 (const int)
  0:31            Constant:
  0:31              0 (const int)
  0:31          '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})
  
  
  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:14  Function Definition: main( ( global void)
  0:14    Function Parameters: 
  0:16    Sequence
  0:16      Sequence
  0:16        move second child to first child ( temp uint)
  0:16          'invocation' ( temp uint)
  0:16          mod ( temp uint)
  0:16            add ( temp uint)
  0:16              'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
  0:16              'gl_SubgroupSize' ( in uint SubgroupSize)
  0:16            Constant:
  0:16              4 (const uint)
  0:18      Sequence
  0:18        move second child to first child ( temp 4-component vector of uint)
  0:18          'relMask' ( 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:18                add ( temp 4-component vector of uint)
  0:18                  'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
  0:19                  'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
  0:20                'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
  0:21              'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
  0:22            'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
  0:24      Sequence
  0:24        move second child to first child ( temp 4-component vector of uint)
  0:24          'result' ( temp 4-component vector of uint)
  0:24          subgroupBallot ( global 4-component vector of uint)
  0:24            Constant:
  0:24              true (const bool)
  0:26      move second child to first child ( temp uint)
  0:26        direct index ( temp uint)
  0:26          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
  0:26            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})
  0:26              '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})
  0:26              Constant:
  0:26                0 (const int)
  0:26            Constant:
  0:26              2 (const int)
  0:26          Constant:
  0:26            0 (const int)
  0:26        subgroupBallotBitCount ( global uint)
  0:26          'result' ( temp 4-component vector of uint)
  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            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})
  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})
  0:27              Constant:
  0:27                0 (const int)
  0:27            Constant:
  0:27              2 (const int)
  0:27          Constant:
  0:27            1 (const int)
  0:27        Test condition and select ( temp uint)
  0:27          Condition
  0:27          subgroupBallotBitExtract ( global bool)
  0:27            'result' ( temp 4-component vector of uint)
  0:27            Constant:
  0:27              0 (const uint)
  0:27          true case
  0:27          Constant:
  0:27            1 (const uint)
  0:27          false case
  0:27          Constant:
  0:27            0 (const 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            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})
  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})
  0:28              Constant:
  0:28                0 (const int)
  0:28            Constant:
  0:28              2 (const int)
  0:28          Constant:
  0:28            2 (const int)
  0:28        add ( temp uint)
  0:28          subgroupBallotInclusiveBitCount ( global uint)
  0:28            'result' ( temp 4-component vector of uint)
  0:28          subgroupBallotExclusiveBitCount ( global uint)
  0:28            'result' ( temp 4-component vector of uint)
  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            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})
  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})
  0:29              Constant:
  0:29                0 (const int)
  0:29            Constant:
  0:29              2 (const int)
  0:29          Constant:
  0:29            3 (const int)
  0:29        add ( temp uint)
  0:29          subgroupBallotFindLSB ( global uint)
  0:29            'result' ( temp 4-component vector of uint)
  0:29          subgroupBallotFindMSB ( global uint)
  0:29            'result' ( temp 4-component vector of uint)
  0:31      move second child to first child ( temp float)
  0:31        direct index ( temp float)
  0:31          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
  0:31            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})
  0:31              '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})
  0:31              Constant:
  0:31                1 (const int)
  0:31            Constant:
  0:31              0 (const int)
  0:31          Constant:
  0:31            0 (const int)
  0:31        subgroupBroadcast ( global float)
  0:31          direct index ( temp float)
  0:31            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
  0:31              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})
  0:31                '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})
  0:31                Constant:
  0:31                  0 (const int)
  0:31              Constant:
  0:31                0 (const int)
  0:31            Constant:
  0:31              0 (const int)
  0:31          '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})
  
  