atomic_uint.frag ERROR: 0:10: 'atomic_uint' : samplers and atomic_uints cannot be output parameters ERROR: 0:12: 'return' : type does not match, or is not convertible to, the function's return type ERROR: 0:18: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter ERROR: 0:18: 'atomic_uint' : layout(binding=X) is required ERROR: 0:23: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings ERROR: 0:28: '+' : 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:29: '-' : 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:31: '[]' : scalar integer expression required ERROR: 0:34: 'assign' : l-value required "counter" (can't modify a uniform) ERROR: 0:34: 'assign' : cannot convert from ' const int' to 'layout( binding=0 offset=0) uniform atomic_uint' ERROR: 0:37: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acin ERROR: 0:37: 'atomic_uint' : layout(binding=X) is required ERROR: 0:38: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acg ERROR: 0:38: 'atomic_uint' : layout(binding=X) is required ERROR: 0:40: 'atomic_uint' : layout(binding=X) is required ERROR: 0:46: 'atomic_uint' : layout(binding=X) is required ERROR: 0:47: 'offset' : atomic counters sharing the same offset: 12 ERROR: 0:48: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings ERROR: 18 compilation errors. No code generated. Shader version: 420 ERROR: node is still EOpNull! 0:5 Function Definition: func(au1; ( global uint) 0:5 Function Parameters: 0:5 'c' ( in atomic_uint) 0:7 Sequence 0:7 Branch: Return with expression 0:7 AtomicCounterIncrement ( global uint) 0:7 'c' ( in atomic_uint) 0:10 Function Definition: func2(au1; ( global uint) 0:10 Function Parameters: 0:10 'c' ( out atomic_uint) 0:12 Sequence 0:12 Branch: Return with expression 0:12 'counter' (layout( binding=0 offset=0) uniform atomic_uint) 0:13 Branch: Return with expression 0:13 AtomicCounter ( global uint) 0:13 'counter' (layout( binding=0 offset=0) uniform atomic_uint) 0:16 Function Definition: main( ( global void) 0:16 Function Parameters: 0:? Sequence 0:19 Sequence 0:19 move second child to first child ( temp uint) 0:19 'val' ( temp uint) 0:19 AtomicCounter ( global uint) 0:19 'counter' (layout( binding=0 offset=0) uniform atomic_uint) 0:20 AtomicCounterDecrement ( global uint) 0:20 'counter' (layout( binding=0 offset=0) uniform atomic_uint) 0:26 Function Definition: opac( ( global void) 0:26 Function Parameters: 0:28 Sequence 0:28 'counter' (layout( binding=0 offset=0) uniform atomic_uint) 0:29 'counter' (layout( binding=0 offset=0) uniform atomic_uint) 0:31 indirect index ( temp int) 0:31 'a' ( temp 3-element array of int) 0:31 'counter' (layout( binding=0 offset=0) uniform atomic_uint) 0:32 direct index (layout( binding=1 offset=3) temp atomic_uint) 0:32 'countArr' (layout( binding=1 offset=3) uniform 4-element array of atomic_uint) 0:32 Constant: 0:32 2 (const int) 0:33 indirect 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 'i' ( uniform int) 0:34 '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 3-element array of atomic_uint) 0:? 'ad' (layout( binding=0 offset=20) 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:16 Function Definition: main( ( global void) 0:16 Function Parameters: 0:? Sequence 0:19 Sequence 0:19 move second child to first child ( temp uint) 0:19 'val' ( temp uint) 0:19 AtomicCounter ( global uint) 0:19 'counter' (layout( binding=0 offset=0) uniform atomic_uint) 0:20 AtomicCounterDecrement ( global uint) 0:20 '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 3-element array of atomic_uint) 0:? 'ad' (layout( binding=0 offset=20) 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)