Reading http://www.opengl.org/registry/specs/KHR/debug.txt
It has this example:
// Setup of the default active debug group: Filter everything in
glDebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, NULL, GL_TRUE);
// Generate a debug marker debug output message
glDebugMessageInsert(
GL_DEBUG_SOURCE_APPLICATION,
GL_DEBUG_TYPE_MARKER, 100,
GL_DEBUG_SEVERITY_NOTIFICATION,
-1, "Message 1");
// Push debug group 1
glPushDebugGroup(
GL_DEBUG_SOURCE_APPLICATION,
1,
-1, "Message 2");
This results in a GL_INVALID_OPERATION when glPushDebugGroup() is called.
I do not see any new versions of openGL I can try, since 14.1 & 14.2 BETA drivers do not support Vista 64bit it seems. :sorrow:
Funny enough, looking at http://www.opengl.org/sdk/docs/man/docbook4/xhtml/glPushDebugGroup.xml
for errors, it lists:
Errors
[LEFT]GL_INVALID_ENUM is generated if the value of source is neither GL_DEBUG_SOURCE_APPLICATION nor GL_DEBUG_SOURCE_THIRD_PARTY.
GL_INVALID_VALUE is generated if length is negative and the number of characters in message, excluding the null-terminator, is not less than the value of GL_MAX_DEBUG_MESSAGE_LENGTH.
[/LEFT]
So, GL_INVALID_OPERATION isn’t even listed as a possible error, so, this looks like a driver bug.
Yeah, I am sure it is the glPushDebugGroup() call that causes that error, I added glGetError() calls between and before all calls.
This is on a 6870 card, using 13.12 WHQL drivers.