I have observed the following in OpenGL programs I have been writing for OpenGL 4.2 using core, forward-compatible profiles and running on AMD. Suppose, for example, I have a large number of vertices for a triangle strip, all of which are in the same plane, I want to specify the plane normal once and render as:
glVertexAttrib3f(normalVectorIndex, fixedNormalDx, fixedNormalDy, fixedNormalDz);
glDrawArrays(GL_TRIANGLE_STRIP, 0, numPoints);
When I do this on NVIDIA machines, I get exactly the results I expect. However when I run the same code on AMD platforms, the glVertexAttrib3f call seems to have no effect. (And of course this is true for all variations glVertexAttrib3fv, etc.) I have re-read the OpenGL Specification that describes glVertexAttrib, and I am convinced I am using it correctly. Is this a known problem with AMD drivers?