import OL mutter-40.9-26.el9_6

This commit is contained in:
eabdullin 2025-11-05 07:42:50 +00:00
parent 54787f40cc
commit 1abee120ae
2 changed files with 64 additions and 2 deletions

View File

@ -0,0 +1,56 @@
From 22689d722ab4e13ab272c3534f5d18a55c94084f Mon Sep 17 00:00:00 2001
From: Daniel van Vugt <daniel.van.vugt@canonical.com>
Date: Wed, 3 Apr 2024 16:58:13 +0800
Subject: [PATCH] compositor/sync-ring: Allow the gpu_fence to be moved
When the compositor inserts two waits in a frame, such as f606a4424a5afc,
the second insertion shouldn't break the ring's state machine as easily
as it does. We can instead merge the two GL waits into one by simply moving
the GL fence to the latest insertion. Each insertion still does its own X11
sync though.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3384
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3685>
---
src/compositor/meta-sync-ring.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/compositor/meta-sync-ring.c b/src/compositor/meta-sync-ring.c
index 8f5d1a0465..1267dd4f2c 100644
--- a/src/compositor/meta-sync-ring.c
+++ b/src/compositor/meta-sync-ring.c
@@ -544,20 +544,29 @@ gboolean
meta_sync_ring_insert_wait (void)
{
MetaSyncRing *ring = meta_sync_ring_get ();
+ MetaSync *sync;
if (!ring)
return FALSE;
g_return_val_if_fail (ring->xdisplay != NULL, FALSE);
- if (ring->current_sync->state != META_SYNC_STATE_READY)
+ sync = ring->current_sync;
+
+ if (sync->state == META_SYNC_STATE_WAITING)
+ {
+ meta_gl_delete_sync (sync->gpu_fence);
+ sync->gpu_fence = 0;
+ sync->state = META_SYNC_STATE_READY;
+ }
+ else if (sync->state != META_SYNC_STATE_READY)
{
meta_warning ("MetaSyncRing: Sync object is not ready -- were events handled properly?");
if (!meta_sync_ring_reboot (ring->xdisplay))
return FALSE;
}
- meta_sync_insert (ring->current_sync);
+ meta_sync_insert (sync);
return TRUE;
}
--
2.50.1

View File

@ -10,7 +10,7 @@
Name: mutter
Version: 40.9
Release: 25%{?dist}.1
Release: 26%{?dist}
Summary: Window and compositing manager based on Clutter
License: GPLv2+
@ -154,6 +154,8 @@ Patch67: double-key-event-handling.patch
# RHEL-101894
Patch68: 0001-compositor-x11-sync-again-at-the-end-of-before_paint.patch
# RHEL-117097
Patch69: 0001-compositor-sync-ring-Allow-the-gpu_fence-to-be-moved.patch
BuildRequires: chrpath
BuildRequires: pango-devel
@ -302,7 +304,11 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop
%{_datadir}/mutter-%{mutter_api_version}/tests
%changelog
* Fri Jul 08 2025 Tomas Pelka <tpelka@redhat.com> - 40.9-25
* Mon Sep 29 2025 Jonas Ådahl <jadahl@redhat.com> - 40.9-26
- Fix input latency regression
Resolves: RHEL-117097
* Tue Jul 08 2025 Tomas Pelka <tpelka@redhat.com> - 40.9-25
- Bumping the release and rebuilding in correct build target
- Backport fix for screen not refreshing properly
Resolves: RHEL-101894