From 382eafb5f350111a430318f49594e6162ad49495 Mon Sep 17 00:00:00 2001 From: Michael Meeks Date: Mon, 16 Nov 2015 18:18:36 +0000 Subject: Get Double-buffered context creation working on linux. Change-Id: I3db1d6792fcd51577f047b82029124ec825ea319 --- vcl/source/opengl/OpenGLContext.cxx | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'vcl/source/opengl') diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx index 4a68ab823bf7..fb50f90f89ad 100644 --- a/vcl/source/opengl/OpenGLContext.cxx +++ b/vcl/source/opengl/OpenGLContext.cxx @@ -705,9 +705,7 @@ bool GLWindow::HasGLXExtension( const char* name ) const bool OpenGLContext::ImplInit() { if (!m_aGLWin.dpy) - { return false; - } OpenGLZone aZone; @@ -721,11 +719,10 @@ bool OpenGLContext::ImplInit() if (!g_vShareList.empty()) pSharedCtx = g_vShareList.front(); -#ifdef DBG_UTIL if (glXCreateContextAttribsARB && !mbRequestLegacyContext) { int best_fbc = -1; - GLXFBConfig* pFBC = getFBConfig(m_aGLWin.dpy, m_aGLWin.win, best_fbc, mbUseDoubleBufferedRendering, true); + GLXFBConfig* pFBC = getFBConfig(m_aGLWin.dpy, m_aGLWin.win, best_fbc, mbUseDoubleBufferedRendering, false); if (!pFBC) return false; @@ -733,24 +730,28 @@ bool OpenGLContext::ImplInit() { int pContextAttribs[] = { +#if 0 // defined(DBG_UTIL) GLX_CONTEXT_MAJOR_VERSION_ARB, 3, GLX_CONTEXT_MINOR_VERSION_ARB, 2, +#endif None + }; m_aGLWin.ctx = glXCreateContextAttribsARB(m_aGLWin.dpy, pFBC[best_fbc], pSharedCtx, /* direct, not via X */ GL_TRUE, pContextAttribs); SAL_INFO_IF(m_aGLWin.ctx, "vcl.opengl", "created a 3.2 core context"); } else SAL_WARN("vcl.opengl", "unable to find correct FBC"); - } -#endif if (!m_aGLWin.ctx) { if (!m_aGLWin.vi) return false; + SAL_WARN("vcl.opengl", "attempting to create a non-double-buffered " + "visual matching the context"); + m_aGLWin.ctx = glXCreateContext(m_aGLWin.dpy, m_aGLWin.vi, pSharedCtx, -- cgit v1.2.3