A new version of GLIntercept has been released:
This includes more bug fixes for using a core OpenGL profile, but mostly adds support for the ARB_debug_output extension.
See an example and more screen shots here: GitHub - dtrebilco/glintercept: GLIntercept is a OpenGL function call interceptor for Windows that will intercept and log all OpenGL calls
Here are the options for the plugin
//////////////////////////////////////////////////////////////
// Force setting of debug context via wglCreateContextAttribsARB
// (ARB_debug_output extension is typically only available in a debug context)
//////////////////////////////////////////////////////////////
ForceDebugMode = True;
//////////////////////////////////////////////////////////////
// If debug messages are added to the OpenGL function log
//////////////////////////////////////////////////////////////
LogToFunctionLog = True;
//////////////////////////////////////////////////////////////
// If debug messages are added to the error log
// (and output window in visual studio)
//////////////////////////////////////////////////////////////
LogToErrorLog = True;
//////////////////////////////////////////////////////////////
// If a debugger breakpoint is issued on every debug message
// when running under a debugger. Stepping through some
// assembly (Visual studio - F10) may be necessary to return
// to a valid stack frame to see the code causing the message.
//////////////////////////////////////////////////////////////
BreakOnMessage = False;
//////////////////////////////////////////////////////////////
// Control of what level of debug messages to log.
// Options are the same as specified via glDebugMessageControlARB.
//
// Multiple rules of the syntax:
//
// RuleName = (Source, Type, Severity, Enabled)
// {
// ids = (a,b,c);
// }
//
// Where:
// Source is one of ("Dont Care", "OpenGL","Windows","Shader Compiler","Third Party","Application","Other")
// Type is one of ("Dont Care", "Error", "Deprecated behavior", "Undefined behavior", "Portability", "Performance", "Message")
// Severity is one of ("Dont Care","High","Medium", "Low")
// Enabled is "True" or "False"
// ids [Optional] is a list of the message ids to change
//
// If no rules are specified, the default rules or application
// setting are used.
//////////////////////////////////////////////////////////////
MessageControl
{
// Enable all messages by default
AllMessages = ("Dont Care", "Dont Care", "Dont Care", True)
// Example of disabling an OpenGL message number (note the "Don't Care" for severity)
//DisableRule = ("OpenGL", "Message", "Dont Care", False)
//{
// ids = (131185);
//}
}
You can also hide the ARB_debug_output extension from the application if you want to by also using the extension override settings in the gliConfig.ini file
ExtensionOverride = ("GLExtOverride/GLExtOverride.dll")
{
RemoveExtensions = ("GL_ARB_debug_output");
}
Let me know if any issues.