From cf1886ca44c78de3424d96fd18023eb0db759af6 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Fri, 2 Feb 2024 15:36:13 +0000 Subject: renderer: avoid unnecessary gpu resource deletions fixes #4594 --- src/render/Renderer.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/render/Renderer.cpp') diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 38b5d151..68df3418 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -1767,6 +1767,9 @@ bool CHyprRenderer::applyMonitorRule(CMonitor* pMonitor, SMonitorRule* pMonitorR return true; } + const auto WAS10B = pMonitor->enabled10bit; + const auto OLDRES = pMonitor->vecPixelSize; + // Needed in case we are switching from a custom modeline to a standard mode pMonitor->customDrmMode = {}; bool autoScale = false; @@ -2107,8 +2110,8 @@ bool CHyprRenderer::applyMonitorRule(CMonitor* pMonitor, SMonitorRule* pMonitorR pMonitor->updateMatrix(); - // update renderer (here because it will call rollback, so we cannot do this before committing) - g_pHyprOpenGL->destroyMonitorResources(pMonitor); + if (WAS10B != pMonitor->enabled10bit || OLDRES != pMonitor->vecPixelSize) + g_pHyprOpenGL->destroyMonitorResources(pMonitor); // updato wlroots g_pCompositor->arrangeMonitors(); -- cgit v1.2.3