diff options
author | vaxerski <[email protected]> | 2023-04-09 17:59:24 +0100 |
---|---|---|
committer | vaxerski <[email protected]> | 2023-04-09 17:59:24 +0100 |
commit | 3ade6c4a9635a035ea243eab780e53d60e6897c3 (patch) | |
tree | d8bcc9ec246c5751b493ed58c8f07038a281789e | |
parent | 046ad79d11dbccc90ade48d63aaa340655d999fb (diff) | |
download | Hyprland-3ade6c4a9635a035ea243eab780e53d60e6897c3.tar.gz Hyprland-3ade6c4a9635a035ea243eab780e53d60e6897c3.zip |
renderer: fixup damage repaintv0.24.1
-rw-r--r-- | src/render/Renderer.cpp | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 75546d6b..b6a8499c 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -815,9 +815,12 @@ void CHyprRenderer::renderMonitor(CMonitor* pMonitor) { // check the damage pixman_region32_t damage; - bool hasChanged = pMonitor->output->needs_frame || !pixman_region32_not_empty(&pMonitor->damage.current); + bool hasChanged = pMonitor->output->needs_frame || pixman_region32_not_empty(&pMonitor->damage.current); int bufferAge; + if (!hasChanged && *PDAMAGETRACKINGMODE != DAMAGE_TRACKING_NONE && pMonitor->forceFullFrames == 0 && damageBlinkCleanup == 0) + return; + if (*PDAMAGETRACKINGMODE == -1) { Debug::log(CRIT, "Damage tracking mode -1 ????"); return; @@ -844,21 +847,6 @@ void CHyprRenderer::renderMonitor(CMonitor* pMonitor) { // we need to cleanup fading out when rendering the appropriate context g_pCompositor->cleanupFadingOut(pMonitor->ID); - if (!hasChanged && *PDAMAGETRACKINGMODE != DAMAGE_TRACKING_NONE && pMonitor->forceFullFrames == 0 && damageBlinkCleanup == 0) { - pixman_region32_fini(&damage); - wlr_output_rollback(pMonitor->output); - - if (*PDAMAGEBLINK || *PVFR == 0) - g_pCompositor->scheduleFrameForMonitor(pMonitor); - - pMonitor->renderingActive = false; - - if (UNLOCK_SC) - wlr_output_lock_software_cursors(pMonitor->output, false); - - return; - } - // if we have no tracking or full tracking, invalidate the entire monitor if (*PDAMAGETRACKINGMODE == DAMAGE_TRACKING_NONE || *PDAMAGETRACKINGMODE == DAMAGE_TRACKING_MONITOR || pMonitor->forceFullFrames > 0 || damageBlinkCleanup > 0 || pMonitor->isMirror() /* why??? */) { |