]> git.lizzy.rs Git - irrlicht.git/blobdiff - source/Irrlicht/OpenGL/Driver.cpp
Add debug handler
[irrlicht.git] / source / Irrlicht / OpenGL / Driver.cpp
index 7c13e7c70ac832c016e83c4828ff186c15379137..671f338a1b5616947901ad38d69385738e1d6d3d 100644 (file)
@@ -31,6 +31,16 @@ namespace irr
 namespace video\r
 {\r
 \r
+void APIENTRY COpenGL3Driver::debugCb(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam)\r
+{\r
+       ((COpenGL3Driver *)userParam)->debugCb(source, type, id, severity, length, message);\r
+}\r
+\r
+void COpenGL3Driver::debugCb(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message)\r
+{\r
+       printf("%04x %04x %x %x %.*s\n", source, type, id, severity, length, message);\r
+}\r
+\r
 COpenGL3Driver::COpenGL3Driver(const SIrrlichtCreationParameters& params, io::IFileSystem* io, IContextManager* contextManager) :\r
        CNullDriver(io, params.WindowSize), COpenGL3ExtensionHandler(), CacheHandler(0),\r
        Params(params), ResetRenderStates(true), LockRenderStateMode(false), AntiAlias(params.AntiAlias),\r
@@ -52,6 +62,7 @@ COpenGL3Driver::COpenGL3Driver(const SIrrlichtCreationParameters& params, io::IF
        ExposedData = ContextManager->getContext();\r
        ContextManager->activateContext(ExposedData, false);\r
        GL.LoadAllProcedures(ContextManager);\r
+       GL.DebugMessageCallback(debugCb, this);\r
 }\r
 \r
 COpenGL3Driver::~COpenGL3Driver()\r