I have a vertex shader compiled with `glCreateShaderProgramv` which works fine and produces a valid program (checked with `glIsValidProgram`). However, I cannot use glGetAttribLocation on it (giving me GL_INVALID_OPERATION.) The documentation states that the program must be linked, and indeed, GL_LINK_STATUS for the vertex shader is GL_FALSE.

How can this be? The glCreateShaderProgram documentation (http://www.opengl.org/sdk/docs/man4/...derProgram.xml) mentions that it is equivalent to <...> where a glLinkProgram is present, so what's going on here? Can I use glGetAttribLocation with separate vertex shader objects at all?

Using explicit locations is unfortunately not an option, as I'm porting a DX11 based system and those use vertex layouts. This is using the latest stable NVIDIA drivers.

[SOLVED] The program wan't compiling correctly Works now as expected.