310.comp
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
ERROR: 0:4: 'local_size' : cannot change previously set size 
ERROR: 0:5: 'local_size' : too large; see gl_MaxComputeWorkGroupSize 
ERROR: 0:23: 'values' : only the last member of a buffer block can be run-time sized 
ERROR: 0:39: 'in' : global storage input qualifier cannot be used in a compute shader 
ERROR: 0:39: 'location qualifier on input' : not supported in this stage: compute
ERROR: 0:40: 'in' : global storage input qualifier cannot be used in a compute shader 
ERROR: 0:41: 'out' : global storage output qualifier cannot be used in a compute shader 
ERROR: 0:44: 'shared' : cannot apply layout qualifiers to a shared variable 
ERROR: 0:44: 'location' : can only appy to uniform, buffer, in, or out storage qualifiers 
ERROR: 0:45: 'shared' :  cannot initialize this type of qualifier  
ERROR: 0:47: 'local_size' : can only apply to 'in' 
ERROR: 0:47: 'local_size' : can only apply to 'in' 
ERROR: 0:47: 'local_size' : can only apply to 'in' 
ERROR: 0:61: 'assign' :  l-value required "ro" (can't modify a readonly buffer)
ERROR: 0:66: 'buffer' : buffers can be declared only as blocks 
ERROR: 0:68: 'sampler/image' : type requires declaration of default precision qualifier 
ERROR: 0:76: '' : image variables not declared 'writeonly' must have a format layout qualifier 
ERROR: 0:87: 'imageAtomicCompSwap' : required extension not requested: GL_OES_shader_image_atomic
ERROR: 0:88: 'imageAtomicAdd' : required extension not requested: GL_OES_shader_image_atomic
ERROR: 0:89: 'imageAtomicMin' : required extension not requested: GL_OES_shader_image_atomic
ERROR: 0:89: 'readonly' : argument cannot drop memory qualifier when passed to formal parameter 
ERROR: 0:89: 'imageAtomicMin' : only supported on image with format r32i or r32ui 
ERROR: 0:90: 'imageAtomicMax' : no matching overloaded function found 
ERROR: 0:94: 'writeonly' : argument cannot drop memory qualifier when passed to formal parameter 
ERROR: 0:97: '' : memory qualifiers cannot be used on this type 
ERROR: 0:98: '' : memory qualifiers cannot be used on this type 
ERROR: 0:114: 'image load-store format' : not supported with this profile: es
ERROR: 0:114: 'rg8i' : does not apply to unsigned integer images 
ERROR: 0:115: 'rgba32i' : does not apply to floating point images 
ERROR: 0:116: 'rgba32f' : does not apply to unsigned integer images 
ERROR: 0:117: 'image load-store format' : not supported with this profile: es
ERROR: 0:117: 'r8_snorm' : does not apply to signed integer images 
ERROR: 0:118: 'rgba32ui' : does not apply to signed integer images 
ERROR: 0:119: 'image load-store format' : not supported with this profile: es
ERROR: 0:119: 'r8ui' : does not apply to signed integer images 
ERROR: 0:128: 'atomic_uint' : samplers and atomic_uints cannot be output parameters 
ERROR: 0:130: 'return' : type does not match, or is not convertible to, the function's return type 
ERROR: 0:136: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter
ERROR: 0:136: 'atomic_uint' : layout(binding=X) is required 
ERROR: 0:141: 'atomic_uint' : atomic counters can only be highp 
ERROR: 0:141: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings 
ERROR: 0:143: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings 
ERROR: 0:149: '[]' : scalar integer expression required 
ERROR: 0:166: 'precision' : can only apply highp to atomic_uint 
ERROR: 0:168: 'precise' : Reserved word. 
ERROR: 0:170: 'dmat2x4' : Reserved word. 
ERROR: 0:170: 'double matrix' : not supported with this profile: es
ERROR: 0:171: 'samplerCubeArray' : Reserved word. 
ERROR: 0:171: 'sampler/image' : type requires declaration of default precision qualifier 
ERROR: 0:172: 'iimage2DRect' : Reserved word. 
ERROR: 0:172: 'sampler/image' : type requires declaration of default precision qualifier 
ERROR: 0:172: '' : image variables not declared 'writeonly' must have a format layout qualifier 
ERROR: 0:173: 'image2DMS' : Reserved word. 
ERROR: 0:173: '' : image variables not declared 'writeonly' must have a format layout qualifier 
ERROR: 0:174: 'uimage2DMSArray' : Reserved word. 
ERROR: 0:174: 'sampler/image' : type requires declaration of default precision qualifier 
ERROR: 0:174: '' : image variables not declared 'writeonly' must have a format layout qualifier 
ERROR: 0:181: 'rgba32f' : format requires readonly or writeonly memory qualifier 
ERROR: 0:182: 'rgba8i' : format requires readonly or writeonly memory qualifier 
ERROR: 0:183: 'rgba16ui' : format requires readonly or writeonly memory qualifier 
ERROR: 0:194: 'assign' : can't read from writeonly object:  wo
ERROR: 0:195: 'initializer' : can't read from writeonly object:  wo
ERROR: 0:196: '++' : can't read from writeonly object:  wo
ERROR: 0:197: '--' : can't read from writeonly object:  wo
ERROR: 0:198: '+' : can't read from writeonly object:  wo
ERROR: 0:199: '-' : can't read from writeonly object:  wo
ERROR: 0:201: ':' : can't read from writeonly object:  wo
ERROR: 0:202: ':' : can't read from writeonly object:  wo
ERROR: 0:203: '==' : can't read from writeonly object:  wo
ERROR: 0:205: '>=' : can't read from writeonly object:  wo
ERROR: 0:207: 'constructor' : can't read from writeonly object:  wo
ERROR: 0:208: '~' : can't read from writeonly object:  wo
ERROR: 0:221: 'assign' : can't read from writeonly object:  wo
ERROR: 0:222: '~' : can't read from writeonly object:  wo
ERROR: 0:227: 'input block' : not supported in this stage: compute
ERROR: 0:231: 'output block' : not supported in this stage: compute
WARNING: 0:235: 't__' : identifiers containing consecutive underscores ("__") are reserved 
WARNING: 0:238: '#define' : names containing consecutive underscores are reserved: __D
ERROR: 76 compilation errors.  No code generated.


Shader version: 310
local_size = (2, 1, 4096)
ERROR: node is still EOpNull!
0:27  Function Definition: main( (global void)
0:27    Function Parameters: 
0:29    Sequence
0:29      Barrier (global void)
0:30      MemoryBarrier (global void)
0:31      MemoryBarrierAtomicCounter (global void)
0:32      MemoryBarrierBuffer (global void)
0:33      MemoryBarrierShared (global void)
0:34      MemoryBarrierImage (global void)
0:35      GroupMemoryBarrier (global void)
0:36      move second child to first child (temp highp int)
0:36        value: direct index for structure (layout(column_major shared ) buffer highp int)
0:36          'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:36          Constant:
0:36            0 (const uint)
0:36        Convert float to int (temp highp int)
0:36          indirect index (layout(column_major shared ) temp highp float)
0:36            values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:36              'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:36              Constant:
0:36                1 (const uint)
0:36            'gl_LocalInvocationIndex' (in highp uint LocalInvocationIndex)
0:59  Function Definition: foo( (global void)
0:59    Function Parameters: 
0:61    Sequence
0:61      move second child to first child (temp highp float)
0:61        direct index (layout(column_major shared ) temp highp float)
0:61          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:61            'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:61            Constant:
0:61              1 (const int)
0:61          Constant:
0:61            2 (const int)
0:61        Constant:
0:61          4.700000
0:62      array length (temp highp int)
0:62        values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:62          'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:62          Constant:
0:62            1 (const int)
0:63      Pre-Increment (temp highp 4-component vector of float)
0:63        's' (shared highp 4-component vector of float)
0:84  Function Definition: qux( (global void)
0:84    Function Parameters: 
0:86    Sequence
0:86      Sequence
0:86        move second child to first child (temp highp int)
0:86          'i' (temp highp int)
0:86          Constant:
0:86            4 (const int)
0:87      imageAtomicCompSwap (global highp int)
0:87        'iimg2D' (layout(r32i ) uniform highp iimage2D)
0:87        Construct ivec2 (temp highp 2-component vector of int)
0:87          'i' (temp highp int)
0:87          'i' (temp highp int)
0:87        'i' (temp highp int)
0:87        'i' (temp highp int)
0:88      imageAtomicAdd (global highp uint)
0:88        'uimg2D' (layout(r32ui ) uniform highp uimage2D)
0:88        Construct ivec2 (temp highp 2-component vector of int)
0:88          'i' (temp highp int)
0:88          'i' (temp highp int)
0:88        Convert int to uint (temp highp uint)
0:88          'i' (temp highp int)
0:89      imageAtomicMin (global highp int)
0:89        'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
0:89        Construct ivec2 (temp highp 2-component vector of int)
0:89          'i' (temp highp int)
0:89          'i' (temp highp int)
0:89        'i' (temp highp int)
0:90      Constant:
0:90        0.000000
0:91      Sequence
0:91        move second child to first child (temp highp 4-component vector of int)
0:91          'pos' (temp highp 4-component vector of int)
0:91          imageLoad (global highp 4-component vector of int)
0:91            'iimg2D' (layout(r32i ) uniform highp iimage2D)
0:91            Construct ivec2 (temp highp 2-component vector of int)
0:91              'i' (temp highp int)
0:91              'i' (temp highp int)
0:92      imageStore (global highp void)
0:92        'ii2da' (writeonly uniform highp iimage2DArray)
0:92        Construct ivec3 (temp 3-component vector of int)
0:92          'i' (temp highp int)
0:92          'i' (temp highp int)
0:92          'i' (temp highp int)
0:92        Constant:
0:92          0 (const int)
0:92          0 (const int)
0:92          0 (const int)
0:92          0 (const int)
0:93      imageLoad (global highp 4-component vector of float)
0:93        'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
0:93        Construct ivec2 (temp highp 2-component vector of int)
0:93          'i' (temp highp int)
0:93          'i' (temp highp int)
0:94      imageLoad (global highp 4-component vector of int)
0:94        'ii2da' (writeonly uniform highp iimage2DArray)
0:94        Construct ivec3 (temp highp 3-component vector of int)
0:94          'i' (temp highp int)
0:94          'i' (temp highp int)
0:94          'i' (temp highp int)
0:100  Function Definition: passr(iI21; (global void)
0:100    Function Parameters: 
0:100      'image' (coherent readonly in highp iimage2D)
0:107  Function Definition: passrc( (global void)
0:107    Function Parameters: 
0:109    Sequence
0:109      Function Call: passr(iI21; (global void)
0:109        'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
0:110      Function Call: passr(iI21; (global void)
0:110        'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
0:111      Function Call: passr(iI21; (global void)
0:111        'iimg2D' (layout(r32i ) uniform highp iimage2D)
0:123  Function Definition: func(au1; (global highp uint)
0:123    Function Parameters: 
0:123      'c' (in highp atomic_uint)
0:125    Sequence
0:125      Branch: Return with expression
0:125        AtomicCounterIncrement (global highp uint)
0:125          'c' (in highp atomic_uint)
0:128  Function Definition: func2(au1; (global highp uint)
0:128    Function Parameters: 
0:128      'c' (out highp atomic_uint)
0:130    Sequence
0:130      Branch: Return with expression
0:130        'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:131      Branch: Return with expression
0:131        AtomicCounter (global highp uint)
0:131          'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:134  Function Definition: mainAC( (global void)
0:134    Function Parameters: 
0:?     Sequence
0:137      Sequence
0:137        move second child to first child (temp highp uint)
0:137          'val' (temp highp uint)
0:137          AtomicCounter (global highp uint)
0:137            'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:138      AtomicCounterDecrement (global highp uint)
0:138        'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:146  Function Definition: opac( (global void)
0:146    Function Parameters: 
0:?     Sequence
0:149      indirect index (temp highp int)
0:149        'a' (temp 3-element array of highp int)
0:149        'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:150      direct index (layout(binding=2 offset=4 ) temp highp atomic_uint)
0:150        'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
0:150        Constant:
0:150          2 (const int)
0:151      indirect index (layout(binding=2 offset=4 ) temp highp atomic_uint)
0:151        'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
0:151        'i' (uniform highp int)
0:157  Function Definition: atoms( (global void)
0:157    Function Parameters: 
0:159    Sequence
0:159      Sequence
0:159        move second child to first child (temp highp int)
0:159          'origi' (temp highp int)
0:159          AtomicAdd (global highp int)
0:159            'atomi' (shared highp int)
0:159            Constant:
0:159              3 (const int)
0:160      Sequence
0:160        move second child to first child (temp highp uint)
0:160          'origu' (temp highp uint)
0:160          AtomicAnd (global highp uint)
0:160            'atomu' (shared highp uint)
0:160            Constant:
0:160              7 (const uint)
0:161      move second child to first child (temp highp int)
0:161        'origi' (temp highp int)
0:161        AtomicExchange (global highp int)
0:161          'atomi' (shared highp int)
0:161          Constant:
0:161            4 (const int)
0:162      move second child to first child (temp highp uint)
0:162        'origu' (temp highp uint)
0:162        AtomicCompSwap (global highp uint)
0:162          'atomu' (shared highp uint)
0:162          Constant:
0:162            10 (const uint)
0:162          Constant:
0:162            8 (const uint)
0:191  Function Definition: foowo( (global void)
0:191    Function Parameters: 
0:?     Sequence
0:194      move second child to first child (temp highp float)
0:194        'g' (temp highp float)
0:194        direct index (layout(column_major shared ) temp highp float)
0:194          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:194            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:194            Constant:
0:194              1 (const int)
0:194          Constant:
0:194            2 (const int)
0:195      Sequence
0:195        move second child to first child (temp highp float)
0:195          'f' (temp highp float)
0:195          direct index (layout(column_major shared ) temp highp float)
0:195            values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:195              'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:195              Constant:
0:195                1 (const int)
0:195            Constant:
0:195              2 (const int)
0:196      Pre-Increment (temp highp float)
0:196        direct index (layout(column_major shared ) temp highp float)
0:196          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:196            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:196            Constant:
0:196              1 (const int)
0:196          Constant:
0:196            2 (const int)
0:197      Post-Decrement (temp highp float)
0:197        direct index (layout(column_major shared ) temp highp float)
0:197          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:197            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:197            Constant:
0:197              1 (const int)
0:197          Constant:
0:197            2 (const int)
0:198      add (temp highp float)
0:198        'f' (temp highp float)
0:198        direct index (layout(column_major shared ) temp highp float)
0:198          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:198            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:198            Constant:
0:198              1 (const int)
0:198          Constant:
0:198            2 (const int)
0:199      subtract (temp highp float)
0:199        direct index (layout(column_major shared ) temp highp float)
0:199          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:199            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:199            Constant:
0:199              1 (const int)
0:199          Constant:
0:199            2 (const int)
0:199        'f' (temp highp float)
0:201      Test condition and select (temp highp float)
0:201        Condition
0:201        'b' (temp bool)
0:201        true case
0:201        'f' (temp highp float)
0:201        false case
0:201        direct index (layout(column_major shared ) temp highp float)
0:201          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:201            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:201            Constant:
0:201              1 (const int)
0:201          Constant:
0:201            2 (const int)
0:202      Test condition and select (layout(column_major shared ) temp highp float)
0:202        Condition
0:202        'b' (temp bool)
0:202        true case
0:202        direct index (layout(column_major shared ) temp highp float)
0:202          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:202            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:202            Constant:
0:202              1 (const int)
0:202          Constant:
0:202            2 (const int)
0:202        false case
0:202        'f' (temp highp float)
0:203      Test condition and select (temp void)
0:203        Condition
0:203        Compare Equal (temp bool)
0:203          'f' (temp highp float)
0:203          direct index (layout(column_major shared ) temp highp float)
0:203            values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:203              'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:203              Constant:
0:203                1 (const int)
0:203            Constant:
0:203              2 (const int)
0:203        true case
0:204        Pre-Increment (temp highp float)
0:204          'f' (temp highp float)
0:205      Test condition and select (temp void)
0:205        Condition
0:205        Compare Greater Than or Equal (temp bool)
0:205          'f' (temp highp float)
0:205          direct index (layout(column_major shared ) temp highp float)
0:205            values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:205              'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:205              Constant:
0:205                1 (const int)
0:205            Constant:
0:205              2 (const int)
0:205        true case
0:206        Pre-Increment (temp highp float)
0:206          'f' (temp highp float)
0:207      move second child to first child (temp highp float)
0:207        'f' (temp highp float)
0:207        direct index (temp highp float)
0:207          Construct vec3 (temp highp 3-component vector of float)
0:207            direct index (layout(column_major shared ) temp highp float)
0:207              values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:207                'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:207                Constant:
0:207                  1 (const int)
0:207              Constant:
0:207                2 (const int)
0:207          Constant:
0:207            0 (const int)
0:208      Bitwise not (temp highp int)
0:208        value: direct index for structure (layout(column_major shared ) buffer highp int)
0:208          'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:208          Constant:
0:208            0 (const int)
0:209      move second child to first child (temp highp float)
0:209        direct index (layout(column_major shared ) temp highp float)
0:209          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:209            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:209            Constant:
0:209              1 (const int)
0:209          Constant:
0:209            2 (const int)
0:209        Constant:
0:209          3.400000
0:218  Function Definition: foomultio( (global void)
0:218    Function Parameters: 
0:?     Sequence
0:221      move second child to first child (temp highp float)
0:221        'g' (temp highp float)
0:221        direct index (layout(column_major shared ) temp highp float)
0:221          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:221            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:221            Constant:
0:221              1 (const int)
0:221          Constant:
0:221            2 (const int)
0:222      Bitwise not (temp highp int)
0:222        value: direct index for structure (layout(column_major shared ) buffer highp int)
0:222          'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:222          Constant:
0:222            0 (const int)
0:223      move second child to first child (temp highp float)
0:223        direct index (layout(column_major shared ) temp highp float)
0:223          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:223            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:223            Constant:
0:223              1 (const int)
0:223          Constant:
0:223            2 (const int)
0:223        Constant:
0:223          3.400000
0:224      move second child to first child (temp highp int)
0:224        value: direct index for structure (layout(column_major shared ) buffer highp int)
0:224          'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:224          Constant:
0:224            0 (const int)
0:224        Constant:
0:224          2 (const int)
0:?   Linker Objects
0:?     'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize)
0:?       2 (const uint)
0:?       1 (const uint)
0:?       4096 (const uint)
0:?     'total' (const highp int)
0:?       66592 (const int)
0:?     'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:?     'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of highp float values, layout(column_major shared ) buffer highp int value})
0:?     'v3' (layout(location=2 ) in highp 3-component vector of float)
0:?     'f' (in highp float)
0:?     'fo' (out highp float)
0:?     's' (shared highp 4-component vector of float)
0:?     'sl' (layout(location=2 ) shared highp 4-component vector of float)
0:?     'fs' (shared highp float)
0:?     'arrX' (global 2-element array of highp int)
0:?     'arrY' (global 1-element array of highp int)
0:?     'arrZ' (global 4096-element array of highp int)
0:?     'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:?     'v' (buffer highp 4-component vector of float)
0:?     'us2dbad' (uniform mediump usampler2D)
0:?     'us2d' (uniform highp usampler2D)
0:?     'ii2dabad' (uniform highp iimage2DArray)
0:?     'ii2da' (writeonly uniform highp iimage2DArray)
0:?     'iimg2D' (layout(r32i ) uniform highp iimage2D)
0:?     'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
0:?     'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
0:?     'uimg2D' (layout(r32ui ) uniform highp uimage2D)
0:?     'vol' (volatile temp highp float)
0:?     'vol2' (readonly temp highp int)
0:?     'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
0:?     'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
0:?     'i1bad' (layout(rg8i ) readonly uniform highp uimage2D)
0:?     'i2bad' (layout(rgba32i ) readonly uniform lowp image2D)
0:?     'i3bad' (layout(rgba32f ) readonly uniform highp uimage2D)
0:?     'i4bad' (layout(r8_snorm ) readonly uniform highp iimage2D)
0:?     'i5bad' (layout(rgba32ui ) readonly uniform highp iimage2D)
0:?     'i6bad' (layout(r8ui ) readonly uniform highp iimage2D)
0:?     'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:?     'counterBad' (layout(binding=1 ) uniform mediump atomic_uint)
0:?     'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
0:?     'i' (uniform highp int)
0:?     'atomi' (shared highp int)
0:?     'atomu' (shared highp uint)
0:?     'pfoo' (temp highp int)
0:?     'dm' (global 2X4 matrix of double)
0:?     'sca' (uniform mediump samplerCubeArray)
0:?     'i2dr' (uniform mediump iimage2DRect)
0:?     'i2dms' (uniform lowp image2DMS)
0:?     'u2dmsa' (uniform mediump uimage2DMSArray)
0:?     'okay1' (layout(r32f ) coherent volatile restrict readonly writeonly uniform lowp image2D)
0:?     'okay2' (layout(r32i ) coherent volatile restrict readonly uniform highp iimage2D)
0:?     'okay3' (layout(r32ui ) coherent volatile restrict writeonly uniform highp uimage2D)
0:?     'okay4' (layout(r32f ) coherent volatile restrict uniform lowp image2D)
0:?     'badQ1' (layout(rgba32f ) coherent volatile restrict uniform lowp image2D)
0:?     'badQ2' (layout(rgba8i ) coherent volatile restrict uniform highp iimage2D)
0:?     'badQ3' (layout(rgba16ui ) coherent volatile restrict uniform highp uimage2D)
0:?     'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:?     'multio' (layout(column_major shared ) buffer block{layout(column_major shared ) readonly buffer highp int value, layout(column_major shared ) writeonly buffer implicitly-sized array of highp float values})
0:?     'inbi' (in block{in highp int a})
0:?     'outbi' (out block{out highp int a})
0:?     't__' (global highp float)


Linked compute stage:


Shader version: 310
local_size = (2, 1, 4096)
ERROR: node is still EOpNull!
0:27  Function Definition: main( (global void)
0:27    Function Parameters: 
0:29    Sequence
0:29      Barrier (global void)
0:30      MemoryBarrier (global void)
0:31      MemoryBarrierAtomicCounter (global void)
0:32      MemoryBarrierBuffer (global void)
0:33      MemoryBarrierShared (global void)
0:34      MemoryBarrierImage (global void)
0:35      GroupMemoryBarrier (global void)
0:36      move second child to first child (temp highp int)
0:36        value: direct index for structure (layout(column_major shared ) buffer highp int)
0:36          'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:36          Constant:
0:36            0 (const uint)
0:36        Convert float to int (temp highp int)
0:36          indirect index (layout(column_major shared ) temp highp float)
0:36            values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:36              'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:36              Constant:
0:36                1 (const uint)
0:36            'gl_LocalInvocationIndex' (in highp uint LocalInvocationIndex)
0:59  Function Definition: foo( (global void)
0:59    Function Parameters: 
0:61    Sequence
0:61      move second child to first child (temp highp float)
0:61        direct index (layout(column_major shared ) temp highp float)
0:61          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:61            'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:61            Constant:
0:61              1 (const int)
0:61          Constant:
0:61            2 (const int)
0:61        Constant:
0:61          4.700000
0:62      array length (temp highp int)
0:62        values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:62          'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:62          Constant:
0:62            1 (const int)
0:63      Pre-Increment (temp highp 4-component vector of float)
0:63        's' (shared highp 4-component vector of float)
0:84  Function Definition: qux( (global void)
0:84    Function Parameters: 
0:86    Sequence
0:86      Sequence
0:86        move second child to first child (temp highp int)
0:86          'i' (temp highp int)
0:86          Constant:
0:86            4 (const int)
0:87      imageAtomicCompSwap (global highp int)
0:87        'iimg2D' (layout(r32i ) uniform highp iimage2D)
0:87        Construct ivec2 (temp highp 2-component vector of int)
0:87          'i' (temp highp int)
0:87          'i' (temp highp int)
0:87        'i' (temp highp int)
0:87        'i' (temp highp int)
0:88      imageAtomicAdd (global highp uint)
0:88        'uimg2D' (layout(r32ui ) uniform highp uimage2D)
0:88        Construct ivec2 (temp highp 2-component vector of int)
0:88          'i' (temp highp int)
0:88          'i' (temp highp int)
0:88        Convert int to uint (temp highp uint)
0:88          'i' (temp highp int)
0:89      imageAtomicMin (global highp int)
0:89        'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
0:89        Construct ivec2 (temp highp 2-component vector of int)
0:89          'i' (temp highp int)
0:89          'i' (temp highp int)
0:89        'i' (temp highp int)
0:90      Constant:
0:90        0.000000
0:91      Sequence
0:91        move second child to first child (temp highp 4-component vector of int)
0:91          'pos' (temp highp 4-component vector of int)
0:91          imageLoad (global highp 4-component vector of int)
0:91            'iimg2D' (layout(r32i ) uniform highp iimage2D)
0:91            Construct ivec2 (temp highp 2-component vector of int)
0:91              'i' (temp highp int)
0:91              'i' (temp highp int)
0:92      imageStore (global highp void)
0:92        'ii2da' (writeonly uniform highp iimage2DArray)
0:92        Construct ivec3 (temp 3-component vector of int)
0:92          'i' (temp highp int)
0:92          'i' (temp highp int)
0:92          'i' (temp highp int)
0:92        Constant:
0:92          0 (const int)
0:92          0 (const int)
0:92          0 (const int)
0:92          0 (const int)
0:93      imageLoad (global highp 4-component vector of float)
0:93        'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
0:93        Construct ivec2 (temp highp 2-component vector of int)
0:93          'i' (temp highp int)
0:93          'i' (temp highp int)
0:94      imageLoad (global highp 4-component vector of int)
0:94        'ii2da' (writeonly uniform highp iimage2DArray)
0:94        Construct ivec3 (temp highp 3-component vector of int)
0:94          'i' (temp highp int)
0:94          'i' (temp highp int)
0:94          'i' (temp highp int)
0:100  Function Definition: passr(iI21; (global void)
0:100    Function Parameters: 
0:100      'image' (coherent readonly in highp iimage2D)
0:107  Function Definition: passrc( (global void)
0:107    Function Parameters: 
0:109    Sequence
0:109      Function Call: passr(iI21; (global void)
0:109        'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
0:110      Function Call: passr(iI21; (global void)
0:110        'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
0:111      Function Call: passr(iI21; (global void)
0:111        'iimg2D' (layout(r32i ) uniform highp iimage2D)
0:123  Function Definition: func(au1; (global highp uint)
0:123    Function Parameters: 
0:123      'c' (in highp atomic_uint)
0:125    Sequence
0:125      Branch: Return with expression
0:125        AtomicCounterIncrement (global highp uint)
0:125          'c' (in highp atomic_uint)
0:128  Function Definition: func2(au1; (global highp uint)
0:128    Function Parameters: 
0:128      'c' (out highp atomic_uint)
0:130    Sequence
0:130      Branch: Return with expression
0:130        'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:131      Branch: Return with expression
0:131        AtomicCounter (global highp uint)
0:131          'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:134  Function Definition: mainAC( (global void)
0:134    Function Parameters: 
0:?     Sequence
0:137      Sequence
0:137        move second child to first child (temp highp uint)
0:137          'val' (temp highp uint)
0:137          AtomicCounter (global highp uint)
0:137            'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:138      AtomicCounterDecrement (global highp uint)
0:138        'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:146  Function Definition: opac( (global void)
0:146    Function Parameters: 
0:?     Sequence
0:149      indirect index (temp highp int)
0:149        'a' (temp 3-element array of highp int)
0:149        'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:150      direct index (layout(binding=2 offset=4 ) temp highp atomic_uint)
0:150        'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
0:150        Constant:
0:150          2 (const int)
0:151      indirect index (layout(binding=2 offset=4 ) temp highp atomic_uint)
0:151        'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
0:151        'i' (uniform highp int)
0:157  Function Definition: atoms( (global void)
0:157    Function Parameters: 
0:159    Sequence
0:159      Sequence
0:159        move second child to first child (temp highp int)
0:159          'origi' (temp highp int)
0:159          AtomicAdd (global highp int)
0:159            'atomi' (shared highp int)
0:159            Constant:
0:159              3 (const int)
0:160      Sequence
0:160        move second child to first child (temp highp uint)
0:160          'origu' (temp highp uint)
0:160          AtomicAnd (global highp uint)
0:160            'atomu' (shared highp uint)
0:160            Constant:
0:160              7 (const uint)
0:161      move second child to first child (temp highp int)
0:161        'origi' (temp highp int)
0:161        AtomicExchange (global highp int)
0:161          'atomi' (shared highp int)
0:161          Constant:
0:161            4 (const int)
0:162      move second child to first child (temp highp uint)
0:162        'origu' (temp highp uint)
0:162        AtomicCompSwap (global highp uint)
0:162          'atomu' (shared highp uint)
0:162          Constant:
0:162            10 (const uint)
0:162          Constant:
0:162            8 (const uint)
0:191  Function Definition: foowo( (global void)
0:191    Function Parameters: 
0:?     Sequence
0:194      move second child to first child (temp highp float)
0:194        'g' (temp highp float)
0:194        direct index (layout(column_major shared ) temp highp float)
0:194          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:194            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:194            Constant:
0:194              1 (const int)
0:194          Constant:
0:194            2 (const int)
0:195      Sequence
0:195        move second child to first child (temp highp float)
0:195          'f' (temp highp float)
0:195          direct index (layout(column_major shared ) temp highp float)
0:195            values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:195              'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:195              Constant:
0:195                1 (const int)
0:195            Constant:
0:195              2 (const int)
0:196      Pre-Increment (temp highp float)
0:196        direct index (layout(column_major shared ) temp highp float)
0:196          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:196            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:196            Constant:
0:196              1 (const int)
0:196          Constant:
0:196            2 (const int)
0:197      Post-Decrement (temp highp float)
0:197        direct index (layout(column_major shared ) temp highp float)
0:197          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:197            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:197            Constant:
0:197              1 (const int)
0:197          Constant:
0:197            2 (const int)
0:198      add (temp highp float)
0:198        'f' (temp highp float)
0:198        direct index (layout(column_major shared ) temp highp float)
0:198          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:198            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:198            Constant:
0:198              1 (const int)
0:198          Constant:
0:198            2 (const int)
0:199      subtract (temp highp float)
0:199        direct index (layout(column_major shared ) temp highp float)
0:199          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:199            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:199            Constant:
0:199              1 (const int)
0:199          Constant:
0:199            2 (const int)
0:199        'f' (temp highp float)
0:201      Test condition and select (temp highp float)
0:201        Condition
0:201        'b' (temp bool)
0:201        true case
0:201        'f' (temp highp float)
0:201        false case
0:201        direct index (layout(column_major shared ) temp highp float)
0:201          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:201            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:201            Constant:
0:201              1 (const int)
0:201          Constant:
0:201            2 (const int)
0:202      Test condition and select (layout(column_major shared ) temp highp float)
0:202        Condition
0:202        'b' (temp bool)
0:202        true case
0:202        direct index (layout(column_major shared ) temp highp float)
0:202          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:202            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:202            Constant:
0:202              1 (const int)
0:202          Constant:
0:202            2 (const int)
0:202        false case
0:202        'f' (temp highp float)
0:203      Test condition and select (temp void)
0:203        Condition
0:203        Compare Equal (temp bool)
0:203          'f' (temp highp float)
0:203          direct index (layout(column_major shared ) temp highp float)
0:203            values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:203              'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:203              Constant:
0:203                1 (const int)
0:203            Constant:
0:203              2 (const int)
0:203        true case
0:204        Pre-Increment (temp highp float)
0:204          'f' (temp highp float)
0:205      Test condition and select (temp void)
0:205        Condition
0:205        Compare Greater Than or Equal (temp bool)
0:205          'f' (temp highp float)
0:205          direct index (layout(column_major shared ) temp highp float)
0:205            values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:205              'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:205              Constant:
0:205                1 (const int)
0:205            Constant:
0:205              2 (const int)
0:205        true case
0:206        Pre-Increment (temp highp float)
0:206          'f' (temp highp float)
0:207      move second child to first child (temp highp float)
0:207        'f' (temp highp float)
0:207        direct index (temp highp float)
0:207          Construct vec3 (temp highp 3-component vector of float)
0:207            direct index (layout(column_major shared ) temp highp float)
0:207              values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:207                'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:207                Constant:
0:207                  1 (const int)
0:207              Constant:
0:207                2 (const int)
0:207          Constant:
0:207            0 (const int)
0:208      Bitwise not (temp highp int)
0:208        value: direct index for structure (layout(column_major shared ) buffer highp int)
0:208          'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:208          Constant:
0:208            0 (const int)
0:209      move second child to first child (temp highp float)
0:209        direct index (layout(column_major shared ) temp highp float)
0:209          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:209            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:209            Constant:
0:209              1 (const int)
0:209          Constant:
0:209            2 (const int)
0:209        Constant:
0:209          3.400000
0:218  Function Definition: foomultio( (global void)
0:218    Function Parameters: 
0:?     Sequence
0:221      move second child to first child (temp highp float)
0:221        'g' (temp highp float)
0:221        direct index (layout(column_major shared ) temp highp float)
0:221          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:221            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:221            Constant:
0:221              1 (const int)
0:221          Constant:
0:221            2 (const int)
0:222      Bitwise not (temp highp int)
0:222        value: direct index for structure (layout(column_major shared ) buffer highp int)
0:222          'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:222          Constant:
0:222            0 (const int)
0:223      move second child to first child (temp highp float)
0:223        direct index (layout(column_major shared ) temp highp float)
0:223          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
0:223            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:223            Constant:
0:223              1 (const int)
0:223          Constant:
0:223            2 (const int)
0:223        Constant:
0:223          3.400000
0:224      move second child to first child (temp highp int)
0:224        value: direct index for structure (layout(column_major shared ) buffer highp int)
0:224          'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:224          Constant:
0:224            0 (const int)
0:224        Constant:
0:224          2 (const int)
0:?   Linker Objects
0:?     'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize)
0:?       2 (const uint)
0:?       1 (const uint)
0:?       4096 (const uint)
0:?     'total' (const highp int)
0:?       66592 (const int)
0:?     'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:?     'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of highp float values, layout(column_major shared ) buffer highp int value})
0:?     'v3' (layout(location=2 ) in highp 3-component vector of float)
0:?     'f' (in highp float)
0:?     'fo' (out highp float)
0:?     's' (shared highp 4-component vector of float)
0:?     'sl' (layout(location=2 ) shared highp 4-component vector of float)
0:?     'fs' (shared highp float)
0:?     'arrX' (global 2-element array of highp int)
0:?     'arrY' (global 1-element array of highp int)
0:?     'arrZ' (global 4096-element array of highp int)
0:?     'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:?     'v' (buffer highp 4-component vector of float)
0:?     'us2dbad' (uniform mediump usampler2D)
0:?     'us2d' (uniform highp usampler2D)
0:?     'ii2dabad' (uniform highp iimage2DArray)
0:?     'ii2da' (writeonly uniform highp iimage2DArray)
0:?     'iimg2D' (layout(r32i ) uniform highp iimage2D)
0:?     'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
0:?     'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
0:?     'uimg2D' (layout(r32ui ) uniform highp uimage2D)
0:?     'vol' (volatile temp highp float)
0:?     'vol2' (readonly temp highp int)
0:?     'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
0:?     'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
0:?     'i1bad' (layout(rg8i ) readonly uniform highp uimage2D)
0:?     'i2bad' (layout(rgba32i ) readonly uniform lowp image2D)
0:?     'i3bad' (layout(rgba32f ) readonly uniform highp uimage2D)
0:?     'i4bad' (layout(r8_snorm ) readonly uniform highp iimage2D)
0:?     'i5bad' (layout(rgba32ui ) readonly uniform highp iimage2D)
0:?     'i6bad' (layout(r8ui ) readonly uniform highp iimage2D)
0:?     'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:?     'counterBad' (layout(binding=1 ) uniform mediump atomic_uint)
0:?     'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
0:?     'i' (uniform highp int)
0:?     'atomi' (shared highp int)
0:?     'atomu' (shared highp uint)
0:?     'pfoo' (temp highp int)
0:?     'dm' (global 2X4 matrix of double)
0:?     'sca' (uniform mediump samplerCubeArray)
0:?     'i2dr' (uniform mediump iimage2DRect)
0:?     'i2dms' (uniform lowp image2DMS)
0:?     'u2dmsa' (uniform mediump uimage2DMSArray)
0:?     'okay1' (layout(r32f ) coherent volatile restrict readonly writeonly uniform lowp image2D)
0:?     'okay2' (layout(r32i ) coherent volatile restrict readonly uniform highp iimage2D)
0:?     'okay3' (layout(r32ui ) coherent volatile restrict writeonly uniform highp uimage2D)
0:?     'okay4' (layout(r32f ) coherent volatile restrict uniform lowp image2D)
0:?     'badQ1' (layout(rgba32f ) coherent volatile restrict uniform lowp image2D)
0:?     'badQ2' (layout(rgba8i ) coherent volatile restrict uniform highp iimage2D)
0:?     'badQ3' (layout(rgba16ui ) coherent volatile restrict uniform highp uimage2D)
0:?     'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
0:?     'multio' (layout(column_major shared ) buffer block{layout(column_major shared ) readonly buffer highp int value, layout(column_major shared ) writeonly buffer implicitly-sized array of highp float values})
0:?     'inbi' (in block{in highp int a})
0:?     'outbi' (out block{out highp int a})
0:?     't__' (global highp float)

