diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index ba2e490b..9f395d81 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -1161,6 +1161,8 @@ void CHyprOpenGLImpl::preBlurForCurrentMonitor() { m_RenderData.pCurrentMonData->blurFBDirty = false; m_RenderData.renderModif = SAVEDRENDERMODIF; + + m_mMonitorRenderResources[m_RenderData.pMonitor].blurFBShouldRender = false; } void CHyprOpenGLImpl::preWindowPass() { diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 8599f8df..d9e14d40 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -484,7 +484,7 @@ void CHyprRenderer::renderAllClientsForWorkspace(CMonitor* pMonitor, CWorkspace* if (!pWorkspace->m_bHasFullscreenWindow || pWorkspace->m_efFullscreenMode != FULLSCREEN_FULL || !PFULLWINDOW || PFULLWINDOW->m_vRealSize.isBeingAnimated() || !PFULLWINDOW->opaque() || pWorkspace->m_vRenderOffset.vec() != Vector2D{}) { - if (!g_pHyprOpenGL->preBlurQueued()) + if (!g_pHyprOpenGL->m_RenderData.pCurrentMonData->blurFBShouldRender) setOccludedForBackLayers(g_pHyprOpenGL->m_RenderData.damage, pWorkspace); for (auto& ls : pMonitor->m_aLayerSurfaceLayers[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND]) {