300layout.vert
ERROR: 0:7: 'vertex input arrays' : not supported with this profile: es
ERROR: 0:8: 'in' : cannot be a structure or array 
ERROR: 0:8: 'vertex input arrays' : not supported with this profile: es
ERROR: 0:8: 'location' : overlapping use of location 10
ERROR: 0:12: 'layout' : cannot specify matrix layout on a variable declaration 
ERROR: 0:12: 'layout' : cannot specify packing on a variable declaration 
ERROR: 0:19: 'badf' : member of uniform or buffer block cannot have an auxiliary or interpolation qualifier 
ERROR: 0:20: 'badg' : member storage qualifier cannot contradict block storage qualifier 
ERROR: 0:21: 'bad1' : member of block cannot have a packing layout qualifier 
ERROR: 0:22: 'bad2' : member of block cannot have a packing layout qualifier 
ERROR: 0:23: 'bad3' : member of block cannot have a packing layout qualifier 
ERROR: 0:31: 'T3' : nameless block contains a member that already has a name at global scope 
ERROR: 0:38: 'vertex output block' : not supported for this version or the enabled extensions 
ERROR: 0:42: 'location qualifier on output' : not supported in this stage: vertex
ERROR: 0:42: 'location qualifier on output' : not supported for this version or the enabled extensions 
ERROR: 0:50: 'shared' : not supported for this version or the enabled extensions 
ERROR: 0:50: 'shared' : not supported in this stage: vertex
ERROR: 0:54: 'layout' : cannot specify packing on a variable declaration 
ERROR: 0:57: 'location' : overlapping use of location 40
ERROR: 19 compilation errors.  No code generated.


