Update to 46.beta

This commit is contained in:
Florian Müllner
2024-02-11 20:11:00 +01:00
parent f50a176d62
commit ea549cfb64
7 changed files with 28 additions and 182 deletions

1
.gitignore vendored
View File

@@ -216,3 +216,4 @@ mutter-2.31.5.tar.bz2
/mutter-45.1.tar.xz /mutter-45.1.tar.xz
/mutter-45.2.tar.xz /mutter-45.2.tar.xz
/mutter-46.alpha.tar.xz /mutter-46.alpha.tar.xz
/mutter-46.beta.tar.xz

View File

@@ -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 <awilliam@redhat.com> From: Adam Williamson <awilliam@redhat.com>
Date: Thu, 5 Oct 2023 13:09:46 -0700 Date: Thu, 5 Oct 2023 13:09:46 -0700
Subject: [PATCH] Revert "x11: Use input region from frame window for decorated 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(-) 2 files changed, 10 insertions(+), 26 deletions(-)
diff --git a/src/core/frame.c b/src/core/frame.c 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 --- a/src/core/frame.c
+++ b/src/core/frame.c +++ b/src/core/frame.c
@@ -34,7 +34,6 @@ @@ -35,7 +35,6 @@
#include "x11/window-props.h" #include "x11/window-props.h"
#include <X11/Xatom.h> #include <X11/Xatom.h>
@@ -26,7 +26,7 @@ index 6b97306a1c..0f2eb349d1 100644
#define EVENT_MASK (SubstructureRedirectMask | \ #define EVENT_MASK (SubstructureRedirectMask | \
StructureNotifyMask | SubstructureNotifyMask | \ 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, XChangeWindowAttributes (x11_display->xdisplay,
frame->xwindow, CWEventMask, &attrs); frame->xwindow, CWEventMask, &attrs);
@@ -36,7 +36,7 @@ index 6b97306a1c..0f2eb349d1 100644
meta_x11_display_register_x_window (x11_display, &frame->xwindow, window); meta_x11_display_register_x_window (x11_display, &frame->xwindow, window);
if (window->mapped) 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; window->reparents_pending += 1;
} }
@@ -44,15 +44,15 @@ index 6b97306a1c..0f2eb349d1 100644
- XShapeSelectInput (x11_display->xdisplay, frame->xwindow, NoEventMask); - XShapeSelectInput (x11_display->xdisplay, frame->xwindow, NoEventMask);
- -
XDeleteProperty (x11_display->xdisplay, XDeleteProperty (x11_display->xdisplay,
window->xwindow, meta_window_x11_get_xwindow (window),
x11_display->atom__MUTTER_NEEDS_FRAME); x11_display->atom__MUTTER_NEEDS_FRAME);
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c 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 --- a/src/x11/window-x11.c
+++ b/src/x11/window-x11.c +++ b/src/x11/window-x11.c
@@ -2027,10 +2027,6 @@ meta_window_x11_constructed (GObject *object) @@ -2087,10 +2087,6 @@ meta_window_x11_constructed (GObject *object)
window->hidden = FALSE;
priv->border_width = attrs.border_width; priv->border_width = attrs.border_width;
priv->xclient_leader = None;
- g_signal_connect (window, "notify::decorated", - g_signal_connect (window, "notify::decorated",
- G_CALLBACK (meta_window_x11_update_input_region), - 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); 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; g_autoptr (MtkRegion) region = NULL;
MetaWindowX11 *window_x11 = META_WINDOW_X11 (window); MetaWindowX11 *window_x11 = META_WINDOW_X11 (window);
MetaWindowX11Private *priv = meta_window_x11_get_instance_private (window_x11); MetaWindowX11Private *priv = meta_window_x11_get_instance_private (window_x11);
@@ -83,23 +83,23 @@ index ce6dcf968b..7574948aed 100644
- } - }
- else - else
- { - {
- xwindow = window->xwindow; - xwindow = priv->xwindow;
+ if (window->input_region) + if (window->input_region)
+ meta_window_set_input_region (window, NULL); + meta_window_set_input_region (window, NULL);
+ return; + return;
} }
if (META_X11_DISPLAY_HAS_SHAPE (x11_display)) 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, rects = XShapeGetRectangles (x11_display->xdisplay,
- xwindow, - xwindow,
+ window->xwindow, + priv->xwindow,
ShapeInput, ShapeInput,
&n_rects, &n_rects,
&ordering); &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.x = 0;
client_area.y = 0; client_area.y = 0;

