diff --git a/packages/mediacenter/xbmc-pvr/patches/xbmc-pvr-84817e6-998-refreshing_gl_context.patch b/packages/mediacenter/xbmc-pvr/patches/xbmc-pvr-84817e6-998-refreshing_gl_context.patch new file mode 100644 index 0000000000..b65979a302 --- /dev/null +++ b/packages/mediacenter/xbmc-pvr/patches/xbmc-pvr-84817e6-998-refreshing_gl_context.patch @@ -0,0 +1,69 @@ +From e5a69e4602a69c3dc1a1d474d94f20ffd3aeaaae Mon Sep 17 00:00:00 2001 +From: Rainer Hochecker +Date: Sat, 31 Dec 2011 10:17:00 +0100 +Subject: [PATCH] refreshing gl context, still needed or harmful + +--- + xbmc/video/VideoReferenceClock.cpp | 30 +++++++++++++++--------------- + xbmc/windowing/X11/WinSystemX11.cpp | 4 ++-- + 2 files changed, 17 insertions(+), 17 deletions(-) + +diff --git a/xbmc/video/VideoReferenceClock.cpp b/xbmc/video/VideoReferenceClock.cpp +index 076dc3a..c965e9e 100644 +--- a/xbmc/video/VideoReferenceClock.cpp ++++ b/xbmc/video/VideoReferenceClock.cpp +@@ -504,21 +504,21 @@ void CVideoReferenceClock::RunGLX() + return; + + //because of a bug in the nvidia driver, glXWaitVideoSyncSGI breaks when the vblank counter resets +- CLog::Log(LOGDEBUG, "CVideoReferenceClock: Detaching glX context"); +- ReturnV = glXMakeCurrent(m_Dpy, None, NULL); +- if (ReturnV != True) +- { +- CLog::Log(LOGDEBUG, "CVideoReferenceClock: glXMakeCurrent returned %i", ReturnV); +- return; +- } +- +- CLog::Log(LOGDEBUG, "CVideoReferenceClock: Attaching glX context"); +- ReturnV = glXMakeCurrent(m_Dpy, m_Window, m_Context); +- if (ReturnV != True) +- { +- CLog::Log(LOGDEBUG, "CVideoReferenceClock: glXMakeCurrent returned %i", ReturnV); +- return; +- } ++// CLog::Log(LOGDEBUG, "CVideoReferenceClock: Detaching glX context"); ++// ReturnV = glXMakeCurrent(m_Dpy, None, NULL); ++// if (ReturnV != True) ++// { ++// CLog::Log(LOGDEBUG, "CVideoReferenceClock: glXMakeCurrent returned %i", ReturnV); ++// return; ++// } ++// ++// CLog::Log(LOGDEBUG, "CVideoReferenceClock: Attaching glX context"); ++// ReturnV = glXMakeCurrent(m_Dpy, m_Window, m_Context); ++// if (ReturnV != True) ++// { ++// CLog::Log(LOGDEBUG, "CVideoReferenceClock: glXMakeCurrent returned %i", ReturnV); ++// return; ++// } + + m_glXGetVideoSyncSGI(&VblankCount); + +diff --git a/xbmc/windowing/X11/WinSystemX11.cpp b/xbmc/windowing/X11/WinSystemX11.cpp +index d6f7839..78ef875 100644 +--- a/xbmc/windowing/X11/WinSystemX11.cpp ++++ b/xbmc/windowing/X11/WinSystemX11.cpp +@@ -333,8 +333,8 @@ bool CWinSystemX11::RefreshGlxContext() + if(m_glWindow == info.info.x11.window && m_glContext) + { + CLog::Log(LOGERROR, "GLX: Same window as before, refreshing context"); +- glXMakeCurrent(m_dpy, None, NULL); +- glXMakeCurrent(m_dpy, m_glWindow, m_glContext); ++// glXMakeCurrent(m_dpy, None, NULL); ++// glXMakeCurrent(m_dpy, m_glWindow, m_glContext); + return true; + } + +-- +1.7.5.4 +