versionsErrors.vert
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
WARNING: 0:38: attribute deprecated in version 130; may be removed in future release
ERROR: 0:38: 'attribute' : no longer supported in core profile; removed in version 420
ERROR: 0:45: 'discard' : not supported in this stage: vertex
ERROR: 2 compilation errors.  No code generated.


Shader version: 420
Requested GL_ARB_texture_rectangle
ERROR: node is still EOpNull!
0:42  Function Definition: main( (global void)
0:42    Function Parameters: 
0:44    Sequence
0:44      move second child to first child (temp 4-component vector of float)
0:44        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
0:44          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
0:44          Constant:
0:44            0 (const uint)
0:44        Construct vec4 (temp 4-component vector of float)
0:44          'color' (in 3-component vector of float)
0:44          Constant:
0:44            142.000000
0:45      Branch: Kill
0:?   Linker Objects
0:?     'color' (in 3-component vector of float)
0:?     'foo' (uniform sampler2DRect)
0:?     'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
0:?     'gl_VertexID' (gl_VertexId int VertexId)
0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)


Linked vertex stage:


Shader version: 420
Requested GL_ARB_texture_rectangle
ERROR: node is still EOpNull!
0:42  Function Definition: main( (global void)
0:42    Function Parameters: 
0:44    Sequence
0:44      move second child to first child (temp 4-component vector of float)
0:44        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
0:44          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
0:44          Constant:
0:44            0 (const uint)
0:44        Construct vec4 (temp 4-component vector of float)
0:44          'color' (in 3-component vector of float)
0:44          Constant:
0:44            142.000000
0:45      Branch: Kill
0:?   Linker Objects
0:?     'color' (in 3-component vector of float)
0:?     'foo' (uniform sampler2DRect)
0:?     'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
0:?     'gl_VertexID' (gl_VertexId int VertexId)
0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

