atomic_uint.frag
ERROR: 0:4: 'counter' : redefinition 
ERROR: 0:11: 'atomic_uint' : samplers and atomic_uints cannot be output parameters 
ERROR: 0:13: 'return' : type does not match, or is not convertible to, the function's return type 
ERROR: 0:19: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter
ERROR: 0:24: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings 
ERROR: 0:29: '+' :  wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( binding=0 offset=0) uniform atomic_uint' and a right operand of type 'layout( binding=0 offset=0) uniform atomic_uint' (or there is no acceptable conversion)
ERROR: 0:30: '-' :  wrong operand type no operation '-' exists that takes an operand of type layout( binding=0 offset=0) uniform atomic_uint (or there is no acceptable conversion)
ERROR: 0:32: '[]' : scalar integer expression required 
ERROR: 0:35: 'assign' :  l-value required "counter" (can't modify a uniform)
ERROR: 0:35: 'assign' :  cannot convert from ' const int' to 'layout( binding=0 offset=0) uniform atomic_uint'
ERROR: 0:38: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acin
ERROR: 0:39: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acg
ERROR: 0:48: 'offset' : atomic counters sharing the same offset: 12
ERROR: 0:49: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings 
ERROR: 14 compilation errors.  No code generated.


Shader version: 420
ERROR: node is still EOpNull!
0:6  Function Definition: func(au1; ( global uint)
0:6    Function Parameters: 
0:6      'c' ( in atomic_uint)
0:8    Sequence
0:8      Branch: Return with expression
0:8        AtomicCounterIncrement ( global uint)
0:8          'c' ( in atomic_uint)
0:11  Function Definition: func2(au1; ( global uint)
0:11    Function Parameters: 
0:11      'c' ( out atomic_uint)
0:13    Sequence
0:13      Branch: Return with expression
0:13        'counter' (layout( binding=0 offset=0) uniform atomic_uint)
0:14      Branch: Return with expression
0:14        AtomicCounter ( global uint)
0:14          'counter' (layout( binding=0 offset=0) uniform atomic_uint)
0:17  Function Definition: main( ( global void)
0:17    Function Parameters: 
0:?     Sequence
0:20      Sequence
0:20        move second child to first child ( temp uint)
0:20          'val' ( temp uint)
0:20          AtomicCounter ( global uint)
0:20            'counter' (layout( binding=0 offset=0) uniform atomic_uint)
0:21      AtomicCounterDecrement ( global uint)
0:21        'counter' (layout( binding=0 offset=0) uniform atomic_uint)
0:27  Function Definition: opac( ( global void)
0:27    Function Parameters: 
0:29    Sequence
0:29      'counter' (layout( binding=0 offset=0) uniform atomic_uint)
0:30      'counter' (layout( binding=0 offset=0) uniform atomic_uint)
0:32      indirect index ( temp int)
0:32        'a' ( temp 3-element array of int)
0:32        'counter' (layout( binding=0 offset=0) uniform atomic_uint)
0:33      direct index (layout( binding=1 offset=3) temp atomic_uint)
0:33        'countArr' (layout( binding=1 offset=3) uniform 4-element array of atomic_uint)
0:33        Constant:
0:33          2 (const int)
0:34      indirect index (layout( binding=1 offset=3) temp atomic_uint)
0:34        'countArr' (layout( binding=1 offset=3) uniform 4-element array of atomic_uint)
0:34        'i' ( uniform int)
0:35      'counter' (layout( binding=0 offset=0) uniform atomic_uint)
0:?   Linker Objects
0:?     'counter' (layout( binding=0 offset=0) uniform atomic_uint)
0:?     'countArr' (layout( binding=1 offset=3) uniform 4-element array of atomic_uint)
0:?     'i' ( uniform int)
0:?     'acin' ( smooth in atomic_uint)
0:?     'acg' ( global atomic_uint)
0:?     'aNoBind' ( uniform atomic_uint)
0:?     'aOffset' (layout( binding=0 offset=32) uniform atomic_uint)
0:?     'bar3' (layout( binding=0 offset=4) uniform atomic_uint)
0:?     'ac' (layout( binding=0 offset=8) uniform 2-element array of atomic_uint)
0:?     'ad' (layout( binding=0 offset=16) uniform atomic_uint)
0:?     'bar4' (layout( offset=8) uniform atomic_uint)
0:?     'overlap' (layout( binding=0 offset=12) uniform atomic_uint)
0:?     'bigBind' (layout( binding=20) uniform atomic_uint)


Linked fragment stage:


Shader version: 420
ERROR: node is still EOpNull!
0:17  Function Definition: main( ( global void)
0:17    Function Parameters: 
0:?     Sequence
0:20      Sequence
0:20        move second child to first child ( temp uint)
0:20          'val' ( temp uint)
0:20          AtomicCounter ( global uint)
0:20            'counter' (layout( binding=0 offset=0) uniform atomic_uint)
0:21      AtomicCounterDecrement ( global uint)
0:21        'counter' (layout( binding=0 offset=0) uniform atomic_uint)
0:?   Linker Objects
0:?     'counter' (layout( binding=0 offset=0) uniform atomic_uint)
0:?     'countArr' (layout( binding=1 offset=3) uniform 4-element array of atomic_uint)
0:?     'i' ( uniform int)
0:?     'acin' ( smooth in atomic_uint)
0:?     'acg' ( global atomic_uint)
0:?     'aNoBind' ( uniform atomic_uint)
0:?     'aOffset' (layout( binding=0 offset=32) uniform atomic_uint)
0:?     'bar3' (layout( binding=0 offset=4) uniform atomic_uint)
0:?     'ac' (layout( binding=0 offset=8) uniform 2-element array of atomic_uint)
0:?     'ad' (layout( binding=0 offset=16) uniform atomic_uint)
0:?     'bar4' (layout( offset=8) uniform atomic_uint)
0:?     'overlap' (layout( binding=0 offset=12) uniform atomic_uint)
0:?     'bigBind' (layout( binding=20) uniform atomic_uint)

