[Mesa-dev] [PATCH 0/11] implement GL_ARB_debug_output
nobled at dreamwidth.org
Mon May 2 15:59:35 PDT 2011
(branch: arb_debug_output, rebased on bd661a933b18fccd7102d05932774ee61a90ec9e)
This series adds almost everything needed to advertise the extension
GL_ARB_debug_output. The only thing missing is the ability to pass an
array of IDs to glDebugMessageControlARB with the parameter 'source'
having the value GL_DEBUG_SOURCE_APPLICATION_ARB or
Since the *ControlARB stuff was the part I was least certain about, I
also broke it up into even smaller patches. What I think is needed to
fill in the missing functionality is a structure that works like C++'s
std::map, with a GLuint/GLboolean key/value pair. There would also
need to be, for each map, three std::set-like structures that record
the HIGH, MEDIUM, and LOW-severity message IDs. Otherwise it wouldn't
be possible for clients to make calls like this that impact all
messages of a certain severity level:
GL_DEBUG_SEVERITY_LOW_ARB, 0, NULL, GL_TRUE);
Does mesa have structures like those in the auxiliary code somewhere?
Or is there a way to wrap the C++ STL in C code?
Open question: The app might pass 'implementation-dependent' message
IDs to glDebugMessageControlARB that don't actually exist in mesa. The
spec doesn't say whether we should give an error or silently ignore
IDs like that.
Also an open question: what to do when apps misbehave and send the
same source/type/message ID tuple to glDebugMessageInsertARB twice or
more, but with different severity levels each time, and then they call
glDebugMessageControlARB on all messages with a certain severity.
Should mesa use the latest-specified severity as the canonical one, or
More information about the mesa-dev