[Piglit] [PATCH 2/2] glsl-1.40/1.50: basic compiler tests for the compatibility profile

Marek Olšák maraeo at gmail.com
Wed May 23 01:29:02 UTC 2018


From: Marek Olšák <marek.olsak at amd.com>

---
 .../ARB_compatibility/ftransform.vert         | 12 +++++++++++
 .../ARB_compatibility/gl_BackColor.vert       | 12 +++++++++++
 .../gl_BackLightModelProduct.frag             | 12 +++++++++++
 .../gl_BackLightProduct.frag                  | 12 +++++++++++
 .../ARB_compatibility/gl_BackMaterial.frag    | 12 +++++++++++
 .../gl_BackSecondaryColor.vert                | 12 +++++++++++
 .../ARB_compatibility/gl_ClipPlane.frag       | 12 +++++++++++
 .../ARB_compatibility/gl_ClipVertex.vert      | 12 +++++++++++
 .../ARB_compatibility/gl_Color-fs.frag        | 12 +++++++++++
 .../ARB_compatibility/gl_Color-vs.vert        | 12 +++++++++++
 .../ARB_compatibility/gl_EyePlaneS.frag       | 12 +++++++++++
 .../compiler/ARB_compatibility/gl_Fog.frag    | 12 +++++++++++
 .../ARB_compatibility/gl_FogCoord.vert        | 12 +++++++++++
 .../ARB_compatibility/gl_FogFragCoord-fs.frag | 12 +++++++++++
 .../ARB_compatibility/gl_FogParameters.vert   |  9 ++++++++
 .../ARB_compatibility/gl_FrontColor.vert      | 12 +++++++++++
 .../gl_FrontLightModelProduct.frag            | 12 +++++++++++
 .../gl_FrontLightProduct.frag                 | 12 +++++++++++
 .../ARB_compatibility/gl_FrontMaterial.frag   | 12 +++++++++++
 .../gl_FrontSecondaryColor.vert               | 12 +++++++++++
 .../gl_LightModelParameters.vert              |  9 ++++++++
 .../gl_LightModelProducts.vert                |  9 ++++++++
 .../ARB_compatibility/gl_LightProducts.vert   |  9 ++++++++
 .../ARB_compatibility/gl_LightSource.frag     | 12 +++++++++++
 .../gl_LightSourceParameters.vert             |  9 ++++++++
 .../gl_MaterialParameters.vert                |  9 ++++++++
 .../ARB_compatibility/gl_MaxClipPlanes.vert   | 12 +++++++++++
 .../ARB_compatibility/gl_MaxLights.frag       | 12 +++++++++++
 .../gl_MaxTextureCoords.vert                  | 12 +++++++++++
 .../ARB_compatibility/gl_MaxTextureUnits.vert | 12 +++++++++++
 .../ARB_compatibility/gl_ModelViewMatrix.vert | 12 +++++++++++
 .../ARB_compatibility/gl_MultiTexCoord0.vert  | 12 +++++++++++
 .../compiler/ARB_compatibility/gl_Normal.vert | 12 +++++++++++
 .../ARB_compatibility/gl_NormalMatrix.vert    | 12 +++++++++++
 .../ARB_compatibility/gl_ObjectPlaneS.frag    | 12 +++++++++++
 .../compiler/ARB_compatibility/gl_Point.frag  | 12 +++++++++++
 .../ARB_compatibility/gl_PointParameters.vert |  9 ++++++++
 .../ARB_compatibility/gl_SecondaryColor.frag  | 12 +++++++++++
 .../ARB_compatibility/gl_SecondaryColor.vert  | 12 +++++++++++
 .../ARB_compatibility/gl_TextureEnvColor.frag | 12 +++++++++++
 .../ARB_compatibility/gl_TextureMatrix.frag   | 12 +++++++++++
 .../compiler/ARB_compatibility/gl_Vertex.vert | 12 +++++++++++
 .../ARB_compatibility-gs/ftransform.geom      | 12 +++++++++++
 .../ARB_compatibility-gs/gl_BackColor.geom    | 12 +++++++++++
 .../gl_BackLightModelProduct.geom             | 12 +++++++++++
 .../gl_BackLightProduct.geom                  | 12 +++++++++++
 .../ARB_compatibility-gs/gl_BackMaterial.geom | 12 +++++++++++
 .../gl_BackSecondaryColor.geom                | 12 +++++++++++
 .../ARB_compatibility-gs/gl_ClipPlane.geom    | 12 +++++++++++
 .../ARB_compatibility-gs/gl_ClipVertex.geom   | 12 +++++++++++
 .../ARB_compatibility-gs/gl_EyePlaneS.geom    | 12 +++++++++++
 .../compiler/ARB_compatibility-gs/gl_Fog.geom | 12 +++++++++++
 .../ARB_compatibility-gs/gl_FogFragCoord.geom | 12 +++++++++++
 .../gl_FogParameters.geom                     |  9 ++++++++
 .../ARB_compatibility-gs/gl_FrontColor.geom   | 12 +++++++++++
 .../gl_FrontLightModelProduct.geom            | 12 +++++++++++
 .../gl_FrontLightProduct.geom                 | 12 +++++++++++
 .../gl_FrontMaterial.geom                     | 12 +++++++++++
 .../gl_FrontSecondaryColor.geom               | 12 +++++++++++
 .../gl_LightModelParameters.geom              |  9 ++++++++
 .../gl_LightModelProducts.geom                |  9 ++++++++
 .../gl_LightProducts.geom                     |  9 ++++++++
 .../ARB_compatibility-gs/gl_LightSource.geom  | 12 +++++++++++
 .../gl_LightSourceParameters.geom             |  9 ++++++++
 .../gl_MaterialParameters.geom                |  9 ++++++++
 .../gl_MaxClipPlanes.geom                     | 12 +++++++++++
 .../ARB_compatibility-gs/gl_MaxLights.geom    | 12 +++++++++++
 .../gl_MaxTextureCoords.geom                  | 12 +++++++++++
 .../gl_MaxTextureUnits.geom                   | 12 +++++++++++
 .../gl_ModelViewMatrix.geom                   | 12 +++++++++++
 .../ARB_compatibility-gs/gl_NormalMatrix.geom | 12 +++++++++++
 .../ARB_compatibility-gs/gl_ObjectPlaneS.geom | 12 +++++++++++
 .../ARB_compatibility-gs/gl_Point.geom        | 12 +++++++++++
 .../gl_PointParameters.geom                   |  9 ++++++++
 .../ARB_compatibility-gs/gl_TexCoord.geom     | 12 +++++++++++
 .../gl_TextureEnvColor.geom                   | 12 +++++++++++
 .../gl_TextureMatrix.geom                     | 12 +++++++++++
 ...edeclare-gl_BackColor-in-gl_PerVertex.geom | 21 +++++++++++++++++++
 .../redeclare-gl_BackColor.geom               | 14 +++++++++++++
 ...declare-gl_ClipVertex-in-gl_PerVertex.geom | 19 +++++++++++++++++
 .../redeclare-gl_ClipVertex.geom              | 13 ++++++++++++
 ...clare-gl_FogFragCoord-in-gl_PerVertex.geom | 19 +++++++++++++++++
 .../redeclare-gl_FogFragCoord.geom            | 13 ++++++++++++
 ...declare-gl_FrontColor-in-gl_PerVertex.geom | 21 +++++++++++++++++++
 .../redeclare-gl_FrontColor.geom              | 14 +++++++++++++
 ...redeclare-gl_TexCoord-in-gl_PerVertex.geom | 19 +++++++++++++++++
 .../redeclare-gl_TexCoord.geom                | 13 ++++++++++++
 .../ARB_compatibility/ftransform.vert         | 12 +++++++++++
 .../ARB_compatibility/gl_BackColor.vert       | 12 +++++++++++
 .../gl_BackLightModelProduct.frag             | 12 +++++++++++
 .../gl_BackLightProduct.frag                  | 12 +++++++++++
 .../ARB_compatibility/gl_BackMaterial.frag    | 12 +++++++++++
 .../gl_BackSecondaryColor.vert                | 12 +++++++++++
 .../ARB_compatibility/gl_ClipPlane.frag       | 12 +++++++++++
 .../ARB_compatibility/gl_ClipVertex.vert      | 12 +++++++++++
 .../ARB_compatibility/gl_Color-fs.frag        | 12 +++++++++++
 .../ARB_compatibility/gl_Color-vs.vert        | 12 +++++++++++
 .../ARB_compatibility/gl_EyePlaneS.frag       | 12 +++++++++++
 .../compiler/ARB_compatibility/gl_Fog.frag    | 12 +++++++++++
 .../ARB_compatibility/gl_FogCoord.vert        | 12 +++++++++++
 .../ARB_compatibility/gl_FogFragCoord-fs.frag | 12 +++++++++++
 .../ARB_compatibility/gl_FogParameters.vert   |  9 ++++++++
 .../ARB_compatibility/gl_FrontColor.vert      | 12 +++++++++++
 .../gl_FrontLightModelProduct.frag            | 12 +++++++++++
 .../gl_FrontLightProduct.frag                 | 12 +++++++++++
 .../ARB_compatibility/gl_FrontMaterial.frag   | 12 +++++++++++
 .../gl_FrontSecondaryColor.vert               | 12 +++++++++++
 .../gl_LightModelParameters.vert              |  9 ++++++++
 .../gl_LightModelProducts.vert                |  9 ++++++++
 .../ARB_compatibility/gl_LightProducts.vert   |  9 ++++++++
 .../ARB_compatibility/gl_LightSource.frag     | 12 +++++++++++
 .../gl_LightSourceParameters.vert             |  9 ++++++++
 .../gl_MaterialParameters.vert                |  9 ++++++++
 .../ARB_compatibility/gl_MaxClipPlanes.vert   | 12 +++++++++++
 .../ARB_compatibility/gl_MaxLights.frag       | 12 +++++++++++
 .../gl_MaxTextureCoords.vert                  | 12 +++++++++++
 .../ARB_compatibility/gl_MaxTextureUnits.vert | 12 +++++++++++
 .../ARB_compatibility/gl_ModelViewMatrix.vert | 12 +++++++++++
 .../ARB_compatibility/gl_MultiTexCoord0.vert  | 12 +++++++++++
 .../compiler/ARB_compatibility/gl_Normal.vert | 12 +++++++++++
 .../ARB_compatibility/gl_NormalMatrix.vert    | 12 +++++++++++
 .../ARB_compatibility/gl_ObjectPlaneS.frag    | 12 +++++++++++
 .../compiler/ARB_compatibility/gl_Point.frag  | 12 +++++++++++
 .../ARB_compatibility/gl_PointParameters.vert |  9 ++++++++
 .../ARB_compatibility/gl_SecondaryColor.frag  | 12 +++++++++++
 .../ARB_compatibility/gl_SecondaryColor.vert  | 12 +++++++++++
 .../ARB_compatibility/gl_TextureEnvColor.frag | 12 +++++++++++
 .../ARB_compatibility/gl_TextureMatrix.frag   | 12 +++++++++++
 .../compiler/ARB_compatibility/gl_Vertex.vert | 12 +++++++++++
 .../compiler/compatibility-gs/ftransform.geom | 10 +++++++++
 .../compatibility-gs/gl_BackColor.geom        | 10 +++++++++
 .../gl_BackLightModelProduct.geom             | 10 +++++++++
 .../compatibility-gs/gl_BackLightProduct.geom | 10 +++++++++
 .../compatibility-gs/gl_BackMaterial.geom     | 10 +++++++++
 .../gl_BackSecondaryColor.geom                | 10 +++++++++
 .../compatibility-gs/gl_ClipPlane.geom        | 10 +++++++++
 .../compatibility-gs/gl_ClipVertex.geom       | 10 +++++++++
 .../compatibility-gs/gl_EyePlaneS.geom        | 10 +++++++++
 .../compiler/compatibility-gs/gl_Fog.geom     | 10 +++++++++
 .../compatibility-gs/gl_FogFragCoord.geom     | 10 +++++++++
 .../compatibility-gs/gl_FogParameters.geom    |  7 +++++++
 .../compatibility-gs/gl_FrontColor.geom       | 10 +++++++++
 .../gl_FrontLightModelProduct.geom            | 10 +++++++++
 .../gl_FrontLightProduct.geom                 | 10 +++++++++
 .../compatibility-gs/gl_FrontMaterial.geom    | 10 +++++++++
 .../gl_FrontSecondaryColor.geom               | 10 +++++++++
 .../gl_LightModelParameters.geom              |  7 +++++++
 .../gl_LightModelProducts.geom                |  7 +++++++
 .../compatibility-gs/gl_LightProducts.geom    |  7 +++++++
 .../compatibility-gs/gl_LightSource.geom      | 10 +++++++++
 .../gl_LightSourceParameters.geom             |  7 +++++++
 .../gl_MaterialParameters.geom                |  7 +++++++
 .../compatibility-gs/gl_MaxClipPlanes.geom    | 10 +++++++++
 .../compatibility-gs/gl_MaxLights.geom        | 10 +++++++++
 .../compatibility-gs/gl_MaxTextureCoords.geom | 10 +++++++++
 .../compatibility-gs/gl_MaxTextureUnits.geom  | 10 +++++++++
 .../compatibility-gs/gl_ModelViewMatrix.geom  | 10 +++++++++
 .../compatibility-gs/gl_NormalMatrix.geom     | 10 +++++++++
 .../compatibility-gs/gl_ObjectPlaneS.geom     | 10 +++++++++
 .../compiler/compatibility-gs/gl_Point.geom   | 10 +++++++++
 .../compatibility-gs/gl_PointParameters.geom  |  7 +++++++
 .../compatibility-gs/gl_TexCoord.geom         | 10 +++++++++
 .../compatibility-gs/gl_TextureEnvColor.geom  | 10 +++++++++
 .../compatibility-gs/gl_TextureMatrix.geom    | 10 +++++++++
 .../GL_compatibility_profile.vert             | 15 +++++++++++++
 .../compiler/compatibility/ftransform.vert    | 10 +++++++++
 .../compiler/compatibility/gl_BackColor.vert  | 10 +++++++++
 .../gl_BackLightModelProduct.frag             | 10 +++++++++
 .../compatibility/gl_BackLightProduct.frag    | 10 +++++++++
 .../compatibility/gl_BackMaterial.frag        | 10 +++++++++
 .../compatibility/gl_BackSecondaryColor.vert  | 10 +++++++++
 .../compiler/compatibility/gl_ClipPlane.frag  | 10 +++++++++
 .../compiler/compatibility/gl_ClipVertex.vert | 10 +++++++++
 .../compiler/compatibility/gl_Color-fs.frag   | 10 +++++++++
 .../compiler/compatibility/gl_Color-vs.vert   | 10 +++++++++
 .../compiler/compatibility/gl_EyePlaneS.frag  | 10 +++++++++
 .../compiler/compatibility/gl_Fog.frag        | 10 +++++++++
 .../compiler/compatibility/gl_FogCoord.vert   | 10 +++++++++
 .../compatibility/gl_FogFragCoord-fs.frag     | 10 +++++++++
 .../compatibility/gl_FogParameters.vert       |  7 +++++++
 .../compiler/compatibility/gl_FrontColor.vert | 10 +++++++++
 .../gl_FrontLightModelProduct.frag            | 10 +++++++++
 .../compatibility/gl_FrontLightProduct.frag   | 10 +++++++++
 .../compatibility/gl_FrontMaterial.frag       | 10 +++++++++
 .../compatibility/gl_FrontSecondaryColor.vert | 10 +++++++++
 .../gl_LightModelParameters.vert              |  7 +++++++
 .../compatibility/gl_LightModelProducts.vert  |  7 +++++++
 .../compatibility/gl_LightProducts.vert       |  7 +++++++
 .../compatibility/gl_LightSource.frag         | 10 +++++++++
 .../gl_LightSourceParameters.vert             |  7 +++++++
 .../compatibility/gl_MaterialParameters.vert  |  7 +++++++
 .../compatibility/gl_MaxClipPlanes.vert       | 10 +++++++++
 .../compiler/compatibility/gl_MaxLights.frag  | 10 +++++++++
 .../compatibility/gl_MaxTextureCoords.vert    | 10 +++++++++
 .../compatibility/gl_MaxTextureUnits.vert     | 10 +++++++++
 .../compatibility/gl_ModelViewMatrix.vert     | 10 +++++++++
 .../compatibility/gl_MultiTexCoord0.vert      | 10 +++++++++
 .../compiler/compatibility/gl_Normal.vert     | 10 +++++++++
 .../compatibility/gl_NormalMatrix.vert        | 10 +++++++++
 .../compatibility/gl_ObjectPlaneS.frag        | 10 +++++++++
 .../compiler/compatibility/gl_Point.frag      | 10 +++++++++
 .../compatibility/gl_PointParameters.vert     |  7 +++++++
 .../compatibility/gl_SecondaryColor.frag      | 10 +++++++++
 .../compatibility/gl_SecondaryColor.vert      | 10 +++++++++
 .../compatibility/gl_TextureEnvColor.frag     | 10 +++++++++
 .../compatibility/gl_TextureMatrix.frag       | 10 +++++++++
 .../compiler/compatibility/gl_Vertex.vert     | 10 +++++++++
 207 files changed, 2274 insertions(+)
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/ftransform.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackColor.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackLightModelProduct.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackLightProduct.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackMaterial.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackSecondaryColor.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ClipPlane.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ClipVertex.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Color-fs.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Color-vs.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_EyePlaneS.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Fog.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FogCoord.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FogFragCoord-fs.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FogParameters.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontColor.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontLightModelProduct.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontLightProduct.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontMaterial.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontSecondaryColor.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightModelParameters.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightModelProducts.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightProducts.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightSource.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightSourceParameters.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaterialParameters.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxClipPlanes.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxLights.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxTextureCoords.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxTextureUnits.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ModelViewMatrix.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MultiTexCoord0.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Normal.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_NormalMatrix.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ObjectPlaneS.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Point.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_PointParameters.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_SecondaryColor.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_SecondaryColor.vert
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_TextureEnvColor.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_TextureMatrix.frag
 create mode 100644 tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Vertex.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/ftransform.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackColor.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackLightModelProduct.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackLightProduct.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackMaterial.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackSecondaryColor.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ClipPlane.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ClipVertex.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_EyePlaneS.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_Fog.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FogFragCoord.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FogParameters.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontColor.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontLightModelProduct.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontLightProduct.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontMaterial.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontSecondaryColor.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightModelParameters.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightModelProducts.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightProducts.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightSource.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightSourceParameters.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaterialParameters.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxClipPlanes.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxLights.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxTextureCoords.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxTextureUnits.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ModelViewMatrix.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_NormalMatrix.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ObjectPlaneS.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_Point.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_PointParameters.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_TexCoord.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_TextureEnvColor.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_TextureMatrix.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_BackColor-in-gl_PerVertex.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_BackColor.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_ClipVertex-in-gl_PerVertex.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_ClipVertex.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FogFragCoord-in-gl_PerVertex.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FogFragCoord.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FrontColor-in-gl_PerVertex.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FrontColor.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_TexCoord-in-gl_PerVertex.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_TexCoord.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/ftransform.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackColor.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackLightModelProduct.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackLightProduct.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackMaterial.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackSecondaryColor.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ClipPlane.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ClipVertex.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Color-fs.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Color-vs.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_EyePlaneS.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Fog.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FogCoord.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FogFragCoord-fs.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FogParameters.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontColor.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontLightModelProduct.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontLightProduct.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontMaterial.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontSecondaryColor.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightModelParameters.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightModelProducts.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightProducts.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightSource.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightSourceParameters.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaterialParameters.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxClipPlanes.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxLights.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxTextureCoords.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxTextureUnits.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ModelViewMatrix.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MultiTexCoord0.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Normal.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_NormalMatrix.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ObjectPlaneS.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Point.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_PointParameters.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_SecondaryColor.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_SecondaryColor.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_TextureEnvColor.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_TextureMatrix.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Vertex.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/ftransform.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackColor.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackLightModelProduct.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackLightProduct.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackMaterial.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackSecondaryColor.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ClipPlane.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ClipVertex.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_EyePlaneS.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_Fog.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FogFragCoord.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FogParameters.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontColor.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontLightModelProduct.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontLightProduct.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontMaterial.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontSecondaryColor.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightModelParameters.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightModelProducts.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightProducts.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightSource.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightSourceParameters.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaterialParameters.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxClipPlanes.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxLights.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxTextureCoords.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxTextureUnits.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ModelViewMatrix.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_NormalMatrix.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ObjectPlaneS.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_Point.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_PointParameters.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_TexCoord.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_TextureEnvColor.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility-gs/gl_TextureMatrix.geom
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/GL_compatibility_profile.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/ftransform.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_BackColor.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_BackLightModelProduct.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_BackLightProduct.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_BackMaterial.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_BackSecondaryColor.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_ClipPlane.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_ClipVertex.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_Color-fs.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_Color-vs.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_EyePlaneS.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_Fog.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_FogCoord.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_FogFragCoord-fs.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_FogParameters.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_FrontColor.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_FrontLightModelProduct.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_FrontLightProduct.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_FrontMaterial.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_FrontSecondaryColor.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_LightModelParameters.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_LightModelProducts.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_LightProducts.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_LightSource.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_LightSourceParameters.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_MaterialParameters.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_MaxClipPlanes.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_MaxLights.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_MaxTextureCoords.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_MaxTextureUnits.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_ModelViewMatrix.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_MultiTexCoord0.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_Normal.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_NormalMatrix.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_ObjectPlaneS.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_Point.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_PointParameters.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_SecondaryColor.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_SecondaryColor.vert
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_TextureEnvColor.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_TextureMatrix.frag
 create mode 100644 tests/spec/glsl-1.50/compiler/compatibility/gl_Vertex.vert

diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/ftransform.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/ftransform.vert
new file mode 100644
index 000000000..eb9ac7cb8
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/ftransform.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+void main()
+{
+	ftransform();
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackColor.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackColor.vert
new file mode 100644
index 000000000..4c7536447
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackColor.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_BackColor = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackLightModelProduct.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackLightModelProduct.frag
new file mode 100644
index 000000000..e1a162159
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackLightModelProduct.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_BackLightModelProduct.sceneColor;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackLightProduct.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackLightProduct.frag
new file mode 100644
index 000000000..45375568d
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackLightProduct.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_BackLightProduct[0].ambient;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackMaterial.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackMaterial.frag
new file mode 100644
index 000000000..54b33fdf3
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackMaterial.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_BackMaterial.emission;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackSecondaryColor.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackSecondaryColor.vert
new file mode 100644
index 000000000..9fe9393e0
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_BackSecondaryColor.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_BackSecondaryColor = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ClipPlane.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ClipPlane.frag
new file mode 100644
index 000000000..a3e5fe6f4
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ClipPlane.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_ClipPlane[0];
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ClipVertex.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ClipVertex.vert
new file mode 100644
index 000000000..d5b87d851
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ClipVertex.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_ClipVertex = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Color-fs.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Color-fs.frag
new file mode 100644
index 000000000..39eb4c80d
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Color-fs.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_Color;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Color-vs.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Color-vs.vert
new file mode 100644
index 000000000..39eb4c80d
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Color-vs.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_Color;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_EyePlaneS.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_EyePlaneS.frag
new file mode 100644
index 000000000..61caca522
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_EyePlaneS.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_EyePlaneS[0];
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Fog.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Fog.frag
new file mode 100644
index 000000000..b8a2d28e8
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Fog.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_Fog.color;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FogCoord.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FogCoord.vert
new file mode 100644
index 000000000..6e7acb183
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FogCoord.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+float func()
+{
+	return gl_FogCoord;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FogFragCoord-fs.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FogFragCoord-fs.frag
new file mode 100644
index 000000000..1597361fb
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FogFragCoord-fs.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+float func()
+{
+	return gl_FogFragCoord;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FogParameters.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FogParameters.vert
new file mode 100644
index 000000000..c8761ec0f
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FogParameters.vert
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+uniform gl_FogParameters var;
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontColor.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontColor.vert
new file mode 100644
index 000000000..055143503
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontColor.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_FrontColor = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontLightModelProduct.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontLightModelProduct.frag
new file mode 100644
index 000000000..8c9a9b04a
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontLightModelProduct.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_FrontLightModelProduct.sceneColor;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontLightProduct.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontLightProduct.frag
new file mode 100644
index 000000000..0a500543c
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontLightProduct.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_FrontLightProduct[0].ambient;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontMaterial.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontMaterial.frag
new file mode 100644
index 000000000..f1d59f95a
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontMaterial.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_FrontMaterial.emission;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontSecondaryColor.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontSecondaryColor.vert
new file mode 100644
index 000000000..0dae3eeb2
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_FrontSecondaryColor.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_FrontSecondaryColor = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightModelParameters.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightModelParameters.vert
new file mode 100644
index 000000000..9e08cbf50
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightModelParameters.vert
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+uniform gl_LightModelParameters var;
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightModelProducts.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightModelProducts.vert
new file mode 100644
index 000000000..829067d4d
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightModelProducts.vert
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+uniform gl_LightModelProducts var;
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightProducts.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightProducts.vert
new file mode 100644
index 000000000..39c0843a9
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightProducts.vert
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+uniform gl_LightProducts var;
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightSource.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightSource.frag
new file mode 100644
index 000000000..13223fd71
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightSource.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_LightSource[0].ambient;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightSourceParameters.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightSourceParameters.vert
new file mode 100644
index 000000000..0228cd4a6
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_LightSourceParameters.vert
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+uniform gl_LightSourceParameters var;
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaterialParameters.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaterialParameters.vert
new file mode 100644
index 000000000..12b054010
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaterialParameters.vert
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+uniform gl_MaterialParameters var;
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxClipPlanes.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxClipPlanes.vert
new file mode 100644
index 000000000..c7d658f11
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxClipPlanes.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+int func()
+{
+	return gl_MaxClipPlanes;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxLights.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxLights.frag
new file mode 100644
index 000000000..e410b6667
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxLights.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+int func()
+{
+	return gl_MaxLights;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxTextureCoords.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxTextureCoords.vert
new file mode 100644
index 000000000..d81c0530f
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxTextureCoords.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+int func()
+{
+	return gl_MaxTextureCoords;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxTextureUnits.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxTextureUnits.vert
new file mode 100644
index 000000000..6614aaab5
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MaxTextureUnits.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+int func()
+{
+	return gl_MaxTextureUnits;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ModelViewMatrix.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ModelViewMatrix.vert
new file mode 100644
index 000000000..2bc1c92ac
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ModelViewMatrix.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+mat4 func()
+{
+	return gl_ModelViewMatrix;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MultiTexCoord0.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MultiTexCoord0.vert
new file mode 100644
index 000000000..af7fcb7c7
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_MultiTexCoord0.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_MultiTexCoord0;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Normal.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Normal.vert
new file mode 100644
index 000000000..2aeee729e
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Normal.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec3 func()
+{
+	return gl_Normal;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_NormalMatrix.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_NormalMatrix.vert
new file mode 100644
index 000000000..042e268e8
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_NormalMatrix.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+mat3 func()
+{
+	return gl_NormalMatrix;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ObjectPlaneS.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ObjectPlaneS.frag
new file mode 100644
index 000000000..c0702c77f
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_ObjectPlaneS.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_ObjectPlaneS[0];
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Point.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Point.frag
new file mode 100644
index 000000000..0f3cd2bc3
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Point.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+float func()
+{
+	return gl_Point.size;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_PointParameters.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_PointParameters.vert
new file mode 100644
index 000000000..bad7b2517
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_PointParameters.vert
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+uniform gl_PointParameters var;
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_SecondaryColor.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_SecondaryColor.frag
new file mode 100644
index 000000000..be0c94073
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_SecondaryColor.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_SecondaryColor;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_SecondaryColor.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_SecondaryColor.vert
new file mode 100644
index 000000000..be0c94073
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_SecondaryColor.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_SecondaryColor;
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_TextureEnvColor.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_TextureEnvColor.frag
new file mode 100644
index 000000000..d7803cb60
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_TextureEnvColor.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_TextureEnvColor[0];
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_TextureMatrix.frag b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_TextureMatrix.frag
new file mode 100644
index 000000000..5beb3aed4
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_TextureMatrix.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+mat4 func()
+{
+	return gl_TextureMatrix[0];
+}
diff --git a/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Vertex.vert b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Vertex.vert
new file mode 100644
index 000000000..bcaacc549
--- /dev/null
+++ b/tests/spec/glsl-1.40/compiler/ARB_compatibility/gl_Vertex.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 140
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_Vertex;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/ftransform.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/ftransform.geom
new file mode 100644
index 000000000..feb65c029
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/ftransform.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+void main()
+{
+	ftransform();
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackColor.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackColor.geom
new file mode 100644
index 000000000..23194a99f
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackColor.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_BackColor = gl_in[0].gl_BackColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackLightModelProduct.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackLightModelProduct.geom
new file mode 100644
index 000000000..bd69bc172
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackLightModelProduct.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_BackLightModelProduct.sceneColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackLightProduct.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackLightProduct.geom
new file mode 100644
index 000000000..98100f356
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackLightProduct.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_BackLightProduct[0].ambient;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackMaterial.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackMaterial.geom
new file mode 100644
index 000000000..fd74b205b
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackMaterial.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_BackMaterial.emission;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackSecondaryColor.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackSecondaryColor.geom
new file mode 100644
index 000000000..1ca48c8a1
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_BackSecondaryColor.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_BackSecondaryColor = gl_in[0].gl_BackSecondaryColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ClipPlane.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ClipPlane.geom
new file mode 100644
index 000000000..eda152743
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ClipPlane.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_ClipPlane[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ClipVertex.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ClipVertex.geom
new file mode 100644
index 000000000..050055492
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ClipVertex.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_ClipVertex = gl_in[0].gl_ClipVertex;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_EyePlaneS.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_EyePlaneS.geom
new file mode 100644
index 000000000..e4f66efbc
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_EyePlaneS.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_EyePlaneS[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_Fog.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_Fog.geom
new file mode 100644
index 000000000..56452c3eb
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_Fog.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_Fog.color;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FogFragCoord.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FogFragCoord.geom
new file mode 100644
index 000000000..3bc90956e
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FogFragCoord.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_FogFragCoord = gl_in[0].gl_FogFragCoord;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FogParameters.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FogParameters.geom
new file mode 100644
index 000000000..175e5368f
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FogParameters.geom
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+uniform gl_FogParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontColor.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontColor.geom
new file mode 100644
index 000000000..5d4dcf1b8
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontColor.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_FrontColor = gl_in[0].gl_FrontColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontLightModelProduct.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontLightModelProduct.geom
new file mode 100644
index 000000000..856caeffd
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontLightModelProduct.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_FrontLightModelProduct.sceneColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontLightProduct.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontLightProduct.geom
new file mode 100644
index 000000000..cc37baa03
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontLightProduct.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_FrontLightProduct[0].ambient;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontMaterial.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontMaterial.geom
new file mode 100644
index 000000000..c36003723
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontMaterial.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_FrontMaterial.emission;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontSecondaryColor.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontSecondaryColor.geom
new file mode 100644
index 000000000..88ea55077
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_FrontSecondaryColor.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_FrontSecondaryColor = gl_in[0].gl_FrontSecondaryColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightModelParameters.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightModelParameters.geom
new file mode 100644
index 000000000..6f24280c4
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightModelParameters.geom
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+uniform gl_LightModelParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightModelProducts.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightModelProducts.geom
new file mode 100644
index 000000000..c07a6ab7a
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightModelProducts.geom
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+uniform gl_LightModelProducts var;
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightProducts.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightProducts.geom
new file mode 100644
index 000000000..2caa30382
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightProducts.geom
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+uniform gl_LightProducts var;
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightSource.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightSource.geom
new file mode 100644
index 000000000..7d2616700
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightSource.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_LightSource[0].ambient;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightSourceParameters.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightSourceParameters.geom
new file mode 100644
index 000000000..ca14d384a
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_LightSourceParameters.geom
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+uniform gl_LightSourceParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaterialParameters.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaterialParameters.geom
new file mode 100644
index 000000000..8a0d00ebb
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaterialParameters.geom
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+uniform gl_MaterialParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxClipPlanes.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxClipPlanes.geom
new file mode 100644
index 000000000..eee93d168
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxClipPlanes.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+int func()
+{
+	return gl_MaxClipPlanes;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxLights.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxLights.geom
new file mode 100644
index 000000000..cf0528444
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxLights.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+int func()
+{
+	return gl_MaxLights;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxTextureCoords.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxTextureCoords.geom
new file mode 100644
index 000000000..85cb3e3f9
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxTextureCoords.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+int func()
+{
+	return gl_MaxTextureCoords;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxTextureUnits.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxTextureUnits.geom
new file mode 100644
index 000000000..867001891
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_MaxTextureUnits.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+int func()
+{
+	return gl_MaxTextureUnits;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ModelViewMatrix.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ModelViewMatrix.geom
new file mode 100644
index 000000000..d2bab500e
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ModelViewMatrix.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+mat4 func()
+{
+	return gl_ModelViewMatrix;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_NormalMatrix.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_NormalMatrix.geom
new file mode 100644
index 000000000..a53b2ae9f
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_NormalMatrix.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+mat3 func()
+{
+	return gl_NormalMatrix;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ObjectPlaneS.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ObjectPlaneS.geom
new file mode 100644
index 000000000..82b54d3b5
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_ObjectPlaneS.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_ObjectPlaneS[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_Point.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_Point.geom
new file mode 100644
index 000000000..e955d61b7
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_Point.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+float func()
+{
+	return gl_Point.size;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_PointParameters.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_PointParameters.geom
new file mode 100644
index 000000000..8da047b53
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_PointParameters.geom
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+uniform gl_PointParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_TexCoord.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_TexCoord.geom
new file mode 100644
index 000000000..6487a9fe6
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_TexCoord.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+void main()
+{
+	gl_TexCoord[0] = gl_in[0].gl_TexCoord[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_TextureEnvColor.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_TextureEnvColor.geom
new file mode 100644
index 000000000..59cfdf604
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_TextureEnvColor.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_TextureEnvColor[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_TextureMatrix.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_TextureMatrix.geom
new file mode 100644
index 000000000..5e8effeb0
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/gl_TextureMatrix.geom
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+mat4 func()
+{
+	return gl_TextureMatrix[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_BackColor-in-gl_PerVertex.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_BackColor-in-gl_PerVertex.geom
new file mode 100644
index 000000000..e6c939638
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_BackColor-in-gl_PerVertex.geom
@@ -0,0 +1,21 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+in gl_PerVertex {
+    vec4 gl_BackColor;
+    vec4 gl_BackSecondaryColor;
+} gl_in[];
+
+out gl_PerVertex {
+    flat vec4 gl_BackColor;
+    flat vec4 gl_BackSecondaryColor;
+};
+
+void main()
+{
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_BackColor.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_BackColor.geom
new file mode 100644
index 000000000..238e77dd3
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_BackColor.geom
@@ -0,0 +1,14 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+flat out vec4 gl_BackColor;
+flat out vec4 gl_BackSecondaryColor;
+
+void main()
+{
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_ClipVertex-in-gl_PerVertex.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_ClipVertex-in-gl_PerVertex.geom
new file mode 100644
index 000000000..b39f94763
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_ClipVertex-in-gl_PerVertex.geom
@@ -0,0 +1,19 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+in gl_PerVertex {
+    vec4 gl_ClipVertex;
+} gl_in[];
+
+out gl_PerVertex {
+    vec4 gl_ClipVertex;
+};
+
+void main()
+{
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_ClipVertex.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_ClipVertex.geom
new file mode 100644
index 000000000..aa5099266
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_ClipVertex.geom
@@ -0,0 +1,13 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+out vec4 gl_ClipVertex;
+
+void main()
+{
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FogFragCoord-in-gl_PerVertex.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FogFragCoord-in-gl_PerVertex.geom
new file mode 100644
index 000000000..8883b533f
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FogFragCoord-in-gl_PerVertex.geom
@@ -0,0 +1,19 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+in gl_PerVertex {
+    float gl_FogFragCoord;
+} gl_in[];
+
+out gl_PerVertex {
+    float gl_FogFragCoord;
+};
+
+void main()
+{
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FogFragCoord.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FogFragCoord.geom
new file mode 100644
index 000000000..da860de7e
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FogFragCoord.geom
@@ -0,0 +1,13 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+out vec4 gl_FogFragCoord;
+
+void main()
+{
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FrontColor-in-gl_PerVertex.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FrontColor-in-gl_PerVertex.geom
new file mode 100644
index 000000000..ef2090181
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FrontColor-in-gl_PerVertex.geom
@@ -0,0 +1,21 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+in gl_PerVertex {
+    vec4 gl_FrontColor;
+    vec4 gl_FrontSecondaryColor;
+} gl_in[];
+
+out gl_PerVertex {
+    flat vec4 gl_FrontColor;
+    flat vec4 gl_FrontSecondaryColor;
+};
+
+void main()
+{
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FrontColor.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FrontColor.geom
new file mode 100644
index 000000000..be61660f6
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_FrontColor.geom
@@ -0,0 +1,14 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+flat out vec4 gl_FrontColor;
+flat out vec4 gl_FrontSecondaryColor;
+
+void main()
+{
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_TexCoord-in-gl_PerVertex.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_TexCoord-in-gl_PerVertex.geom
new file mode 100644
index 000000000..83efb796c
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_TexCoord-in-gl_PerVertex.geom
@@ -0,0 +1,19 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+in gl_PerVertex {
+    vec4 gl_TexCoord[3];
+} gl_in[];
+
+out gl_PerVertex {
+    vec4 gl_TexCoord[4];
+};
+
+void main()
+{
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_TexCoord.geom b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_TexCoord.geom
new file mode 100644
index 000000000..6e74d2772
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility-gs/redeclare-gl_TexCoord.geom
@@ -0,0 +1,13 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+out vec4 gl_TexCoord[4];
+
+void main()
+{
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/ftransform.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/ftransform.vert
new file mode 100644
index 000000000..34b318038
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/ftransform.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+void main()
+{
+	ftransform();
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackColor.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackColor.vert
new file mode 100644
index 000000000..76aee01a6
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackColor.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_BackColor = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackLightModelProduct.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackLightModelProduct.frag
new file mode 100644
index 000000000..bd69bc172
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackLightModelProduct.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_BackLightModelProduct.sceneColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackLightProduct.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackLightProduct.frag
new file mode 100644
index 000000000..98100f356
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackLightProduct.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_BackLightProduct[0].ambient;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackMaterial.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackMaterial.frag
new file mode 100644
index 000000000..fd74b205b
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackMaterial.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_BackMaterial.emission;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackSecondaryColor.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackSecondaryColor.vert
new file mode 100644
index 000000000..4e7b6b96b
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_BackSecondaryColor.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_BackSecondaryColor = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ClipPlane.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ClipPlane.frag
new file mode 100644
index 000000000..eda152743
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ClipPlane.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_ClipPlane[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ClipVertex.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ClipVertex.vert
new file mode 100644
index 000000000..dea130d03
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ClipVertex.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_ClipVertex = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Color-fs.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Color-fs.frag
new file mode 100644
index 000000000..886b55feb
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Color-fs.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_Color;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Color-vs.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Color-vs.vert
new file mode 100644
index 000000000..886b55feb
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Color-vs.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_Color;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_EyePlaneS.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_EyePlaneS.frag
new file mode 100644
index 000000000..e4f66efbc
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_EyePlaneS.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_EyePlaneS[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Fog.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Fog.frag
new file mode 100644
index 000000000..56452c3eb
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Fog.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_Fog.color;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FogCoord.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FogCoord.vert
new file mode 100644
index 000000000..8824cb3e2
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FogCoord.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+float func()
+{
+	return gl_FogCoord;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FogFragCoord-fs.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FogFragCoord-fs.frag
new file mode 100644
index 000000000..c6dda75a4
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FogFragCoord-fs.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+float func()
+{
+	return gl_FogFragCoord;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FogParameters.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FogParameters.vert
new file mode 100644
index 000000000..175e5368f
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FogParameters.vert
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+uniform gl_FogParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontColor.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontColor.vert
new file mode 100644
index 000000000..fc58b8eb0
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontColor.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_FrontColor = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontLightModelProduct.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontLightModelProduct.frag
new file mode 100644
index 000000000..856caeffd
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontLightModelProduct.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_FrontLightModelProduct.sceneColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontLightProduct.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontLightProduct.frag
new file mode 100644
index 000000000..cc37baa03
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontLightProduct.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_FrontLightProduct[0].ambient;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontMaterial.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontMaterial.frag
new file mode 100644
index 000000000..c36003723
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontMaterial.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_FrontMaterial.emission;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontSecondaryColor.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontSecondaryColor.vert
new file mode 100644
index 000000000..756fb2ddd
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_FrontSecondaryColor.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+void func()
+{
+	gl_FrontSecondaryColor = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightModelParameters.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightModelParameters.vert
new file mode 100644
index 000000000..6f24280c4
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightModelParameters.vert
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+uniform gl_LightModelParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightModelProducts.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightModelProducts.vert
new file mode 100644
index 000000000..c07a6ab7a
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightModelProducts.vert
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+uniform gl_LightModelProducts var;
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightProducts.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightProducts.vert
new file mode 100644
index 000000000..2caa30382
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightProducts.vert
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+uniform gl_LightProducts var;
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightSource.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightSource.frag
new file mode 100644
index 000000000..7d2616700
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightSource.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_LightSource[0].ambient;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightSourceParameters.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightSourceParameters.vert
new file mode 100644
index 000000000..ca14d384a
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_LightSourceParameters.vert
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+uniform gl_LightSourceParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaterialParameters.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaterialParameters.vert
new file mode 100644
index 000000000..8a0d00ebb
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaterialParameters.vert
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+uniform gl_MaterialParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxClipPlanes.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxClipPlanes.vert
new file mode 100644
index 000000000..eee93d168
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxClipPlanes.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+int func()
+{
+	return gl_MaxClipPlanes;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxLights.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxLights.frag
new file mode 100644
index 000000000..cf0528444
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxLights.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+int func()
+{
+	return gl_MaxLights;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxTextureCoords.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxTextureCoords.vert
new file mode 100644
index 000000000..85cb3e3f9
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxTextureCoords.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+int func()
+{
+	return gl_MaxTextureCoords;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxTextureUnits.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxTextureUnits.vert
new file mode 100644
index 000000000..867001891
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MaxTextureUnits.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+int func()
+{
+	return gl_MaxTextureUnits;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ModelViewMatrix.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ModelViewMatrix.vert
new file mode 100644
index 000000000..d2bab500e
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ModelViewMatrix.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+mat4 func()
+{
+	return gl_ModelViewMatrix;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MultiTexCoord0.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MultiTexCoord0.vert
new file mode 100644
index 000000000..01f97e9ab
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_MultiTexCoord0.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_MultiTexCoord0;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Normal.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Normal.vert
new file mode 100644
index 000000000..d7e57863a
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Normal.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec3 func()
+{
+	return gl_Normal;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_NormalMatrix.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_NormalMatrix.vert
new file mode 100644
index 000000000..a53b2ae9f
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_NormalMatrix.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+mat3 func()
+{
+	return gl_NormalMatrix;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ObjectPlaneS.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ObjectPlaneS.frag
new file mode 100644
index 000000000..82b54d3b5
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_ObjectPlaneS.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_ObjectPlaneS[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Point.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Point.frag
new file mode 100644
index 000000000..e955d61b7
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Point.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+float func()
+{
+	return gl_Point.size;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_PointParameters.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_PointParameters.vert
new file mode 100644
index 000000000..8da047b53
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_PointParameters.vert
@@ -0,0 +1,9 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+uniform gl_PointParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_SecondaryColor.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_SecondaryColor.frag
new file mode 100644
index 000000000..ffd817b93
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_SecondaryColor.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_SecondaryColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_SecondaryColor.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_SecondaryColor.vert
new file mode 100644
index 000000000..ffd817b93
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_SecondaryColor.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_SecondaryColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_TextureEnvColor.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_TextureEnvColor.frag
new file mode 100644
index 000000000..59cfdf604
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_TextureEnvColor.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_TextureEnvColor[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_TextureMatrix.frag b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_TextureMatrix.frag
new file mode 100644
index 000000000..5e8effeb0
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_TextureMatrix.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+mat4 func()
+{
+	return gl_TextureMatrix[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Vertex.vert b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Vertex.vert
new file mode 100644
index 000000000..31e2dd6cd
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/ARB_compatibility/gl_Vertex.vert
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// require_extensions: GL_ARB_compatibility
+// [end config]
+#version 150
+#extension GL_ARB_compatibility : enable
+
+vec4 func()
+{
+	return gl_Vertex;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/ftransform.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/ftransform.geom
new file mode 100644
index 000000000..dd3ee4e2c
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/ftransform.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+void main()
+{
+	ftransform();
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackColor.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackColor.geom
new file mode 100644
index 000000000..3d56df5ba
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackColor.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+void func()
+{
+	gl_BackColor = gl_in[0].gl_BackColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackLightModelProduct.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackLightModelProduct.geom
new file mode 100644
index 000000000..bbc970e36
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackLightModelProduct.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_BackLightModelProduct.sceneColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackLightProduct.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackLightProduct.geom
new file mode 100644
index 000000000..96faabb1e
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackLightProduct.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_BackLightProduct[0].ambient;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackMaterial.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackMaterial.geom
new file mode 100644
index 000000000..267ba0d99
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackMaterial.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_BackMaterial.emission;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackSecondaryColor.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackSecondaryColor.geom
new file mode 100644
index 000000000..e10761d73
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_BackSecondaryColor.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+void func()
+{
+	gl_BackSecondaryColor = gl_in[0].gl_BackSecondaryColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ClipPlane.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ClipPlane.geom
new file mode 100644
index 000000000..f895d3299
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ClipPlane.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_ClipPlane[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ClipVertex.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ClipVertex.geom
new file mode 100644
index 000000000..01028cd6e
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ClipVertex.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+void func()
+{
+	gl_ClipVertex = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_EyePlaneS.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_EyePlaneS.geom
new file mode 100644
index 000000000..47dde348e
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_EyePlaneS.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_EyePlaneS[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_Fog.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_Fog.geom
new file mode 100644
index 000000000..f8b6a7fe8
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_Fog.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_Fog.color;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FogFragCoord.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FogFragCoord.geom
new file mode 100644
index 000000000..c03ba434b
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FogFragCoord.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+void func()
+{
+	gl_FogFragCoord = gl_in[0].gl_FogFragCoord;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FogParameters.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FogParameters.geom
new file mode 100644
index 000000000..81834bfb2
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FogParameters.geom
@@ -0,0 +1,7 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+uniform gl_FogParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontColor.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontColor.geom
new file mode 100644
index 000000000..0308644f8
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontColor.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+void func()
+{
+	gl_FrontColor = gl_in[0].gl_FrontColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontLightModelProduct.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontLightModelProduct.geom
new file mode 100644
index 000000000..2498db891
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontLightModelProduct.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_FrontLightModelProduct.sceneColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontLightProduct.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontLightProduct.geom
new file mode 100644
index 000000000..132480d9f
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontLightProduct.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_FrontLightProduct[0].ambient;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontMaterial.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontMaterial.geom
new file mode 100644
index 000000000..a3f8822c9
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontMaterial.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_FrontMaterial.emission;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontSecondaryColor.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontSecondaryColor.geom
new file mode 100644
index 000000000..153479135
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_FrontSecondaryColor.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+void func()
+{
+	gl_FrontSecondaryColor = gl_in[0].gl_FrontSecondaryColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightModelParameters.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightModelParameters.geom
new file mode 100644
index 000000000..1ada4794d
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightModelParameters.geom
@@ -0,0 +1,7 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+uniform gl_LightModelParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightModelProducts.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightModelProducts.geom
new file mode 100644
index 000000000..d7b00b47d
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightModelProducts.geom
@@ -0,0 +1,7 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+uniform gl_LightModelProducts var;
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightProducts.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightProducts.geom
new file mode 100644
index 000000000..0bb125741
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightProducts.geom
@@ -0,0 +1,7 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+uniform gl_LightProducts var;
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightSource.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightSource.geom
new file mode 100644
index 000000000..4e85d63e3
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightSource.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_LightSource[0].ambient;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightSourceParameters.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightSourceParameters.geom
new file mode 100644
index 000000000..d9a541a47
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_LightSourceParameters.geom
@@ -0,0 +1,7 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+uniform gl_LightSourceParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaterialParameters.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaterialParameters.geom
new file mode 100644
index 000000000..ed2c302ba
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaterialParameters.geom
@@ -0,0 +1,7 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+uniform gl_MaterialParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxClipPlanes.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxClipPlanes.geom
new file mode 100644
index 000000000..4bfc900fc
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxClipPlanes.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+int func()
+{
+	return gl_MaxClipPlanes;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxLights.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxLights.geom
new file mode 100644
index 000000000..95456b0bc
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxLights.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+int func()
+{
+	return gl_MaxLights;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxTextureCoords.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxTextureCoords.geom
new file mode 100644
index 000000000..8a7d2ce33
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxTextureCoords.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+int func()
+{
+	return gl_MaxTextureCoords;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxTextureUnits.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxTextureUnits.geom
new file mode 100644
index 000000000..dde0a6ae7
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_MaxTextureUnits.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+int func()
+{
+	return gl_MaxTextureUnits;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ModelViewMatrix.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ModelViewMatrix.geom
new file mode 100644
index 000000000..09616f401
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ModelViewMatrix.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+mat4 func()
+{
+	return gl_ModelViewMatrix;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_NormalMatrix.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_NormalMatrix.geom
new file mode 100644
index 000000000..d80ddc9c9
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_NormalMatrix.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+mat3 func()
+{
+	return gl_NormalMatrix;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ObjectPlaneS.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ObjectPlaneS.geom
new file mode 100644
index 000000000..fad06b34f
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_ObjectPlaneS.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_ObjectPlaneS[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_Point.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_Point.geom
new file mode 100644
index 000000000..8fbb9e17f
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_Point.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+float func()
+{
+	return gl_Point.size;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_PointParameters.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_PointParameters.geom
new file mode 100644
index 000000000..93916d1a1
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_PointParameters.geom
@@ -0,0 +1,7 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+uniform gl_PointParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_TexCoord.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_TexCoord.geom
new file mode 100644
index 000000000..7f7f89db0
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_TexCoord.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+void main()
+{
+	gl_TexCoord[0] = gl_in[0].gl_TexCoord[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_TextureEnvColor.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_TextureEnvColor.geom
new file mode 100644
index 000000000..c3ae6bc6c
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_TextureEnvColor.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_TextureEnvColor[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_TextureMatrix.geom b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_TextureMatrix.geom
new file mode 100644
index 000000000..ed9080173
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility-gs/gl_TextureMatrix.geom
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+mat4 func()
+{
+	return gl_TextureMatrix[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/GL_compatibility_profile.vert b/tests/spec/glsl-1.50/compiler/compatibility/GL_compatibility_profile.vert
new file mode 100644
index 000000000..2ccf1278b
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/GL_compatibility_profile.vert
@@ -0,0 +1,15 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+#ifndef GL_compatibility_profile
+    #error GL_compatibility_profile undefined
+#else
+    #if GL_compatibility_profile != 1
+	#error GL_compatibility_profile has incorrect value
+    #endif
+#endif
+
+void func() {}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/ftransform.vert b/tests/spec/glsl-1.50/compiler/compatibility/ftransform.vert
new file mode 100644
index 000000000..21c587358
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/ftransform.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+void main()
+{
+	ftransform();
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_BackColor.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_BackColor.vert
new file mode 100644
index 000000000..dca86d3a5
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_BackColor.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+void func()
+{
+	gl_BackColor = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_BackLightModelProduct.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_BackLightModelProduct.frag
new file mode 100644
index 000000000..bbc970e36
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_BackLightModelProduct.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_BackLightModelProduct.sceneColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_BackLightProduct.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_BackLightProduct.frag
new file mode 100644
index 000000000..96faabb1e
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_BackLightProduct.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_BackLightProduct[0].ambient;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_BackMaterial.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_BackMaterial.frag
new file mode 100644
index 000000000..267ba0d99
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_BackMaterial.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_BackMaterial.emission;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_BackSecondaryColor.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_BackSecondaryColor.vert
new file mode 100644
index 000000000..dc47490e8
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_BackSecondaryColor.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+void func()
+{
+	gl_BackSecondaryColor = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_ClipPlane.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_ClipPlane.frag
new file mode 100644
index 000000000..f895d3299
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_ClipPlane.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_ClipPlane[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_ClipVertex.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_ClipVertex.vert
new file mode 100644
index 000000000..01028cd6e
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_ClipVertex.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+void func()
+{
+	gl_ClipVertex = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_Color-fs.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_Color-fs.frag
new file mode 100644
index 000000000..e7cffaeca
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_Color-fs.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_Color;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_Color-vs.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_Color-vs.vert
new file mode 100644
index 000000000..e7cffaeca
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_Color-vs.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_Color;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_EyePlaneS.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_EyePlaneS.frag
new file mode 100644
index 000000000..47dde348e
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_EyePlaneS.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_EyePlaneS[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_Fog.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_Fog.frag
new file mode 100644
index 000000000..f8b6a7fe8
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_Fog.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_Fog.color;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_FogCoord.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_FogCoord.vert
new file mode 100644
index 000000000..8e1aaed6f
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_FogCoord.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+float func()
+{
+	return gl_FogCoord;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_FogFragCoord-fs.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_FogFragCoord-fs.frag
new file mode 100644
index 000000000..d1c152157
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_FogFragCoord-fs.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+float func()
+{
+	return gl_FogFragCoord;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_FogParameters.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_FogParameters.vert
new file mode 100644
index 000000000..81834bfb2
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_FogParameters.vert
@@ -0,0 +1,7 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+uniform gl_FogParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_FrontColor.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_FrontColor.vert
new file mode 100644
index 000000000..8fd8aaaf3
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_FrontColor.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+void func()
+{
+	gl_FrontColor = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_FrontLightModelProduct.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_FrontLightModelProduct.frag
new file mode 100644
index 000000000..2498db891
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_FrontLightModelProduct.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_FrontLightModelProduct.sceneColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_FrontLightProduct.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_FrontLightProduct.frag
new file mode 100644
index 000000000..132480d9f
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_FrontLightProduct.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_FrontLightProduct[0].ambient;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_FrontMaterial.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_FrontMaterial.frag
new file mode 100644
index 000000000..a3f8822c9
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_FrontMaterial.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_FrontMaterial.emission;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_FrontSecondaryColor.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_FrontSecondaryColor.vert
new file mode 100644
index 000000000..cbe535ef3
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_FrontSecondaryColor.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+void func()
+{
+	gl_FrontSecondaryColor = vec4(0.0);
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_LightModelParameters.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_LightModelParameters.vert
new file mode 100644
index 000000000..1ada4794d
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_LightModelParameters.vert
@@ -0,0 +1,7 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+uniform gl_LightModelParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_LightModelProducts.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_LightModelProducts.vert
new file mode 100644
index 000000000..d7b00b47d
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_LightModelProducts.vert
@@ -0,0 +1,7 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+uniform gl_LightModelProducts var;
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_LightProducts.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_LightProducts.vert
new file mode 100644
index 000000000..0bb125741
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_LightProducts.vert
@@ -0,0 +1,7 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+uniform gl_LightProducts var;
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_LightSource.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_LightSource.frag
new file mode 100644
index 000000000..4e85d63e3
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_LightSource.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_LightSource[0].ambient;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_LightSourceParameters.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_LightSourceParameters.vert
new file mode 100644
index 000000000..d9a541a47
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_LightSourceParameters.vert
@@ -0,0 +1,7 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+uniform gl_LightSourceParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_MaterialParameters.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_MaterialParameters.vert
new file mode 100644
index 000000000..ed2c302ba
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_MaterialParameters.vert
@@ -0,0 +1,7 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+uniform gl_MaterialParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_MaxClipPlanes.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_MaxClipPlanes.vert
new file mode 100644
index 000000000..4bfc900fc
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_MaxClipPlanes.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+int func()
+{
+	return gl_MaxClipPlanes;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_MaxLights.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_MaxLights.frag
new file mode 100644
index 000000000..95456b0bc
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_MaxLights.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+int func()
+{
+	return gl_MaxLights;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_MaxTextureCoords.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_MaxTextureCoords.vert
new file mode 100644
index 000000000..8a7d2ce33
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_MaxTextureCoords.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+int func()
+{
+	return gl_MaxTextureCoords;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_MaxTextureUnits.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_MaxTextureUnits.vert
new file mode 100644
index 000000000..dde0a6ae7
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_MaxTextureUnits.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+int func()
+{
+	return gl_MaxTextureUnits;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_ModelViewMatrix.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_ModelViewMatrix.vert
new file mode 100644
index 000000000..09616f401
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_ModelViewMatrix.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+mat4 func()
+{
+	return gl_ModelViewMatrix;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_MultiTexCoord0.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_MultiTexCoord0.vert
new file mode 100644
index 000000000..7e56d7913
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_MultiTexCoord0.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_MultiTexCoord0;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_Normal.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_Normal.vert
new file mode 100644
index 000000000..dc199284c
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_Normal.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec3 func()
+{
+	return gl_Normal;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_NormalMatrix.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_NormalMatrix.vert
new file mode 100644
index 000000000..d80ddc9c9
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_NormalMatrix.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+mat3 func()
+{
+	return gl_NormalMatrix;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_ObjectPlaneS.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_ObjectPlaneS.frag
new file mode 100644
index 000000000..fad06b34f
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_ObjectPlaneS.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_ObjectPlaneS[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_Point.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_Point.frag
new file mode 100644
index 000000000..8fbb9e17f
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_Point.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+float func()
+{
+	return gl_Point.size;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_PointParameters.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_PointParameters.vert
new file mode 100644
index 000000000..93916d1a1
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_PointParameters.vert
@@ -0,0 +1,7 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+uniform gl_PointParameters var;
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_SecondaryColor.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_SecondaryColor.frag
new file mode 100644
index 000000000..f5c8f2032
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_SecondaryColor.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_SecondaryColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_SecondaryColor.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_SecondaryColor.vert
new file mode 100644
index 000000000..f5c8f2032
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_SecondaryColor.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_SecondaryColor;
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_TextureEnvColor.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_TextureEnvColor.frag
new file mode 100644
index 000000000..c3ae6bc6c
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_TextureEnvColor.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_TextureEnvColor[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_TextureMatrix.frag b/tests/spec/glsl-1.50/compiler/compatibility/gl_TextureMatrix.frag
new file mode 100644
index 000000000..ed9080173
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_TextureMatrix.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+mat4 func()
+{
+	return gl_TextureMatrix[0];
+}
diff --git a/tests/spec/glsl-1.50/compiler/compatibility/gl_Vertex.vert b/tests/spec/glsl-1.50/compiler/compatibility/gl_Vertex.vert
new file mode 100644
index 000000000..d2e312c6b
--- /dev/null
+++ b/tests/spec/glsl-1.50/compiler/compatibility/gl_Vertex.vert
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50compatibility
+// [end config]
+#version 150 compatibility
+
+vec4 func()
+{
+	return gl_Vertex;
+}
-- 
2.17.0



More information about the Piglit mailing list