atomicAdd.comp ERROR: 0:18: 'atomicAdd' : Atomic memory function can only be used for shader storage block member or shared variable. ERROR: 1 compilation errors. No code generated. Shader version: 320 local_size = (1, 1, 1) ERROR: node is still EOpNull! 0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:16 Sequence 0:16 AtomicAdd ( global highp int) 0:16 x: direct index for structure (layout( column_major shared) coherent buffer highp int) 0:16 'anon@0' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent buffer highp int x}) 0:16 Constant: 0:16 0 (const uint) 0:16 Constant: 0:16 1 (const int) 0:17 AtomicAdd ( global highp int) 0:17 direct index (layout( std430) temp highp int) 0:17 y: direct index for structure (layout( std430) global 3-element array of highp int) 0:17 f: direct index for structure (layout( column_major std430 offset=0) buffer structure{layout( std430) global 3-element array of highp int y}) 0:17 't' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer structure{layout( std430) global 3-element array of highp int y} f}) 0:17 Constant: 0:17 0 (const int) 0:17 Constant: 0:17 0 (const int) 0:17 Constant: 0:17 1 (const int) 0:17 Constant: 0:17 1 (const int) 0:18 AtomicAdd ( global highp int) 0:18 'z' ( global highp int) 0:18 Constant: 0:18 1 (const int) 0:? Linker Objects 0:? 'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize) 0:? 1 (const uint) 0:? 1 (const uint) 0:? 1 (const uint) 0:? 't' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer structure{layout( std430) global 3-element array of highp int y} f}) 0:? 'anon@0' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent buffer highp int x}) 0:? 'z' ( global highp int) Linked compute stage: Shader version: 320 local_size = (1, 1, 1) ERROR: node is still EOpNull! 0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:16 Sequence 0:16 AtomicAdd ( global highp int) 0:16 x: direct index for structure (layout( column_major shared) coherent buffer highp int) 0:16 'anon@0' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent buffer highp int x}) 0:16 Constant: 0:16 0 (const uint) 0:16 Constant: 0:16 1 (const int) 0:17 AtomicAdd ( global highp int) 0:17 direct index (layout( std430) temp highp int) 0:17 y: direct index for structure (layout( std430) global 3-element array of highp int) 0:17 f: direct index for structure (layout( column_major std430 offset=0) buffer structure{layout( std430) global 3-element array of highp int y}) 0:17 't' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer structure{layout( std430) global 3-element array of highp int y} f}) 0:17 Constant: 0:17 0 (const int) 0:17 Constant: 0:17 0 (const int) 0:17 Constant: 0:17 1 (const int) 0:17 Constant: 0:17 1 (const int) 0:18 AtomicAdd ( global highp int) 0:18 'z' ( global highp int) 0:18 Constant: 0:18 1 (const int) 0:? Linker Objects 0:? 'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize) 0:? 1 (const uint) 0:? 1 (const uint) 0:? 1 (const uint) 0:? 't' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer structure{layout( std430) global 3-element array of highp int y} f}) 0:? 'anon@0' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent buffer highp int x}) 0:? 'z' ( global highp int)