diff options
Diffstat (limited to 'src/render/pass/Pass.cpp')
| -rw-r--r-- | src/render/pass/Pass.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/render/pass/Pass.cpp b/src/render/pass/Pass.cpp index a2ecddaa..8fdc3049 100644 --- a/src/render/pass/Pass.cpp +++ b/src/render/pass/Pass.cpp @@ -35,14 +35,14 @@ void CRenderPass::simplify() { CRegion newDamage = damage.copy().intersect(CBox{{}, g_pHyprOpenGL->m_RenderData.pMonitor->vecTransformedSize}); for (auto& el : m_vPassElements | std::views::reverse) { - if (newDamage.empty()) { + if (newDamage.empty() && !el->element->undiscardable()) { el->discard = true; continue; } el->elementDamage = newDamage; auto bb1 = el->element->boundingBox(); - if (!bb1) + if (!bb1 || newDamage.empty()) continue; auto bb = bb1->scale(g_pHyprOpenGL->m_RenderData.pMonitor->scale); |
