diff options
author | vaxerski <[email protected]> | 2022-11-29 11:21:03 +0000 |
---|---|---|
committer | vaxerski <[email protected]> | 2022-11-29 11:21:03 +0000 |
commit | 51aebb284531f1203d44841c2872a63da8458978 (patch) | |
tree | f78adcb8bded13177f30303b56fc5fed96471b39 | |
parent | 212f599412904a4f39741084f63a2fd1224b97ba (diff) | |
download | Hyprland-51aebb284531f1203d44841c2872a63da8458978.tar.gz Hyprland-51aebb284531f1203d44841c2872a63da8458978.zip |
fix minor issues with blur w/o new optim
-rw-r--r-- | src/render/OpenGL.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index 5d5f9e55..bee6449b 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -786,12 +786,21 @@ void CHyprOpenGLImpl::renderTextureWithBlur(const CTexture& tex, wlr_box* pBox, renderTexture(tex, pBox, a, round, false, true); return; } + } else { + pixman_region32_init_rect(&inverseOpaque, 0, 0, pBox->width, pBox->height); } // vvv TODO: layered blur fbs? const bool USENEWOPTIMIZE = (*PBLURNEWOPTIMIZE && m_pCurrentWindow && !m_pCurrentWindow->m_bIsFloating && m_RenderData.pCurrentMonData->blurFB.m_cTex.m_iTexID && !g_pCompositor->isWorkspaceSpecial(m_pCurrentWindow->m_iWorkspaceID)); - const auto POUTFB = USENEWOPTIMIZE ? &m_RenderData.pCurrentMonData->blurFB : blurMainFramebufferWithDamage(a, pBox, &inverseOpaque); + CFramebuffer* POUTFB = nullptr; + if (!USENEWOPTIMIZE) { + pixman_region32_translate(&inverseOpaque, pBox->x, pBox->y); + + POUTFB = blurMainFramebufferWithDamage(a, pBox, &inverseOpaque); + } else { + POUTFB = &m_RenderData.pCurrentMonData->blurFB; + } pixman_region32_fini(&inverseOpaque); |