diff --git a/packages/mediacenter/kodi/package.mk b/packages/mediacenter/kodi/package.mk index e7de4cc612..28fea10b32 100644 --- a/packages/mediacenter/kodi/package.mk +++ b/packages/mediacenter/kodi/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) PKG_NAME="kodi" -PKG_VERSION="251a25f0022bd889012ddd2cdc7f8935020327ba" -PKG_SHA256="fe126835c62dc5eb0e9e909323f6f19667141559850d928219b13ce845793ef3" +PKG_VERSION="fb44880453243477a1ef1857d5555d71b00433cb" +PKG_SHA256="802679294951936148c9a53b0dd3666098c6fa35cb88c4d36c508d0af2a8b6a6" PKG_LICENSE="GPL" PKG_SITE="http://www.kodi.tv" PKG_URL="https://github.com/xbmc/xbmc/archive/${PKG_VERSION}.tar.gz" diff --git a/packages/mediacenter/kodi/patches/kodi-999.99-PR25981-EGL_KHR_partial_update.patch b/packages/mediacenter/kodi/patches/kodi-999.99-PR25981-EGL_KHR_partial_update.patch deleted file mode 100644 index 922231bc02..0000000000 --- a/packages/mediacenter/kodi/patches/kodi-999.99-PR25981-EGL_KHR_partial_update.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 67415370fd17eea05e5d93c3e4562c13145d9cee Mon Sep 17 00:00:00 2001 -From: sarbes -Date: Sun, 17 Nov 2024 22:47:32 +0100 -Subject: [PATCH] Fix rendering for EGL_KHR_partial_update enabled platforms - ---- - xbmc/guilib/GUIWindowManager.cpp | 5 ++++- - xbmc/utils/EGLUtils.cpp | 9 ++++++--- - 2 files changed, 10 insertions(+), 4 deletions(-) - -diff --git a/xbmc/guilib/GUIWindowManager.cpp b/xbmc/guilib/GUIWindowManager.cpp -index 8d7802e4b672e..4f893c4dd3577 100644 ---- a/xbmc/guilib/GUIWindowManager.cpp -+++ b/xbmc/guilib/GUIWindowManager.cpp -@@ -43,6 +43,7 @@ - #include "settings/windows/GUIWindowSettingsCategory.h" - #include "settings/windows/GUIWindowSettingsScreenCalibration.h" - #include "threads/SingleLock.h" -+#include "utils/Geometry.h" - #include "utils/StringUtils.h" - #include "utils/URIUtils.h" - #include "utils/Variant.h" -@@ -1367,7 +1368,6 @@ bool CGUIWindowManager::Render() - m_tracker.CleanMarkedRegions(10); - - CDirtyRegionList dirtyRegions = m_tracker.GetDirtyRegions(); -- CServiceBroker::GetWinSystem()->SetDirtyRegions(dirtyRegions); - - bool hasRendered = false; - // If we visualize the regions we will always render the entire viewport -@@ -1394,6 +1394,9 @@ bool CGUIWindowManager::Render() - if (i.IsEmpty()) - continue; - -+ if (!hasRendered) -+ CServiceBroker::GetWinSystem()->SetDirtyRegions(dirtyRegions); -+ - CServiceBroker::GetWinSystem()->GetGfxContext().SetScissors(i); - RenderPass(); - hasRendered = true; -diff --git a/xbmc/utils/EGLUtils.cpp b/xbmc/utils/EGLUtils.cpp -index 01867354cf363..a7cf808043694 100644 ---- a/xbmc/utils/EGLUtils.cpp -+++ b/xbmc/utils/EGLUtils.cpp -@@ -667,13 +667,16 @@ void CEGLContextUtils::SetDamagedRegions(const CDirtyRegionList& dirtyRegions) - } - else - { -- EGLint height = eglQuerySurface(m_eglDisplay, m_eglSurface, EGL_HEIGHT, &height); -+ EGLint height; -+ eglQuerySurface(m_eglDisplay, m_eglSurface, EGL_HEIGHT, &height); - std::vector rects; - rects.reserve(dirtyRegions.size()); - for (const auto& region : dirtyRegions) - { -- rects.push_back({static_cast(region.x1), static_cast(height - region.y2), -- static_cast(region.Width()), static_cast(region.Height())}); -+ rects.push_back({static_cast(std::round(region.x1)), -+ static_cast(std::round(height - region.y2)), -+ static_cast(std::round(region.Width())), -+ static_cast(std::round(region.Height()))}); - } - m_eglSetDamageRegionKHR(m_eglDisplay, m_eglSurface, reinterpret_cast(rects.data()), - rects.size());