From 4618e4851ccac8b5d6e708ea926a25a1c22a3e27 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Sat, 4 Jan 2025 13:02:05 +0300 Subject: Default to unrestricted primary plane scanout --- src/backend/tty.rs | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/backend/tty.rs b/src/backend/tty.rs index 67f99bbc..bf94ed12 100644 --- a/src/backend/tty.rs +++ b/src/backend/tty.rs @@ -1336,21 +1336,29 @@ impl Tty { // Overlay planes are disabled by default as they cause weird performance issues on my // system. - let mut flags = - FrameFlags::ALLOW_PRIMARY_PLANE_SCANOUT | FrameFlags::ALLOW_CURSOR_PLANE_SCANOUT; - { + let flags = { let debug = &self.config.borrow().debug; + + let primary_scanout_flag = if debug.restrict_primary_scanout_to_matching_format { + FrameFlags::ALLOW_PRIMARY_PLANE_SCANOUT + } else { + FrameFlags::ALLOW_PRIMARY_PLANE_SCANOUT_ANY + }; + let mut flags = primary_scanout_flag | FrameFlags::ALLOW_CURSOR_PLANE_SCANOUT; + if debug.enable_overlay_planes { flags.insert(FrameFlags::ALLOW_OVERLAY_PLANE_SCANOUT); } if debug.disable_direct_scanout { - flags.remove(FrameFlags::ALLOW_PRIMARY_PLANE_SCANOUT); + flags.remove(primary_scanout_flag); flags.remove(FrameFlags::ALLOW_OVERLAY_PLANE_SCANOUT); } if debug.disable_cursor_plane { flags.remove(FrameFlags::ALLOW_CURSOR_PLANE_SCANOUT); } - } + + flags + }; // Hand them over to the DRM. let drm_compositor = &mut surface.compositor; -- cgit