Original Post
Hi everybody,
I tried implementing the ARB_get_program_binary OpenGL functionality, but I seem to have run into a problem there. For a given GLSL shader program, that has successfuly been compiled and linked, I get a 0 from glGetProgramiv(...,GL_PROGRAM_BINARY_LENGTH,...).
The function itself does not fail, nor does it trigger any gl-errors. Subsequent attempts to retrieve the binary code by calling glGetProgramBinary(...), however, will fail with GL_INVALID_OPERATION, even though I passed a 1MB large data buffer.
I tripple checked that the extension is indeed available and I am working on correctly retrieved function pointers (that are not NULL). And yes, I did check that the program is linked correctly. I tried with and without glUseProgram(...) before retrieving the binary representation.
Any thoughts? Am I missing something?
I'm working on ATI here, so I guess there's a chance that it's a driver bug...
I tried implementing the ARB_get_program_binary OpenGL functionality, but I seem to have run into a problem there. For a given GLSL shader program, that has successfuly been compiled and linked, I get a 0 from glGetProgramiv(...,GL_PROGRAM_BINARY_LENGTH,...).
The function itself does not fail, nor does it trigger any gl-errors. Subsequent attempts to retrieve the binary code by calling glGetProgramBinary(...), however, will fail with GL_INVALID_OPERATION, even though I passed a 1MB large data buffer.
I tripple checked that the extension is indeed available and I am working on correctly retrieved function pointers (that are not NULL). And yes, I did check that the program is linked correctly. I tried with and without glUseProgram(...) before retrieving the binary representation.
Any thoughts? Am I missing something?
I'm working on ATI here, so I guess there's a chance that it's a driver bug...