1atomic_uint.frag
2ERROR: 0:4: 'counter' : redefinition
3ERROR: 0:11: 'atomic_uint' : samplers and atomic_uints cannot be output parameters
4ERROR: 0:13: 'return' : type does not match, or is not convertible to, the function's return type
5ERROR: 0:19: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter
6ERROR: 0:24: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
7ERROR: 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)
8ERROR: 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)
9ERROR: 0:32: '[]' : scalar integer expression required
10ERROR: 0:35: 'assign' :  l-value required "counter" (can't modify a uniform)
11ERROR: 0:35: 'assign' :  cannot convert from ' const int' to 'layout( binding=0 offset=0) uniform atomic_uint'
12ERROR: 0:38: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acin
13ERROR: 0:39: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acg
14ERROR: 0:48: 'offset' : atomic counters sharing the same offset: 12
15ERROR: 0:49: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
16ERROR: 14 compilation errors.  No code generated.
17
18
19Shader version: 420
20ERROR: node is still EOpNull!
210:6  Function Definition: func(au1; ( global uint)
220:6    Function Parameters:
230:6      'c' ( in atomic_uint)
240:8    Sequence
250:8      Branch: Return with expression
260:8        AtomicCounterIncrement ( global uint)
270:8          'c' ( in atomic_uint)
280:11  Function Definition: func2(au1; ( global uint)
290:11    Function Parameters:
300:11      'c' ( out atomic_uint)
310:13    Sequence
320:13      Branch: Return with expression
330:13        'counter' (layout( binding=0 offset=0) uniform atomic_uint)
340:14      Branch: Return with expression
350:14        AtomicCounter ( global uint)
360:14          'counter' (layout( binding=0 offset=0) uniform atomic_uint)
370:17  Function Definition: main( ( global void)
380:17    Function Parameters:
390:?     Sequence
400:20      Sequence
410:20        move second child to first child ( temp uint)
420:20          'val' ( temp uint)
430:20          AtomicCounter ( global uint)
440:20            'counter' (layout( binding=0 offset=0) uniform atomic_uint)
450:21      AtomicCounterDecrement ( global uint)
460:21        'counter' (layout( binding=0 offset=0) uniform atomic_uint)
470:27  Function Definition: opac( ( global void)
480:27    Function Parameters:
490:29    Sequence
500:29      'counter' (layout( binding=0 offset=0) uniform atomic_uint)
510:30      'counter' (layout( binding=0 offset=0) uniform atomic_uint)
520:32      indirect index ( temp int)
530:32        'a' ( temp 3-element array of int)
540:32        'counter' (layout( binding=0 offset=0) uniform atomic_uint)
550:33      direct index (layout( binding=1 offset=3) temp atomic_uint)
560:33        'countArr' (layout( binding=1 offset=3) uniform 4-element array of atomic_uint)
570:33        Constant:
580:33          2 (const int)
590:34      indirect index (layout( binding=1 offset=3) temp atomic_uint)
600:34        'countArr' (layout( binding=1 offset=3) uniform 4-element array of atomic_uint)
610:34        'i' ( uniform int)
620:35      'counter' (layout( binding=0 offset=0) uniform atomic_uint)
630:?   Linker Objects
640:?     'counter' (layout( binding=0 offset=0) uniform atomic_uint)
650:?     'countArr' (layout( binding=1 offset=3) uniform 4-element array of atomic_uint)
660:?     'i' ( uniform int)
670:?     'acin' ( smooth in atomic_uint)
680:?     'acg' ( global atomic_uint)
690:?     'aNoBind' ( uniform atomic_uint)
700:?     'aOffset' (layout( binding=0 offset=32) uniform atomic_uint)
710:?     'bar3' (layout( binding=0 offset=4) uniform atomic_uint)
720:?     'ac' (layout( binding=0 offset=8) uniform 2-element array of atomic_uint)
730:?     'ad' (layout( binding=0 offset=16) uniform atomic_uint)
740:?     'bar4' (layout( offset=8) uniform atomic_uint)
750:?     'overlap' (layout( binding=0 offset=12) uniform atomic_uint)
760:?     'bigBind' (layout( binding=20) uniform atomic_uint)
77
78
79Linked fragment stage:
80
81
82Shader version: 420
83ERROR: node is still EOpNull!
840:17  Function Definition: main( ( global void)
850:17    Function Parameters:
860:?     Sequence
870:20      Sequence
880:20        move second child to first child ( temp uint)
890:20          'val' ( temp uint)
900:20          AtomicCounter ( global uint)
910:20            'counter' (layout( binding=0 offset=0) uniform atomic_uint)
920:21      AtomicCounterDecrement ( global uint)
930:21        'counter' (layout( binding=0 offset=0) uniform atomic_uint)
940:?   Linker Objects
950:?     'counter' (layout( binding=0 offset=0) uniform atomic_uint)
960:?     'countArr' (layout( binding=1 offset=3) uniform 4-element array of atomic_uint)
970:?     'i' ( uniform int)
980:?     'acin' ( smooth in atomic_uint)
990:?     'acg' ( global atomic_uint)
1000:?     'aNoBind' ( uniform atomic_uint)
1010:?     'aOffset' (layout( binding=0 offset=32) uniform atomic_uint)
1020:?     'bar3' (layout( binding=0 offset=4) uniform atomic_uint)
1030:?     'ac' (layout( binding=0 offset=8) uniform 2-element array of atomic_uint)
1040:?     'ad' (layout( binding=0 offset=16) uniform atomic_uint)
1050:?     'bar4' (layout( offset=8) uniform atomic_uint)
1060:?     'overlap' (layout( binding=0 offset=12) uniform atomic_uint)
1070:?     'bigBind' (layout( binding=20) uniform atomic_uint)
108
109