fix new blur optimizations with non-full damage
This commit is contained in:
parent
e794de1f4d
commit
024752bbe3
3 changed files with 22 additions and 0 deletions
|
|
@ -579,6 +579,25 @@ void CHyprOpenGLImpl::markBlurDirtyForMonitor(CMonitor* pMonitor) {
|
|||
m_mMonitorRenderResources[pMonitor].blurFBDirty = true;
|
||||
}
|
||||
|
||||
void CHyprOpenGLImpl::preRender(CMonitor* pMonitor) {
|
||||
static auto *const PBLURNEWOPTIMIZE = &g_pConfigManager->getConfigValuePtr("decoration:blur_new_optimizations")->intValue;
|
||||
|
||||
if (!*PBLURNEWOPTIMIZE || !m_mMonitorRenderResources[pMonitor].blurFBDirty)
|
||||
return;
|
||||
|
||||
bool has = false;
|
||||
|
||||
for (auto& w : g_pCompositor->m_vWindows) {
|
||||
if (w->m_iWorkspaceID == pMonitor->activeWorkspace && w->m_bIsMapped && !w->m_bHidden && !w->m_bIsFloating) {
|
||||
has = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (has)
|
||||
g_pHyprRenderer->damageMonitor(pMonitor);
|
||||
}
|
||||
|
||||
void CHyprOpenGLImpl::preBlurForCurrentMonitor() {
|
||||
|
||||
// make the fake dmg
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue