summaryrefslogtreecommitdiff
path: root/vcl
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 11:39:55 +0000
commit93185f720aab0e58564c050ea3518746d8597803 (patch)
treee3caa5ea277984ea11067d4360fc9f82628e53d5 /vcl
parentef414f70426f5e6b9170a6e3565f30f44bb41254 (diff)
Get Double-buffered context creation working on linux.
Change-Id: I3db1d6792fcd51577f047b82029124ec825ea319
Diffstat (limited to 'vcl')
-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 8c5db0fe9708..26148a607cff 100644
--- a/vcl/source/opengl/OpenGLContext.cxx
+++ b/vcl/source/opengl/OpenGLContext.cxx
@@ -706,9 +706,7 @@ bool GLWindow::HasGLXExtension( const char* name ) const
bool OpenGLContext::ImplInit()
{
if (!m_aGLWin.dpy)
- {
return false;
- }
OpenGLZone aZone;
@@ -722,11 +720,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;
@@ -734,24 +731,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,