300block.frag
ERROR: 0:10: '' : cannot nest a structure definition inside a structure or block 
ERROR: 0:21: '' : cannot nest a structure definition inside a structure or block 
ERROR: 0:20: 'sampler' : member of block cannot be a sampler type 
ERROR: 0:45: 'variable indexing uniform block array' : not supported for this version or the enabled extensions 
ERROR: 0:46: 'fooBlock' : cannot be used (maybe an instance name is needed) 
ERROR: 0:46: 'fooBlock' : undeclared identifier 
ERROR: 0:47: 'constructor' : not enough data provided for construction 
ERROR: 0:51: 'unreferenced' : cannot be used (maybe an instance name is needed) 
ERROR: 0:51: 'unreferenced' : undeclared identifier 
ERROR: 0:52: '++' :  l-value required "s" (can't modify a uniform)
ERROR: 0:52: '++' :  wrong operand type no operation '++' exists that takes an operand of type uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} (or there is no acceptable conversion)
ERROR: 0:53: '-' :  wrong operand types: no operation '-' exists that takes a left-hand operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}' and a right operand of type 'const int' (or there is no acceptable conversion)
ERROR: 0:55: 'barBlockArray' : cannot be used (maybe an instance name is needed) 
ERROR: 0:55: 'barBlockArray' : undeclared identifier 
ERROR: 0:55: '*' :  wrong operand types: no operation '*' exists that takes a left-hand operand of type 'const int' and a right operand of type 'temp float' (or there is no acceptable conversion)
ERROR: 0:58: 'fooBlock' : redefinition 
ERROR: 16 compilation errors.  No code generated.


Shader version: 300
ERROR: node is still EOpNull!
0:42  Function Definition: main( (global void)
0:42    Function Parameters: 
0:44    Sequence
0:44      texture (global mediump 4-component vector of int)
0:44        sampler: direct index for structure (global lowp isampler3D)
0:44          's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:44          Constant:
0:44            2 (const int)
0:44        Construct vec3 (temp mediump 3-component vector of float)
0:44          Convert int to float (temp mediump float)
0:44            ni: direct index for structure (layout(column_major shared ) uniform mediump int)
0:44              'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:44              Constant:
0:44                1 (const int)
0:44          Convert uint to float (temp mediump float)
0:44            direct index (temp mediump uint)
0:44              bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
0:44                'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
0:44                Constant:
0:44                  0 (const uint)
0:44              Constant:
0:44                1 (const int)
0:44          Convert uint to float (temp mediump float)
0:44            direct index (temp mediump uint)
0:44              nbv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
0:44                direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:44                  'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:44                  Constant:
0:44                    2 (const int)
0:44                Constant:
0:44                  0 (const int)
0:44              Constant:
0:44                2 (const int)
0:45      indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:45        'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:45        direct index (temp mediump uint)
0:45          v: direct index for structure (global mediump 4-component vector of uint)
0:45            's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:45            Constant:
0:45              1 (const int)
0:45          Constant:
0:45            0 (const int)
0:46      'fooBlock' (temp float)
0:47      Constant:
0:47        0.000000
0:50      Construct mat4 (temp 4X4 matrix of float)
0:50        'barBlock' (temp mediump float)
0:51      Construct mat4 (temp 4X4 matrix of float)
0:51        'unreferenced' (temp float)
0:52      's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:53      'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:54      Pre-Increment (temp mediump float)
0:54        'barBlock' (temp mediump float)
0:55      Constant:
0:55        2 (const int)
0:?   Linker Objects
0:?     's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:?     'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
0:?     'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:?     'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:?     'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f, layout(column_major shared ) uniform mediump uint u})


Linked fragment stage:


Shader version: 300
ERROR: node is still EOpNull!
0:42  Function Definition: main( (global void)
0:42    Function Parameters: 
0:44    Sequence
0:44      texture (global mediump 4-component vector of int)
0:44        sampler: direct index for structure (global lowp isampler3D)
0:44          's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:44          Constant:
0:44            2 (const int)
0:44        Construct vec3 (temp mediump 3-component vector of float)
0:44          Convert int to float (temp mediump float)
0:44            ni: direct index for structure (layout(column_major shared ) uniform mediump int)
0:44              'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:44              Constant:
0:44                1 (const int)
0:44          Convert uint to float (temp mediump float)
0:44            direct index (temp mediump uint)
0:44              bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
0:44                'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
0:44                Constant:
0:44                  0 (const uint)
0:44              Constant:
0:44                1 (const int)
0:44          Convert uint to float (temp mediump float)
0:44            direct index (temp mediump uint)
0:44              nbv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
0:44                direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:44                  'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:44                  Constant:
0:44                    2 (const int)
0:44                Constant:
0:44                  0 (const int)
0:44              Constant:
0:44                2 (const int)
0:45      indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:45        'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:45        direct index (temp mediump uint)
0:45          v: direct index for structure (global mediump 4-component vector of uint)
0:45            's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:45            Constant:
0:45              1 (const int)
0:45          Constant:
0:45            0 (const int)
0:46      'fooBlock' (temp float)
0:47      Constant:
0:47        0.000000
0:50      Construct mat4 (temp 4X4 matrix of float)
0:50        'barBlock' (temp mediump float)
0:51      Construct mat4 (temp 4X4 matrix of float)
0:51        'unreferenced' (temp float)
0:52      's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:53      'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:54      Pre-Increment (temp mediump float)
0:54        'barBlock' (temp mediump float)
0:55      Constant:
0:55        2 (const int)
0:?   Linker Objects
0:?     's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:?     'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
0:?     'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:?     'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:?     'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f, layout(column_major shared ) uniform mediump uint u})

