diff options
| author | Vaxry <vaxry@vaxry.net> | 2024-02-02 15:36:13 +0000 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2024-02-02 15:36:13 +0000 |
| commit | cf1886ca44c78de3424d96fd18023eb0db759af6 (patch) | |
| tree | ff820814665ab4df6a8915e2226bdc2ae298f8bf /src/render/Renderer.cpp | |
| parent | 341e04a36ce5254315a40c563ea7f5d891b289e8 (diff) | |
renderer: avoid unnecessary gpu resource deletions
fixes #4594
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
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(); |
