diff options
| author | vaxerski <vaxry@vaxry.net> | 2025-01-01 21:35:42 +0100 |
|---|---|---|
| committer | vaxerski <vaxry@vaxry.net> | 2025-01-01 22:55:21 +0100 |
| commit | 9f3c9ac01a9a6ecef74429dc9a1dea250ef43c50 (patch) | |
| tree | 9124ae6ce398f4daf2ed1cf56e3d33b07df77c1a /src/render/pass/Pass.cpp | |
| parent | 7f177fa1cf3d8ede2841cdbbbdb7acaf27e40d57 (diff) | |
pass: mark crucial elements as undiscardable
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); |
