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:
[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.
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.