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/xhtml/glCreateShaderProgram.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.