X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=inline;f=cinelerra-5.1%2Fguicast%2Fbcwindow3d.C;h=d68e935415dd5e4a1f912003df42a8bdc25d3268;hb=e5efe8eb05910bbd7e002f351c5468d894b0c71d;hp=902f65e9b17263b95f4f3ca87f7dc800724700d9;hpb=7ead9f7382846e81c2f8efb25780014e5f8834c3;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/guicast/bcwindow3d.C b/cinelerra-5.1/guicast/bcwindow3d.C index 902f65e9..d68e9354 100644 --- a/cinelerra-5.1/guicast/bcwindow3d.C +++ b/cinelerra-5.1/guicast/bcwindow3d.C @@ -192,9 +192,30 @@ bool BC_WindowBase::glx_make_current(GLXDrawable draw, GLXContext glx_ctxt) return glXMakeContextCurrent(get_display(), draw, draw, glx_ctxt); } +//#define GL_BUG +#ifdef GL_BUG +static void GLAPIENTRY glDebugCallback(GLenum source, GLenum type, + GLuint id, GLenum severity, GLsizei length, const GLchar* message, + const void* userParam) +{ + fprintf(stderr, "GL CALLBACK: %s type = 0x%x, severity = 0x%x, message = %s\n", + ( type == GL_DEBUG_TYPE_ERROR ? "** GL ERROR **" : "" ), + type, severity, message ); +} +#endif + bool BC_WindowBase::glx_make_current(GLXDrawable draw) { - return glx_make_current(draw, glx_win_context); + bool ret = glx_make_current(draw, glx_win_context); +#ifdef GL_BUG + //Enabling OpenGL debug output + glDebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, 0, GL_TRUE); + glEnable(GL_DEBUG_OUTPUT); + glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS); + glDebugMessageCallback(glDebugCallback, 0); + glEnable(GL_DEBUG_OUTPUT); +#endif + return ret; } #endif