renderer: proper full occlusion checks for back layer

This commit is contained in:
Vaxry
2023-11-26 15:24:24 +00:00
parent 408d96668d
commit 68e57b7ee3
3 changed files with 12 additions and 1 deletions

View File

@@ -2187,7 +2187,12 @@ bool CHyprRenderer::canSkipBackBufferClear(CMonitor* pMonitor) {
ls->geometry.height != pMonitor->vecSize.y)
continue;
if (!ls->layerSurface->surface->opaque)
// TODO: cache maybe?
CRegion opaque = &ls->layerSurface->surface->opaque_region;
CBox lsbox = {0, 0, ls->layerSurface->surface->current.buffer_width, ls->layerSurface->surface->current.buffer_height};
opaque.invert(lsbox);
if (!opaque.empty())
continue;
return true;