From fa3de9b70e95ea8f0ebac16ae02f8f0eba0d5b92 Mon Sep 17 00:00:00 2001 From: Dickby Date: Tue, 5 Sep 2023 16:33:40 +0200 Subject: [PATCH] renderer: Fix blur for passes set to 0. (#3181) --- src/render/OpenGL.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index 9f395d81..30c16339 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -975,13 +975,10 @@ CFramebuffer* CHyprOpenGLImpl::blurMainFramebufferWithDamage(float a, CRegion* o // damage region will be scaled, make a temp CRegion tempDamage{damage}; - wlr_region_scale(tempDamage.pixman(), damage.pixman(), 1.f / 2.f); // when DOWNscaling, we make the region twice as small because it's the TARGET - - drawPass(&m_RenderData.pCurrentMonData->m_shBLUR1, &tempDamage); // and draw - for (int i = 1; i < *PBLURPASSES; ++i) { - wlr_region_scale(tempDamage.pixman(), damage.pixman(), 1.f / (1 << (i + 1))); + for (int i = 1; i <= *PBLURPASSES; ++i) { + wlr_region_scale(tempDamage.pixman(), damage.pixman(), 1.f / (1 << i)); drawPass(&m_RenderData.pCurrentMonData->m_shBLUR1, &tempDamage); // down }