Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Backport r27281 from trunk to release-0-24-fixes

Don't call QGLContext::doneCurrent() in MythRenderOpenGL.

    * it should be unnecessary given that makeCurrent always checks the
correct context is current to the current thread and following the
threading changes, all of our OpenGL usage should be in the same thread.
    * it breaks playback on certain Windows builds.
    * it has a sizeable performance impact on at least one Intel system.

Closes #9242


git-svn-id: http://svn.mythtv.org/svn/branches/release-0-24-fixes@27292 7dbf422c-18fa-0310-86e9-fd20926502f2
  • Loading branch information...
commit 969ded3a42c05f6558fd6b3dfd8e54e23f270a5d 1 parent 5e4e58f
Mark Kendall authored
Showing with 4 additions and 2 deletions.
  1. +4 −2 mythtv/libs/libmythui/mythrender_opengl.cpp
View
6 mythtv/libs/libmythui/mythrender_opengl.cpp
@@ -138,9 +138,11 @@ void MythRenderOpenGL::makeCurrent()
void MythRenderOpenGL::doneCurrent()
{
+ // we don't explicitly call QGlContext::doneCurrent() as it should be
+ // unnecessary (makeCurrent() will switch contexts as necessary), it
+ // appears to cause performance issues and breaks rendering in certain
+ // situations
m_lock_level--;
- if (m_lock_level == 0)
- QGLContext::doneCurrent();
if (m_lock_level < 0)
VERBOSE(VB_IMPORTANT, LOC_ERR + "Mis-matched calls to makeCurrent()");
m_lock->unlock();
Please sign in to comment.
Something went wrong with that request. Please try again.