summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTérence Clastres2019-06-09 03:54:31 +0200
committerTérence Clastres2019-06-09 03:57:38 +0200
commit64ac11a6cb6cce9f24280bd34bb69017f76ad94a (patch)
tree787598c28e5a0a28cfaad0b03929b4b3ac8fdf5c
parent696d668b29b864bc3856135e7c56dfee23f7fdda (diff)
downloadaur-64ac11a6cb6cce9f24280bd34bb69017f76ad94a.tar.gz
Remove merged .patch
-rw-r--r--.SRCINFO4
-rw-r--r--0001-wayland-output-Report-unscaled-size-even-in-logical-.patch147
-rw-r--r--216.patch128
-rw-r--r--PKGBUILD11
4 files changed, 2 insertions, 288 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 562a46ff9342..bf3dadf8a411 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -31,11 +31,7 @@ pkgbase = mutter-781835-workaround
provides = mutter
conflicts = mutter
source = mutter-781835-workaround::git+https://gitlab.gnome.org/GNOME/mutter.git#commit=13a1624c1050c91cd4d8a298f7a10fafe56fe9e5
- source = 0001-wayland-output-Report-unscaled-size-even-in-logical-.patch
- source = 216.patch
sha256sums = SKIP
- sha256sums = 842162bf8cec5d69fdb80c85fd152ddd3db6a9179d11d6f81d486f79814838c0
- sha256sums = ed4f3cf738a3cffdf8a6e1a352bf24d74078c3b26fb9262c5746e0d95b9df756
pkgname = mutter-781835-workaround
diff --git a/0001-wayland-output-Report-unscaled-size-even-in-logical-.patch b/0001-wayland-output-Report-unscaled-size-even-in-logical-.patch
deleted file mode 100644
index be86633bd2a2..000000000000
--- a/0001-wayland-output-Report-unscaled-size-even-in-logical-.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 761000ec8f4b53d0fa06f235be2ed30b80ec5bcb Mon Sep 17 00:00:00 2001
-Message-Id: <761000ec8f4b53d0fa06f235be2ed30b80ec5bcb.1553890447.git.jan.steffens@gmail.com>
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Wed, 27 Mar 2019 00:38:02 +0100
-Subject: [PATCH] wayland/output: Report unscaled size even in logical layout
- mode
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-In physical layout mode, the size and scale of the `wl_output` matches
-the actual monitor:
-
-| Monitor | `wl_output` | `GdkMonitor` |
-| ------------ | ------------ | ------------ |
-| 3840×2160 @1 | 3840×2160 @1 | 3840×2160 @1 |
-| 3840×2160 @2 | 3840×2160 @2 | 1920×1080 @2 |
-
-GTK currently does not support `xdg_output`. To estimate the logical
-output size for `GdkMonitor`, it divides the output's size by its scale
-factor. There might be other legacy clients making the same assumption.
-
-In logical layout mode, mutter currently reports logical geometry for
-the `wl_output`s, but this no longer matches the monitors:
-
-| Monitor | `wl_output` | `GdkMonitor` |
-| -------------- | ------------ | ------------ |
-| 3840×2160 @1 | 3840×2160 @1 | 3840×2160 @1 |
-| 3840×2160 @2 | 1920×1080 @2 | 960×540 @2 |
-| 3840×2160 @1.5 | 2560×1440 @2 | 1280×720 @2 |
-
-This patch changes logical layout mode to multiply the sizes by the
-`wl_output`'s scale factor before sending them to the client. Now the
-sizes match the physical layout mode again:
-
-| Monitor | `wl_output` | `GdkMonitor` |
-| -------------- | ------------ | ------------ |
-| 3840×2160 @1 | 3840×2160 @1 | 3840×2160 @1 |
-| 3840×2160 @2 | 3840×2160 @2 | 1920×1080 @2 |
-| 3840×2160 @1.5 | 5120×2880 @2 | 2560×1440 @2 |
-
-Unfortunately, non-integer output scales are not representable in
-`wl_output`. Still, I believe these values are better than before, and
-the best we can do for clients that do not know about `xdg_output`: The
-size of the output will match the size that a buffer for a fullscreen
-surface should have at the indicated scale.
-
-Fixes part of https://bugzilla.mozilla.org/show_bug.cgi?id=1534089
-https://gitlab.gnome.org/GNOME/mutter/merge_requests/510
----
- src/wayland/meta-wayland-outputs.c | 33 +++++++++++++++++++-----------
- 1 file changed, 21 insertions(+), 12 deletions(-)
-
-diff --git a/src/wayland/meta-wayland-outputs.c b/src/wayland/meta-wayland-outputs.c
-index 7695d86af..712a143a8 100644
---- a/src/wayland/meta-wayland-outputs.c
-+++ b/src/wayland/meta-wayland-outputs.c
-@@ -181,24 +181,36 @@ send_output_events (struct wl_resource *resource,
- MetaLogicalMonitor *old_logical_monitor;
- guint old_mode_flags;
- gint old_scale;
-+ gint scale;
-+ MetaRectangle old_rect;
-+ MetaRectangle rect;
- float old_refresh_rate;
- float refresh_rate;
-
- old_logical_monitor = wayland_output->logical_monitor;
- old_mode_flags = wayland_output->mode_flags;
- old_scale = wayland_output->scale;
-+ old_rect = old_logical_monitor->rect;
- old_refresh_rate = wayland_output->refresh_rate;
-
-+ scale = calculate_wayland_output_scale (logical_monitor);
-+ rect = logical_monitor->rect;
- monitor = pick_main_monitor (logical_monitor);
--
- current_mode = meta_monitor_get_current_mode (monitor);
- refresh_rate = meta_monitor_mode_get_refresh_rate (current_mode);
-
-+ if (meta_is_stage_views_scaled ()) {
-+ old_rect.width *= old_scale;
-+ old_rect.height *= old_scale;
-+ rect.width *= scale;
-+ rect.height *= scale;
-+ }
-+
- gboolean need_done = FALSE;
-
- if (need_all_events ||
-- old_logical_monitor->rect.x != logical_monitor->rect.x ||
-- old_logical_monitor->rect.y != logical_monitor->rect.y ||
-+ old_rect.x != rect.x ||
-+ old_rect.y != rect.y ||
- is_different_rotation (old_logical_monitor, logical_monitor))
- {
- int width_mm, height_mm;
-@@ -229,40 +241,37 @@ send_output_events (struct wl_resource *resource,
- transform = WL_OUTPUT_TRANSFORM_NORMAL;
-
- wl_output_send_geometry (resource,
-- logical_monitor->rect.x,
-- logical_monitor->rect.y,
-+ rect.x,
-+ rect.y,
- width_mm,
- height_mm,
- subpixel_order,
- vendor,
- product,
- transform);
- need_done = TRUE;
- }
-
- preferred_mode = meta_monitor_get_preferred_mode (monitor);
- if (current_mode == preferred_mode)
- mode_flags |= WL_OUTPUT_MODE_PREFERRED;
-
- if (need_all_events ||
-- old_logical_monitor->rect.width != logical_monitor->rect.width ||
-- old_logical_monitor->rect.height != logical_monitor->rect.height ||
-+ old_rect.width != rect.width ||
-+ old_rect.height != rect.height ||
- old_refresh_rate != refresh_rate ||
- old_mode_flags != mode_flags)
- {
- wl_output_send_mode (resource,
- mode_flags,
-- logical_monitor->rect.width,
-- logical_monitor->rect.height,
-+ rect.width,
-+ rect.height,
- (int32_t) (refresh_rate * 1000));
- need_done = TRUE;
- }
-
- if (version >= WL_OUTPUT_SCALE_SINCE_VERSION)
- {
-- int scale;
--
-- scale = calculate_wayland_output_scale (logical_monitor);
- if (need_all_events ||
- old_scale != scale)
- {
---
-2.21.0
-
diff --git a/216.patch b/216.patch
deleted file mode 100644
index ee92895446d8..000000000000
--- a/216.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From 6d8d73beeef3a618c553e89b0b3e532ec3654a30 Mon Sep 17 00:00:00 2001
-From: Daniel van Vugt <daniel.van.vugt@canonical.com>
-Date: Mon, 23 Jul 2018 16:28:56 +0800
-Subject: [PATCH] cogl-winsys-glx: Fix frame notification race/leak
-
-If a second `set_{sync,complete}_pending` was queued before the idle
-handler had flushed the first then one of them would be forgotten.
-It would stay queued forever and never emitted as a notification.
-
-This could happen repeatedly causing a slow leak. But worse still,
-`clutter-stage-cogl` would then have `pending_swaps` permanently stuck
-above zero preventing the presentation timing logic from being used.
-
-The problem is that a boolean can only count to one, but in some cases
-(triple buffering, whether intentional or accidental #334) we need it to
-count to two. So just change booleans to integers and count properly.
-
-https://gitlab.gnome.org/GNOME/mutter/merge_requests/216
----
- cogl/cogl/winsys/cogl-winsys-glx.c | 58 +++++++++++++++---------------
- 1 file changed, 29 insertions(+), 29 deletions(-)
-
-diff --git a/cogl/cogl/winsys/cogl-winsys-glx.c b/cogl/cogl/winsys/cogl-winsys-glx.c
-index 2623d02c6..235cfe81f 100644
---- a/cogl/cogl/winsys/cogl-winsys-glx.c
-+++ b/cogl/cogl/winsys/cogl-winsys-glx.c
-@@ -99,9 +99,9 @@ typedef struct _CoglOnscreenGLX
- CoglOnscreenXlib _parent;
- GLXDrawable glxwin;
- uint32_t last_swap_vsync_counter;
-- gboolean pending_sync_notify;
-- gboolean pending_complete_notify;
-- gboolean pending_resize_notify;
-+ uint32_t pending_sync_notify;
-+ uint32_t pending_complete_notify;
-+ uint32_t pending_resize_notify;
-
- GThread *swap_wait_thread;
- GQueue *swap_wait_queue;
-@@ -347,35 +347,35 @@ flush_pending_notifications_cb (void *data,
- {
- CoglOnscreen *onscreen = COGL_ONSCREEN (framebuffer);
- CoglOnscreenGLX *glx_onscreen = onscreen->winsys;
-- gboolean pending_sync_notify = glx_onscreen->pending_sync_notify;
-- gboolean pending_complete_notify = glx_onscreen->pending_complete_notify;
-
-- /* If swap_region is called then notifying the sync event could
-- * potentially immediately queue a subsequent pending notify so
-- * we need to clear the flag before invoking the callback */
-- glx_onscreen->pending_sync_notify = FALSE;
-- glx_onscreen->pending_complete_notify = FALSE;
--
-- if (pending_sync_notify)
-+ while (glx_onscreen->pending_sync_notify > 0 ||
-+ glx_onscreen->pending_complete_notify > 0 ||
-+ glx_onscreen->pending_resize_notify > 0)
- {
-- CoglFrameInfo *info = g_queue_peek_head (&onscreen->pending_frame_infos);
--
-- _cogl_onscreen_notify_frame_sync (onscreen, info);
-- }
-+ if (glx_onscreen->pending_sync_notify > 0)
-+ {
-+ CoglFrameInfo *info =
-+ g_queue_peek_head (&onscreen->pending_frame_infos);
-
-- if (pending_complete_notify)
-- {
-- CoglFrameInfo *info = g_queue_pop_head (&onscreen->pending_frame_infos);
-+ _cogl_onscreen_notify_frame_sync (onscreen, info);
-+ glx_onscreen->pending_sync_notify--;
-+ }
-
-- _cogl_onscreen_notify_complete (onscreen, info);
-+ if (glx_onscreen->pending_complete_notify > 0)
-+ {
-+ CoglFrameInfo *info =
-+ g_queue_pop_head (&onscreen->pending_frame_infos);
-
-- cogl_object_unref (info);
-- }
-+ _cogl_onscreen_notify_complete (onscreen, info);
-+ cogl_object_unref (info);
-+ glx_onscreen->pending_complete_notify--;
-+ }
-
-- if (glx_onscreen->pending_resize_notify)
-- {
-- _cogl_onscreen_notify_resize (onscreen);
-- glx_onscreen->pending_resize_notify = FALSE;
-+ if (glx_onscreen->pending_resize_notify > 0)
-+ {
-+ _cogl_onscreen_notify_resize (onscreen);
-+ glx_onscreen->pending_resize_notify--;
-+ }
- }
- }
- }
-@@ -417,7 +417,7 @@ set_sync_pending (CoglOnscreen *onscreen)
- NULL);
- }
-
-- glx_onscreen->pending_sync_notify = TRUE;
-+ glx_onscreen->pending_sync_notify++;
- }
-
- static void
-@@ -440,7 +440,7 @@ set_complete_pending (CoglOnscreen *onscreen)
- NULL);
- }
-
-- glx_onscreen->pending_complete_notify = TRUE;
-+ glx_onscreen->pending_complete_notify++;
- }
-
- static void
-@@ -533,7 +533,7 @@ notify_resize (CoglContext *context,
- NULL);
- }
-
-- glx_onscreen->pending_resize_notify = TRUE;
-+ glx_onscreen->pending_resize_notify++;
-
- if (!xlib_onscreen->is_foreign_xwin)
- {
---
-2.18.1
-
diff --git a/PKGBUILD b/PKGBUILD
index d2ab5b4957fe..6ea7f3d40f7c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -22,12 +22,8 @@ provides=(mutter)
conflicts=(mutter)
groups=(gnome)
_commit=13a1624c1050c91cd4d8a298f7a10fafe56fe9e5 # tags/3.32.2^5
-source=("$pkgname::git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit"
- 0001-wayland-output-Report-unscaled-size-even-in-logical-.patch
- 216.patch)
-sha256sums=('SKIP'
- '842162bf8cec5d69fdb80c85fd152ddd3db6a9179d11d6f81d486f79814838c0'
- 'ed4f3cf738a3cffdf8a6e1a352bf24d74078c3b26fb9262c5746e0d95b9df756')
+source=("$pkgname::git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit")
+sha256sums=('SKIP')
pkgver() {
cd $pkgname
@@ -99,9 +95,6 @@ prepare() {
# '
# Commented multiline comment end, remove the # above if disabling the patches
-
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1534089
- patch -Np1 -i ../0001-wayland-output-Report-unscaled-size-even-in-logical-.patch
}
build() {