Shader version: 300
ERROR: node is still EOpNull!
0:44  Function Definition: main( ( global void)
0:44    Function Parameters: 
0:46    Sequence
0:46      move second child to first child ( temp highp 4-component vector of float)
0:46        'pos' ( smooth out highp 4-component vector of float)
0:46        vector-times-matrix ( temp highp 4-component vector of float)
0:46          'p' (layout( location=3) in highp 4-component vector of float)
0:46          add ( temp highp 4X4 matrix of float)
0:46            add ( temp highp 4X4 matrix of float)
0:46              add ( temp highp 4X4 matrix of float)
0:46                add ( temp highp 4X4 matrix of float)
0:46                  M1: direct index for structure (layout( row_major std140 offset=0) uniform highp 4X4 matrix of float)
0:46                    'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3})
0:46                    Constant:
0:46                      0 (const int)
0:46                  M2: direct index for structure (layout( column_major std140 offset=64) uniform highp 4X4 matrix of float)
0:46                    'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3})
0:46                    Constant:
0:46                      1 (const int)
0:46                M4: direct index for structure (layout( row_major shared) uniform highp 4X4 matrix of float)
0:46                  'anon@1' (layout( column_major shared) uniform block{layout( column_major shared) uniform highp 4X4 matrix of float M3, layout( row_major shared) uniform highp 4X4 matrix of float M4, layout( column_major shared) uniform highp 3X3 matrix of float N2, layout( column_major shared) uniform highp int b})
0:46                  Constant:
0:46                    1 (const uint)
0:46              M3: direct index for structure (layout( column_major shared) uniform highp 4X4 matrix of float)
0:46                'anon@1' (layout( column_major shared) uniform block{layout( column_major shared) uniform highp 4X4 matrix of float M3, layout( row_major shared) uniform highp 4X4 matrix of float M4, layout( column_major shared) uniform highp 3X3 matrix of float N2, layout( column_major shared) uniform highp int b})
0:46                Constant:
0:46                  0 (const uint)
0:46            t2m: direct index for structure (layout( row_major shared) uniform highp 4X4 matrix of float)
0:46              'anon@0' (layout( row_major shared) uniform block{layout( row_major shared) uniform bool b, layout( row_major shared) uniform highp 4X4 matrix of float t2m})
0:46              Constant:
0:46                1 (const uint)
0:47      move second child to first child ( temp highp 3-component vector of float)
0:47        'color' ( smooth out highp 3-component vector of float)
0:47        vector-times-matrix ( temp highp 3-component vector of float)
0:47          'c' (layout( location=7) in highp 3-component vector of float)
0:47          N1: direct index for structure (layout( row_major std140 offset=128) uniform highp 3X3 matrix of float)
0:47            'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3})
0:47            Constant:
0:47              2 (const int)
0:?   Linker Objects
0:?     'c' (layout( location=7) in highp 3-component vector of float)
0:?     'p' (layout( location=3) in highp 4-component vector of float)
0:?     'q' (layout( location=9) in 4-element array of highp 4-component vector of float)
0:?     'r' (layout( location=10) in 4-element array of structure{ global highp 4-component vector of float v})
0:?     'pos' ( smooth out highp 4-component vector of float)
0:?     'color' ( smooth out highp 3-component vector of float)
0:?     'badm4' (layout( column_major shared) uniform highp 4X4 matrix of float)
0:?     'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3})
0:?     'anon@0' (layout( row_major shared) uniform block{layout( row_major shared) uniform bool b, layout( row_major shared) uniform highp 4X4 matrix of float t2m})
0:?     'anon@2' ( out block{ out highp float f})
0:?     'badoutA' (layout( location=10) smooth out highp 4-component vector of float)
0:?     'compute_only' ( shared highp 4-component vector of float)
0:?     'aoeuntaoeu' (layout( packed) uniform highp float)
0:?     'cd' (layout( location=40) in highp float)
0:?     'ce' (layout( location=37) in highp 4X3 matrix of float)
0:?     'gl_VertexID' ( gl_VertexId highp int VertexId)
0:?     'gl_InstanceID' ( gl_InstanceId highp int InstanceId)


Linked vertex stage:


Shader version: 300
ERROR: node is still EOpNull!
0:44  Function Definition: main( ( global void)
0:44    Function Parameters: 
0:46    Sequence
0:46      move second child to first child ( temp highp 4-component vector of float)
0:46        'pos' ( smooth out highp 4-component vector of float)
0:46        vector-times-matrix ( temp highp 4-component vector of float)
0:46          'p' (layout( location=3) in highp 4-component vector of float)
0:46          add ( temp highp 4X4 matrix of float)
0:46            add ( temp highp 4X4 matrix of float)
0:46              add ( temp highp 4X4 matrix of float)
0:46                add ( temp highp 4X4 matrix of float)
0:46                  M1: direct index for structure (layout( row_major std140 offset=0) uniform highp 4X4 matrix of float)
0:46                    'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3})
0:46                    Constant:
0:46                      0 (const int)
0:46                  M2: direct index for structure (layout( column_major std140 offset=64) uniform highp 4X4 matrix of float)
0:46                    'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3})
0:46                    Constant:
0:46                      1 (const int)
0:46                M4: direct index for structure (layout( row_major shared) uniform highp 4X4 matrix of float)
0:46                  'anon@1' (layout( column_major shared) uniform block{layout( column_major shared) uniform highp 4X4 matrix of float M3, layout( row_major shared) uniform highp 4X4 matrix of float M4, layout( column_major shared) uniform highp 3X3 matrix of float N2, layout( column_major shared) uniform highp int b})
0:46                  Constant:
0:46                    1 (const uint)
0:46              M3: direct index for structure (layout( column_major shared) uniform highp 4X4 matrix of float)
0:46                'anon@1' (layout( column_major shared) uniform block{layout( column_major shared) uniform highp 4X4 matrix of float M3, layout( row_major shared) uniform highp 4X4 matrix of float M4, layout( column_major shared) uniform highp 3X3 matrix of float N2, layout( column_major shared) uniform highp int b})
0:46                Constant:
0:46                  0 (const uint)
0:46            t2m: direct index for structure (layout( row_major shared) uniform highp 4X4 matrix of float)
0:46              'anon@0' (layout( row_major shared) uniform block{layout( row_major shared) uniform bool b, layout( row_major shared) uniform highp 4X4 matrix of float t2m})
0:46              Constant:
0:46                1 (const uint)
0:47      move second child to first child ( temp highp 3-component vector of float)
0:47        'color' ( smooth out highp 3-component vector of float)
0:47        vector-times-matrix ( temp highp 3-component vector of float)
0:47          'c' (layout( location=7) in highp 3-component vector of float)
0:47          N1: direct index for structure (layout( row_major std140 offset=128) uniform highp 3X3 matrix of float)
0:47            'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3})
0:47            Constant:
0:47              2 (const int)
0:?   Linker Objects
0:?     'c' (layout( location=7) in highp 3-component vector of float)
0:?     'p' (layout( location=3) in highp 4-component vector of float)
0:?     'q' (layout( location=9) in 4-element array of highp 4-component vector of float)
0:?     'r' (layout( location=10) in 4-element array of structure{ global highp 4-component vector of float v})
0:?     'pos' ( smooth out highp 4-component vector of float)
0:?     'color' ( smooth out highp 3-component vector of float)
0:?     'badm4' (layout( column_major shared) uniform highp 4X4 matrix of float)
0:?     'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3})
0:?     'anon@0' (layout( row_major shared) uniform block{layout( row_major shared) uniform bool b, layout( row_major shared) uniform highp 4X4 matrix of float t2m})
0:?     'anon@2' ( out block{ out highp float f})
0:?     'badoutA' (layout( location=10) smooth out highp 4-component vector of float)
0:?     'compute_only' ( shared highp 4-component vector of float)
0:?     'aoeuntaoeu' (layout( packed) uniform highp float)
0:?     'cd' (layout( location=40) in highp float)
0:?     'ce' (layout( location=37) in highp 4X3 matrix of float)
0:?     'gl_VertexID' ( gl_VertexId highp int VertexId)
0:?     'gl_InstanceID' ( gl_InstanceId highp int InstanceId)

