bugle-checks - check for errors that OpenGL defines as undefined behaviour
While OpenGL checks for many error conditions, there are some for which the
specification does not define behaviour. These instances are usually in
performance-critical paths where error-checking would impact on performance.
This filter-set checks for some of these conditions. Because of the high cost
of the checks, it is only intended for debugging.
The checks that are made are for:
•Sourcing vertex or index data from unreadable
•Sourcing vertex or index data from outside the
valid range of a vertex buffer object.
•Calling glVertex from outside
•Setting client state from inside
•Specifying indices to glDrawRangeElements
that are outside the specified range.
When an error is detected, a warning is written to standard error and the call
is ignored. There is currently no convenient way to trap the errors in a
debugger (you can, however, find the message in the bugle source and set a
breakpoint on the appropriate line).
Due to the design of C, there is no way to perfectly reliably check for vertex
array overruns, although memory debuggers can help.
Mesa, up to 6.5.1, has a bug that prevents generic vertex attributes from being
bugle is written and maintained by Bruce Merry.