mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
efc33d1ee5
Makes sure that we have an l-value before checking the storage type of the mem argument passed to an atomic memory operation. Fixes #3332.
88 lines
4.0 KiB
Plaintext
88 lines
4.0 KiB
Plaintext
atomicAdd.comp
|
|
ERROR: 0:18: 'atomicAdd' : Only l-values corresponding to shader block storage or shared variables can be used with atomic memory functions.
|
|
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)
|
|
|