summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
authorUjinT34 <41110182+UjinT34@users.noreply.github.com>2025-08-22 20:24:25 +0300
committerGitHub <noreply@github.com>2025-08-22 18:24:25 +0100
commit0d45b277d6c750377b336034b8adc53eae238d91 (patch)
tree0489c239e9ef6ab6e3c1ee70b8baa03d7b5cf2d7 /src/Compositor.cpp
parente95ba5bf5911fbc5e33d10e3f1ae1291f906a19f (diff)
internal: Solitary clients with single subsurface & verbose solitary/tearing/DS checks (#11228)
Adds more verbose checks for various conditional rendering mechanisms
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
index 23b2e366..a2733042 100644
--- a/src/Compositor.cpp
+++ b/src/Compositor.cpp
@@ -2400,8 +2400,11 @@ void CCompositor::setWindowFullscreenState(const PHLWINDOW PWINDOW, SFullscreenS
// send a scanout tranche if we are entering fullscreen, and send a regular one if we aren't.
// ignore if DS is disabled.
- if (*PDIRECTSCANOUT == 1 || (*PDIRECTSCANOUT == 2 && PWINDOW->getContentType() == CONTENT_TYPE_GAME))
- g_pHyprRenderer->setSurfaceScanoutMode(PWINDOW->m_wlSurface->resource(), EFFECTIVE_MODE != FSMODE_NONE ? PMONITOR->m_self.lock() : nullptr);
+ if (*PDIRECTSCANOUT == 1 || (*PDIRECTSCANOUT == 2 && PWINDOW->getContentType() == CONTENT_TYPE_GAME)) {
+ auto surf = PWINDOW->getSolitaryResource();
+ if (surf)
+ g_pHyprRenderer->setSurfaceScanoutMode(surf, EFFECTIVE_MODE != FSMODE_NONE ? PMONITOR->m_self.lock() : nullptr);
+ }
g_pConfigManager->ensureVRR(PMONITOR);
}