View File

@@ -1,58 +0,0 @@
From af0ca0cdc2a15036ca7f0a90be374e1436c660cf Mon Sep 17 00:00:00 2001
From: Sebastian Wick <sebastian.wick@redhat.com>
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: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3539>
---
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

View File

@@ -1,90 +0,0 @@
From cf685defcd0c0026fce7ef1fc3fb79a1f1a1edaa Mon Sep 17 00:00:00 2001
From: Sebastian Wick <sebastian.wick@redhat.com>
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 <math.h>
+#if defined(__SSE__) || \
+ (defined(_M_IX86_FP) && (_M_IX86_FP >= 1)) || \
+ (defined(_M_X64) && !defined(_M_ARM64EC))
+#include <xmmintrin.h>
+#include <emmintrin.h>
+#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 <sebastian.wick@redhat.com>
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

View File

@@ -1,25 +1,25 @@
From 2184adca1e510361fd1c425d88ac9a3d458eb76a Mon Sep 17 00:00:00 2001 From a5c67e0debaa89f7a73452560664cdc5c581ab95 Mon Sep 17 00:00:00 2001
From: David King <amigadave@amigadave.com> From: Adam Williamson <awilliam@redhat.com>
Date: Fri, 14 Jan 2022 18:18:03 +0000 Date: Tue, 9 Mar 2021 17:21:59 -0800
Subject: [PATCH] Disable KMS on tegra Subject: [PATCH] Test: deny atomic KMS for "tegra" (RHBZ #1936991)
Based on commit 77a40614f08ef10044409f689b9efc3d5f65ff0c. Signed-off-by: Adam Williamson <awilliam@redhat.com>
--- ---
src/backends/native/meta-kms-impl-device-atomic.c | 1 + src/backends/native/meta-kms-impl-device-atomic.c | 1 +
1 file changed, 1 insertion(+) 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 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 --- a/src/backends/native/meta-kms-impl-device-atomic.c
+++ b/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) @@ -1352,6 +1352,7 @@ is_atomic_allowed (const char *driver_name)
"vboxvideo", {
"virtio_gpu", const char *atomic_driver_deny_list[] = {
"xlnx", "xlnx",
+ "tegra", + "tegra",
NULL, NULL,
}; };
-- --
2.34.1 2.43.0

View File

@@ -13,7 +13,7 @@
%global tarball_version %%(echo %{version} | tr '~' '.') %global tarball_version %%(echo %{version} | tr '~' '.')
Name: mutter Name: mutter
Version: 46~alpha Version: 46~beta
Release: %autorelease Release: %autorelease
Summary: Window and compositing manager based on Clutter 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 # which solves the problems reported with #3329 alone
Patch: 0001-modified-3329.patch 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(gobject-introspection-1.0) >= 1.41.0
BuildRequires: pkgconfig(sm) BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(libwacom) BuildRequires: pkgconfig(libwacom)

View File

@@ -1 +1 @@
SHA512 (mutter-46.alpha.tar.xz) = 69e48eda7e93dfbd6ea96271eeeadc9c702b8db2b450aa5b5adcfed8321b36650c27b7f1e72ad74967c33f1c7236749c3f63c441d8e3053c8ac46437753445a2 SHA512 (mutter-46.beta.tar.xz) = de07c00338e43e5a03b3f45609f95aa4b0d0b4635f0233a950fb738b00f7f96550ed3c39779319a562583a08c15fc8c0cfb30f18683706fc02285a0fa5fee1da