diff options
| author | Vaxry <vaxry@vaxry.net> | 2023-12-06 20:17:40 +0000 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2023-12-06 20:17:40 +0000 |
| commit | 5489f9f07a73c6b5b97702731a5092463a01fb5b (patch) | |
| tree | b2040b943097a4a768673eb5de7922d7efff9eff /src/render/OpenGL.cpp | |
| parent | d74607e414dcd16911089a6d4b6aeb661c880923 (diff) | |
renderer: use xray for background blur on small() surfaces
ref #4050
Diffstat (limited to 'src/render/OpenGL.cpp')
| -rw-r--r-- | src/render/OpenGL.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index fde04c5f..845b3caa 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -583,14 +583,14 @@ void CHyprOpenGLImpl::renderRect(CBox* box, const CColor& col, int round) { renderRectWithDamage(box, col, &m_RenderData.damage, round); } -void CHyprOpenGLImpl::renderRectWithBlur(CBox* box, const CColor& col, int round, float blurA) { +void CHyprOpenGLImpl::renderRectWithBlur(CBox* box, const CColor& col, int round, float blurA, bool xray) { if (m_RenderData.damage.empty()) return; CRegion damage{m_RenderData.damage}; damage.intersect(*box); - CFramebuffer* POUTFB = blurMainFramebufferWithDamage(blurA, &damage); + CFramebuffer* POUTFB = xray ? &m_RenderData.pCurrentMonData->blurFB : blurMainFramebufferWithDamage(blurA, &damage); m_RenderData.currentFB->bind(); @@ -1233,6 +1233,9 @@ void CHyprOpenGLImpl::preRender(CMonitor* pMonitor) { if (pWindow->m_sAdditionalConfigData.forceNoBlur) return false; + if (pWindow->m_pWLSurface.small() && !pWindow->m_pWLSurface.m_bFillIgnoreSmall) + return true; + const auto PSURFACE = pWindow->m_pWLSurface.wlr(); const auto PWORKSPACE = g_pCompositor->getWorkspaceByID(pWindow->m_iWorkspaceID); |
