summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-11-16 18:18:36 +0000
committerMichael Meeks <michael.meeks@collabora.com>2015-12-11 18:49:14 +0000
commit9702a469bf00e3af516d75b3b114f465a3892d47 (patch)
treef79497f95b47520871ee79b688e374ad5ebfc297
parentcdc03a2b41e1042685ac0f36c5abb352b5220f3b (diff)
Get Double-buffered context creation working on linux.
Change-Id: I3db1d6792fcd51577f047b82029124ec825ea319
-rw-r--r--vcl/source/opengl/OpenGLContext.cxx13
1 files changed, 7 insertions, 6 deletions
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,