diff options
| author | UjinT34 <41110182+UjinT34@users.noreply.github.com> | 2026-02-04 15:42:43 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-04 12:42:43 +0000 |
| commit | 02ff413002eddd7419ba70eb0f9f92acd2d97ddc (patch) | |
| tree | 921959d061b04257f19fd7c4de8fb5bfde46478c /src/render/Renderer.cpp | |
| parent | 1bc857b12c434b7255119de009a50237856a90b2 (diff) | |
monitor: fix DS deactivation (#13188)
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index c4375be4..1b95ce8a 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -1315,10 +1315,12 @@ void CHyprRenderer::renderMonitor(PHLMONITOR pMonitor, bool commit) { bool shouldTear = pMonitor->updateTearing(); if (pMonitor->attemptDirectScanout()) { + pMonitor->m_directScanoutIsActive = true; return; - } else if (!pMonitor->m_lastScanout.expired()) { + } else if (!pMonitor->m_lastScanout.expired() || pMonitor->m_directScanoutIsActive) { Log::logger->log(Log::DEBUG, "Left a direct scanout."); pMonitor->m_lastScanout.reset(); + pMonitor->m_directScanoutIsActive = false; // reset DRM format, but only if needed since it might modeset if (pMonitor->m_output->state->state().drmFormat != pMonitor->m_prevDrmFormat) |
