From ea549cfb6415bb967ac7778199084d3ad18b74b7 Mon Sep 17 00:00:00 2001 From: Florian Müllner Date: Feb 11 2024 20:12:40 +0000 Subject: Update to 46.beta --- diff --git a/.gitignore b/.gitignore index 01ecdb5..15db18c 100644 --- a/.gitignore +++ b/.gitignore @@ -216,3 +216,4 @@ mutter-2.31.5.tar.bz2 /mutter-45.1.tar.xz /mutter-45.2.tar.xz /mutter-46.alpha.tar.xz +/mutter-46.beta.tar.xz diff --git a/0001-Revert-x11-Use-input-region-from-frame-window-for-de.patch b/0001-Revert-x11-Use-input-region-from-frame-window-for-de.patch index 303a07d..34f73ee 100644 --- a/0001-Revert-x11-Use-input-region-from-frame-window-for-de.patch +++ b/0001-Revert-x11-Use-input-region-from-frame-window-for-de.patch @@ -1,4 +1,4 @@ -From 299a0480fc04b7befcb768eeb98d187cf12487d1 Mon Sep 17 00:00:00 2001 +From 264bd8c2b7dab84d0f0e11ad6b99d8d5de4c5e08 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Thu, 5 Oct 2023 13:09:46 -0700 Subject: [PATCH] Revert "x11: Use input region from frame window for decorated @@ -15,10 +15,10 @@ Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3068 2 files changed, 10 insertions(+), 26 deletions(-) diff --git a/src/core/frame.c b/src/core/frame.c -index 6b97306a1c..0f2eb349d1 100644 +index 9417685706..2193f1fba2 100644 --- a/src/core/frame.c +++ b/src/core/frame.c -@@ -34,7 +34,6 @@ +@@ -35,7 +35,6 @@ #include "x11/window-props.h" #include @@ -26,7 +26,7 @@ index 6b97306a1c..0f2eb349d1 100644 #define EVENT_MASK (SubstructureRedirectMask | \ StructureNotifyMask | SubstructureNotifyMask | \ -@@ -108,9 +107,6 @@ meta_window_set_frame_xwindow (MetaWindow *window, +@@ -109,9 +108,6 @@ meta_window_set_frame_xwindow (MetaWindow *window, XChangeWindowAttributes (x11_display->xdisplay, frame->xwindow, CWEventMask, &attrs); @@ -36,7 +36,7 @@ index 6b97306a1c..0f2eb349d1 100644 meta_x11_display_register_x_window (x11_display, &frame->xwindow, window); if (window->mapped) -@@ -219,9 +215,6 @@ meta_window_destroy_frame (MetaWindow *window) +@@ -220,9 +216,6 @@ meta_window_destroy_frame (MetaWindow *window) window->reparents_pending += 1; } @@ -44,15 +44,15 @@ index 6b97306a1c..0f2eb349d1 100644 - XShapeSelectInput (x11_display->xdisplay, frame->xwindow, NoEventMask); - XDeleteProperty (x11_display->xdisplay, - window->xwindow, + meta_window_x11_get_xwindow (window), x11_display->atom__MUTTER_NEEDS_FRAME); diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c -index ce6dcf968b..7574948aed 100644 +index 95b6b55a02..a1890bb023 100644 --- a/src/x11/window-x11.c +++ b/src/x11/window-x11.c -@@ -2027,10 +2027,6 @@ meta_window_x11_constructed (GObject *object) - window->hidden = FALSE; +@@ -2087,10 +2087,6 @@ meta_window_x11_constructed (GObject *object) priv->border_width = attrs.border_width; + priv->xclient_leader = None; - g_signal_connect (window, "notify::decorated", - G_CALLBACK (meta_window_x11_update_input_region), @@ -61,7 +61,7 @@ index ce6dcf968b..7574948aed 100644 G_OBJECT_CLASS (meta_window_x11_parent_class)->constructed (object); } -@@ -2314,21 +2310,16 @@ meta_window_x11_update_input_region (MetaWindow *window) +@@ -2386,21 +2382,16 @@ meta_window_x11_update_input_region (MetaWindow *window) g_autoptr (MtkRegion) region = NULL; MetaWindowX11 *window_x11 = META_WINDOW_X11 (window); MetaWindowX11Private *priv = meta_window_x11_get_instance_private (window_x11); @@ -83,23 +83,23 @@ index ce6dcf968b..7574948aed 100644 - } - else - { -- xwindow = window->xwindow; +- xwindow = priv->xwindow; + if (window->input_region) + meta_window_set_input_region (window, NULL); + return; } if (META_X11_DISPLAY_HAS_SHAPE (x11_display)) -@@ -2340,7 +2331,7 @@ meta_window_x11_update_input_region (MetaWindow *window) +@@ -2412,7 +2403,7 @@ meta_window_x11_update_input_region (MetaWindow *window) - meta_x11_error_trap_push (x11_display); + mtk_x11_error_trap_push (x11_display->xdisplay); rects = XShapeGetRectangles (x11_display->xdisplay, - xwindow, -+ window->xwindow, ++ priv->xwindow, ShapeInput, &n_rects, &ordering); -@@ -2394,8 +2385,8 @@ meta_window_x11_update_input_region (MetaWindow *window) +@@ -2466,8 +2457,8 @@ meta_window_x11_update_input_region (MetaWindow *window) client_area.x = 0; client_area.y = 0; diff --git a/0001-kms-cursor-manager-Create-CrtcStateImpls-for-all-act.patch b/0001-kms-cursor-manager-Create-CrtcStateImpls-for-all-act.patch deleted file mode 100644 index 65e90e0..0000000 --- a/0001-kms-cursor-manager-Create-CrtcStateImpls-for-all-act.patch +++ /dev/null @@ -1,58 +0,0 @@ -From af0ca0cdc2a15036ca7f0a90be374e1436c660cf Mon Sep 17 00:00:00 2001 -From: Sebastian Wick -Date: Mon, 22 Jan 2024 12:45:37 +0100 -Subject: [PATCH] kms/cursor-manager: Create CrtcStateImpls for all active - CRTCs - -even if they don't have a cursor plane. This way we can just use the -object. Updating the cursor plane then just looks at the cursor_plane -field to skips updates when there is none. - -Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3254 -Fixes: cc7bca073 ("crtc/kms: Dynamically assign primary and cursor planes") -Part-of: ---- - src/backends/native/meta-kms-cursor-manager.c | 6 ++++-- - src/backends/native/meta-renderer-native.c | 2 -- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/backends/native/meta-kms-cursor-manager.c b/src/backends/native/meta-kms-cursor-manager.c -index 646084877..6873000dc 100644 ---- a/src/backends/native/meta-kms-cursor-manager.c -+++ b/src/backends/native/meta-kms-cursor-manager.c -@@ -333,6 +333,10 @@ maybe_update_cursor_plane (MetaKmsCursorManagerImpl *cursor_manager_impl, - crtc_state_impl = find_crtc_state (cursor_manager_impl, crtc); - g_return_val_if_fail (crtc_state_impl, update); - -+ cursor_plane = crtc_state_impl->cursor_plane; -+ if (!cursor_plane) -+ return update; -+ - if (!crtc_state_impl->cursor_invalidated) - return update; - -@@ -368,8 +372,6 @@ maybe_update_cursor_plane (MetaKmsCursorManagerImpl *cursor_manager_impl, - meta_kms_update_realize (update, impl_device); - } - -- cursor_plane = crtc_state_impl->cursor_plane; -- - if (should_have_cursor) - { - int width, height; -diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c -index 78bde68ff..dc08824c1 100644 ---- a/src/backends/native/meta-renderer-native.c -+++ b/src/backends/native/meta-renderer-native.c -@@ -1128,8 +1128,6 @@ meta_renderer_native_queue_modes_reset (MetaRendererNative *renderer_native) - crtc_kms = META_CRTC_KMS (crtc); - - kms_plane = meta_crtc_kms_get_assigned_cursor_plane (crtc_kms); -- if (!kms_plane) -- continue; - kms_crtc = meta_crtc_kms_get_kms_crtc (crtc_kms); - - clutter_stage_view_get_layout (stage_view, &view_layout); --- -2.43.0 - diff --git a/fix-i686-build.patch b/fix-i686-build.patch deleted file mode 100644 index bf38049..0000000 --- a/fix-i686-build.patch +++ /dev/null @@ -1,90 +0,0 @@ -From cf685defcd0c0026fce7ef1fc3fb79a1f1a1edaa Mon Sep 17 00:00:00 2001 -From: Sebastian Wick -Date: Mon, 8 Jan 2024 15:52:09 +0100 -Subject: [PATCH 1/2] cogl/half-float: Include SSE intrinsics - -The intel intrinsics (including SSE) are only included in the header if -the arch is x86_64 which made the i686 build fail. - -Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3234 -Fixes: 568506ecb ("cogl: Add half float implementation") ---- - cogl/cogl/cogl-half-float.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/cogl/cogl/cogl-half-float.c b/cogl/cogl/cogl-half-float.c -index be2c48b815..ae0af0a6a2 100644 ---- a/cogl/cogl/cogl-half-float.c -+++ b/cogl/cogl/cogl-half-float.c -@@ -31,6 +31,13 @@ - - #include - -+#if defined(__SSE__) || \ -+ (defined(_M_IX86_FP) && (_M_IX86_FP >= 1)) || \ -+ (defined(_M_X64) && !defined(_M_ARM64EC)) -+#include -+#include -+#endif -+ - #include "cogl/cogl-half-float.h" - #include "cogl/cogl-soft-float.h" - -@@ -262,3 +269,4 @@ uint16_t cogl_uint16_div_64k_to_half (uint16_t v) - - return (e << 10) | m; - } -+ --- -2.43.0 - - -From 0096860d715e1842d755b1229b43e848c26fb0cb Mon Sep 17 00:00:00 2001 -From: Sebastian Wick -Date: Mon, 8 Jan 2024 16:08:37 +0100 -Subject: [PATCH 2/2] cogl/bitmap-conversion: Don't break strict-aliasing for - flt_pack/unpack - -Simply reinterpreting the bytes differently is a strict-aliasing -violation if the type of the object isn't char or the target type of the -reinterpretation. None of that is the case here, so we have to resort to -a memcpy. - -Fixes: 60c082caa ("cogl/bitmap-conversion: Support packing fp16 formats") ---- - cogl/cogl/cogl-bitmap-conversion.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/cogl/cogl/cogl-bitmap-conversion.c b/cogl/cogl/cogl-bitmap-conversion.c -index 76efbb9bb9..08ecce6a4d 100644 ---- a/cogl/cogl/cogl-bitmap-conversion.c -+++ b/cogl/cogl/cogl-bitmap-conversion.c -@@ -45,16 +45,23 @@ typedef enum - MEDIUM_TYPE_FLOAT, - } MediumType; - -+_Static_assert (sizeof (uint32_t) == sizeof (GLfloat), -+ "GLfloat doesn't have a size of 4 bytes"); -+ - inline static uint32_t - pack_flt (GLfloat b) - { -- return *(uint32_t *) &b; -+ uint32_t ret; -+ memcpy (&ret, &b, sizeof (uint32_t)); -+ return ret; - } - - inline static GLfloat - unpack_flt (uint32_t b) - { -- return *(GLfloat *) &b; -+ GLfloat ret; -+ memcpy (&ret, &b, sizeof (GLfloat)); -+ return ret; - } - - #define CLAMP_NORM(b) (MAX (MIN ((b), 1.0), 0.0)) --- -2.43.0 - diff --git a/mutter-42.alpha-disable-tegra.patch b/mutter-42.alpha-disable-tegra.patch index 8428db9..3225c8f 100644 --- a/mutter-42.alpha-disable-tegra.patch +++ b/mutter-42.alpha-disable-tegra.patch @@ -1,25 +1,25 @@ -From 2184adca1e510361fd1c425d88ac9a3d458eb76a Mon Sep 17 00:00:00 2001 -From: David King -Date: Fri, 14 Jan 2022 18:18:03 +0000 -Subject: [PATCH] Disable KMS on tegra +From a5c67e0debaa89f7a73452560664cdc5c581ab95 Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Tue, 9 Mar 2021 17:21:59 -0800 +Subject: [PATCH] Test: deny atomic KMS for "tegra" (RHBZ #1936991) -Based on commit 77a40614f08ef10044409f689b9efc3d5f65ff0c. +Signed-off-by: Adam Williamson --- src/backends/native/meta-kms-impl-device-atomic.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backends/native/meta-kms-impl-device-atomic.c b/src/backends/native/meta-kms-impl-device-atomic.c -index bcb41e8ad..bafbc7b8f 100644 +index 35837f7429..ffff7b8e23 100644 --- a/src/backends/native/meta-kms-impl-device-atomic.c +++ b/src/backends/native/meta-kms-impl-device-atomic.c -@@ -1216,6 +1216,7 @@ is_atomic_allowed (const char *driver_name) - "vboxvideo", - "virtio_gpu", +@@ -1352,6 +1352,7 @@ is_atomic_allowed (const char *driver_name) + { + const char *atomic_driver_deny_list[] = { "xlnx", + "tegra", NULL, }; -- -2.34.1 +2.43.0 diff --git a/mutter.spec b/mutter.spec index 7c0e1ac..e38b0ec 100644 --- a/mutter.spec +++ b/mutter.spec @@ -13,7 +13,7 @@ %global tarball_version %%(echo %{version} | tr '~' '.') Name: mutter -Version: 46~alpha +Version: 46~beta Release: %autorelease Summary: Window and compositing manager based on Clutter @@ -44,13 +44,6 @@ Patch: 0001-Revert-x11-Use-input-region-from-frame-window-for-de.patch # which solves the problems reported with #3329 alone Patch: 0001-modified-3329.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=2261842 -# https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3539 -# fixes failure to show anything on virtio-vga without 3D acceleration -Patch: 0001-kms-cursor-manager-Create-CrtcStateImpls-for-all-act.patch - -Patch: fix-i686-build.patch - BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.41.0 BuildRequires: pkgconfig(sm) BuildRequires: pkgconfig(libwacom) diff --git a/sources b/sources index b0ac860..95a0dd2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mutter-46.alpha.tar.xz) = 69e48eda7e93dfbd6ea96271eeeadc9c702b8db2b450aa5b5adcfed8321b36650c27b7f1e72ad74967c33f1c7236749c3f63c441d8e3053c8ac46437753445a2 +SHA512 (mutter-46.beta.tar.xz) = de07c00338e43e5a03b3f45609f95aa4b0d0b4635f0233a950fb738b00f7f96550ed3c39779319a562583a08c15fc8c0cfb30f18683706fc02285a0fa5fee1da