I'm the developer of an indie game that's using some pretty old-fashioned OpenGL via lwjgl2. As of AMD drivers version 22.8.1, the shaders I use no longer work, whereas they used to work in 22.5.1. The shaders still compile with no errors in the log, but it seems the attribute names are truncated to two letters.
Specific example:
#version 150 compatibility
attribute vec4 tint;
void main() {
gl_TexCoord[0] = gl_MultiTexCoord0;
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
gl_FrontColor = tint;
}
When I compile this shader and enumerate these attributes on driver version 22.8.1, I get the attribute names "ti" and "gl". On version 22.5.1, and on any non-AMD cars, I get the attributes "gl_Vertex", "gl_MultiTexCoord0", and "tint".
I've tried various version and compatibility directives but the problem either persists, of if I increase the version enough the driver understandably complains that stuff like gl_ModelViewProjectionMatrix is no longer supported.
So this appears to be a regression in the shaders between 22.5.1 and 22.8.1. I've asked users affected by this to report it via the AMD reporting tool, but so far there's been no indication that the reports have been processed.
Do you have any advice on what to do? (Except port the whole graphics system to a newer version of OpenGL, which is a prohibitive amount of work at this point.)