[arch-commits] Commit in mutter/trunk (5 files)
Jan Steffens
heftig at archlinux.org
Sun Mar 8 01:37:08 UTC 2020
Date: Sunday, March 8, 2020 @ 01:37:07
Author: heftig
Revision: 376942
3.36.0
Modified:
mutter/trunk/PKGBUILD
Deleted:
mutter/trunk/0001-EGL-Include-EGL-eglmesaext.h.patch
mutter/trunk/0002-surface-actor-wayland-Do-not-send-frame-callbacks-if.patch
mutter/trunk/0003-xwayland-Do-not-queue-frame-callbacks-unconditionall.patch
mutter/trunk/0004-background-Scale-monitor_area-after-texture-creation.patch
-----------------------------------------------------------------+
0001-EGL-Include-EGL-eglmesaext.h.patch | 68 --------
0002-surface-actor-wayland-Do-not-send-frame-callbacks-if.patch | 33 ---
0003-xwayland-Do-not-queue-frame-callbacks-unconditionall.patch | 64 -------
0004-background-Scale-monitor_area-after-texture-creation.patch | 85 ----------
PKGBUILD | 30 ---
5 files changed, 6 insertions(+), 274 deletions(-)
Deleted: 0001-EGL-Include-EGL-eglmesaext.h.patch
===================================================================
--- 0001-EGL-Include-EGL-eglmesaext.h.patch 2020-03-08 01:34:59 UTC (rev 376941)
+++ 0001-EGL-Include-EGL-eglmesaext.h.patch 2020-03-08 01:37:07 UTC (rev 376942)
@@ -1,68 +0,0 @@
-From 8a521c28a7d38e75478527dffb4fbeef975ea429 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
-Date: Sun, 20 Oct 2019 12:04:31 +0200
-Subject: [PATCH 1/4] EGL: Include EGL/eglmesaext.h
-
-The eglext.h shipped by libglvnd does not include the Mesa extensions,
-unlike the header shipped in Mesa.
-
-Fixes https://gitlab.gnome.org/GNOME/mutter/issues/876
----
- cogl/cogl/meson.build | 2 +-
- src/backends/meta-egl-ext.h | 1 +
- src/backends/meta-egl.c | 1 +
- src/backends/meta-egl.h | 1 +
- 4 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/cogl/cogl/meson.build b/cogl/cogl/meson.build
-index 1057ef955..9a642947d 100644
---- a/cogl/cogl/meson.build
-+++ b/cogl/cogl/meson.build
-@@ -48,7 +48,7 @@ cogl_gl_header_h = configure_file(
- built_headers += [cogl_gl_header_h]
-
- if have_egl
-- cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>'
-+ cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>\n#include <EGL/eglmesaext.h>'
- else
- cogl_egl_includes_string = ''
- endif
-diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h
-index 8705e7d5b..db0b74f76 100644
---- a/src/backends/meta-egl-ext.h
-+++ b/src/backends/meta-egl-ext.h
-@@ -29,6 +29,7 @@
-
- #include <EGL/egl.h>
- #include <EGL/eglext.h>
-+#include <EGL/eglmesaext.h>
-
- /*
- * This is a little different to the tests shipped with EGL implementations,
-diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c
-index 6554be935..fdeff4f77 100644
---- a/src/backends/meta-egl.c
-+++ b/src/backends/meta-egl.c
-@@ -27,6 +27,7 @@
-
- #include <EGL/egl.h>
- #include <EGL/eglext.h>
-+#include <EGL/eglmesaext.h>
- #include <gio/gio.h>
- #include <glib.h>
- #include <glib-object.h>
-diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h
-index f2a816445..4591e7d85 100644
---- a/src/backends/meta-egl.h
-+++ b/src/backends/meta-egl.h
-@@ -28,6 +28,7 @@
-
- #include <EGL/egl.h>
- #include <EGL/eglext.h>
-+#include <EGL/eglmesaext.h>
- #include <glib-object.h>
-
- #define META_EGL_ERROR meta_egl_error_quark ()
---
-2.25.0
-
Deleted: 0002-surface-actor-wayland-Do-not-send-frame-callbacks-if.patch
===================================================================
--- 0002-surface-actor-wayland-Do-not-send-frame-callbacks-if.patch 2020-03-08 01:34:59 UTC (rev 376941)
+++ 0002-surface-actor-wayland-Do-not-send-frame-callbacks-if.patch 2020-03-08 01:37:07 UTC (rev 376942)
@@ -1,33 +0,0 @@
-From 228e0cb9b15ac014e1e33a0c41fdeca8d988664a Mon Sep 17 00:00:00 2001
-From: Robert Mader <robert.mader at posteo.de>
-Date: Mon, 4 Nov 2019 11:45:13 +0100
-Subject: [PATCH 2/4] surface-actor-wayland: Do not send frame callbacks if the
- actor is obscured
-
-`meta_surface_actor_is_obscured` implies that the actor got successfully culled
-out and nothing of it will get painted. This includes that there are no clones,
-no effects etc. In this cases we don't want to send frame callbacks, thus avoiding
-unnecessary client work.
-
-https://gitlab.gnome.org/GNOME/mutter/merge_requests/918
----
- src/compositor/meta-surface-actor-wayland.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/compositor/meta-surface-actor-wayland.c b/src/compositor/meta-surface-actor-wayland.c
-index 1c933d554..e16f53ff2 100644
---- a/src/compositor/meta-surface-actor-wayland.c
-+++ b/src/compositor/meta-surface-actor-wayland.c
-@@ -115,7 +115,8 @@ meta_surface_actor_wayland_paint (ClutterActor *actor)
- {
- MetaSurfaceActorWayland *self = META_SURFACE_ACTOR_WAYLAND (actor);
-
-- if (self->surface)
-+ if (self->surface &&
-+ !meta_surface_actor_is_obscured (META_SURFACE_ACTOR (actor)))
- {
- MetaWaylandCompositor *compositor = self->surface->compositor;
-
---
-2.25.0
-
Deleted: 0003-xwayland-Do-not-queue-frame-callbacks-unconditionall.patch
===================================================================
--- 0003-xwayland-Do-not-queue-frame-callbacks-unconditionall.patch 2020-03-08 01:34:59 UTC (rev 376941)
+++ 0003-xwayland-Do-not-queue-frame-callbacks-unconditionall.patch 2020-03-08 01:37:07 UTC (rev 376942)
@@ -1,64 +0,0 @@
-From b063e2ceff469f7e086fe09113acbce8962899eb Mon Sep 17 00:00:00 2001
-From: Robert Mader <robert.mader at posteo.de>
-Date: Wed, 4 Dec 2019 18:54:42 +0100
-Subject: [PATCH 3/4] xwayland: Do not queue frame callbacks unconditionally
-
-The removed comment is not longer true: XWayland schedules its VSYNC
-from frame callbacks nowadays. Only sending callbacks when the surface
-actor is unobscured makes XWayland throttle its VSYNC to 1/sec,
-reducing repaints in many cases.
-
-Follow up of https://gitlab.gnome.org/GNOME/mutter/merge_requests/918
-
-https://gitlab.gnome.org/GNOME/mutter/merge_requests/956
----
- src/wayland/meta-xwayland.c | 26 --------------------------
- 1 file changed, 26 deletions(-)
-
-diff --git a/src/wayland/meta-xwayland.c b/src/wayland/meta-xwayland.c
-index f1ad12aa3..17d7a4b20 100644
---- a/src/wayland/meta-xwayland.c
-+++ b/src/wayland/meta-xwayland.c
-@@ -876,31 +876,6 @@ xwayland_surface_assigned (MetaWaylandSurfaceRole *surface_role)
- surface_role_class->assigned (surface_role);
- }
-
--static void
--xwayland_surface_commit (MetaWaylandSurfaceRole *surface_role,
-- MetaWaylandPendingState *pending)
--{
-- MetaWaylandSurface *surface =
-- meta_wayland_surface_role_get_surface (surface_role);
-- MetaWaylandSurfaceRoleClass *surface_role_class =
-- META_WAYLAND_SURFACE_ROLE_CLASS (meta_wayland_surface_role_xwayland_parent_class);
--
-- /* For Xwayland windows, throttling frames when the window isn't actually
-- * drawn is less useful, because Xwayland still has to do the drawing sent
-- * from the application - the throttling would only be of sending us damage
-- * messages, so we simplify and send frame callbacks after the next paint of
-- * the screen, whether the window was drawn or not.
-- *
-- * Currently it may take a few frames before we draw the window, for not
-- * completely understood reasons, and in that case, not thottling frame
-- * callbacks to drawing has the happy side effect that we avoid showing the
-- * user the initial black frame from when the window is mapped empty.
-- */
-- meta_wayland_surface_queue_pending_state_frame_callbacks (surface, pending);
--
-- surface_role_class->commit (surface_role, pending);
--}
--
- static MetaWaylandSurface *
- xwayland_surface_get_toplevel (MetaWaylandSurfaceRole *surface_role)
- {
-@@ -965,7 +940,6 @@ meta_wayland_surface_role_xwayland_class_init (MetaWaylandSurfaceRoleXWaylandCla
- object_class->finalize = xwayland_surface_finalize;
-
- surface_role_class->assigned = xwayland_surface_assigned;
-- surface_role_class->commit = xwayland_surface_commit;
- surface_role_class->get_toplevel = xwayland_surface_get_toplevel;
-
- actor_surface_class->get_geometry_scale = xwayland_surface_get_geometry_scale;
---
-2.25.0
-
Deleted: 0004-background-Scale-monitor_area-after-texture-creation.patch
===================================================================
--- 0004-background-Scale-monitor_area-after-texture-creation.patch 2020-03-08 01:34:59 UTC (rev 376941)
+++ 0004-background-Scale-monitor_area-after-texture-creation.patch 2020-03-08 01:37:07 UTC (rev 376942)
@@ -1,85 +0,0 @@
-From a55610509dfd2f4371985678b252090fc0408548 Mon Sep 17 00:00:00 2001
-From: Daniel van Vugt <daniel.van.vugt at canonical.com>
-Date: Mon, 13 Jan 2020 21:02:39 +0800
-Subject: [PATCH 4/4] background: Scale monitor_area after texture creation
-
-Scaling the `monitor_area` before texture creation was just wasting
-megabytes of memory on resolution that the monitor can't display. This
-was also hurting runtime performance.
-
-Example:
-
- Monitor is natively 1920x1080 and scale set to 3.
-
- Before: The monitor texture allocated was 5760x3250x4 = 74.6 MB
- After: The monitor texture allocated is 1920x1080x4 = 8.3 MB
-
-Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/2118
-
-https://gitlab.gnome.org/GNOME/mutter/merge_requests/1004
----
- src/compositor/meta-background.c | 32 +++++++++++++++++++++-----------
- 1 file changed, 21 insertions(+), 11 deletions(-)
-
-diff --git a/src/compositor/meta-background.c b/src/compositor/meta-background.c
-index 4a1ce0396..886ae3f67 100644
---- a/src/compositor/meta-background.c
-+++ b/src/compositor/meta-background.c
-@@ -20,6 +20,7 @@
- #include "config.h"
-
- #include "compositor/meta-background-private.h"
-+#include "backends/meta-backend-private.h"
-
- #include <string.h>
-
-@@ -799,26 +800,35 @@ meta_background_get_texture (MetaBackground *self,
- {
- GError *catch_error = NULL;
- gboolean bare_region_visible = FALSE;
-+ int native_width = monitor_area.width;
-+ int native_height = monitor_area.height;
-+
-+ if (meta_is_stage_views_scaled ())
-+ {
-+ native_width *= monitor_scale;
-+ native_height *= monitor_scale;
-+ }
-+
-+ if (monitor->texture == NULL)
-+ {
-+ CoglOffscreen *offscreen;
-+
-+ monitor->texture = meta_create_texture (native_width,
-+ native_height,
-+ COGL_TEXTURE_COMPONENTS_RGBA,
-+ META_TEXTURE_FLAGS_NONE);
-+ offscreen = cogl_offscreen_new_with_texture (monitor->texture);
-+ monitor->fbo = COGL_FRAMEBUFFER (offscreen);
-+ }
-
- if (self->style != G_DESKTOP_BACKGROUND_STYLE_WALLPAPER)
- {
- monitor_area.x *= monitor_scale;
- monitor_area.y *= monitor_scale;
- monitor_area.width *= monitor_scale;
- monitor_area.height *= monitor_scale;
- }
-
-- if (monitor->texture == NULL)
-- {
-- CoglOffscreen *offscreen;
--
-- monitor->texture = meta_create_texture (monitor_area.width, monitor_area.height,
-- COGL_TEXTURE_COMPONENTS_RGBA,
-- META_TEXTURE_FLAGS_NONE);
-- offscreen = cogl_offscreen_new_with_texture (monitor->texture);
-- monitor->fbo = COGL_FRAMEBUFFER (offscreen);
-- }
--
- if (!cogl_framebuffer_allocate (monitor->fbo, &catch_error))
- {
- /* Texture or framebuffer allocation failed; it's unclear why this happened;
---
-2.25.0
-
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2020-03-08 01:34:59 UTC (rev 376941)
+++ PKGBUILD 2020-03-08 01:37:07 UTC (rev 376942)
@@ -3,7 +3,7 @@
# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
pkgname=mutter
-pkgver=3.34.4
+pkgver=3.36.0
pkgrel=1
pkgdesc="A window manager for GNOME"
url="https://gitlab.gnome.org/GNOME/mutter"
@@ -14,19 +14,12 @@
gnome-settings-daemon libgudev libinput pipewire xorg-server-xwayland)
makedepends=(gobject-introspection git egl-wayland meson xorg-server sysprof)
checkdepends=(xorg-server-xvfb)
+provides=(libmutter-6.so)
groups=(gnome)
install=mutter.install
-_commit=0bce4323c7054794a0c7ec8442335f19bba4e239 # tags/3.34.4^0
-source=("git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit"
- 0001-EGL-Include-EGL-eglmesaext.h.patch
- 0002-surface-actor-wayland-Do-not-send-frame-callbacks-if.patch
- 0003-xwayland-Do-not-queue-frame-callbacks-unconditionall.patch
- 0004-background-Scale-monitor_area-after-texture-creation.patch)
-sha256sums=('SKIP'
- 'fb91e659093f14fa08a0ccb61c913d4a929ab2a175179137bc118c17425a2208'
- '010d19f500e95dd45bc2420cb88b00f48f23c5496320d9ca3d4ddb5ff5b42938'
- 'd797497380f1d7cc8bc691935ada3c6d48dc772daaa035d8271c5f5c097eeaf1'
- '7a8db66713c2a448c131f558ec741ebfda3c85d14b857ea0bb55a5fc7d5be480')
+_commit=6b852e6cb30559b2ab56bb29ccc2e8f95aa89f89 # tags/3.36.0^0
+source=("git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit")
+sha256sums=('SKIP')
pkgver() {
cd $pkgname
@@ -35,18 +28,6 @@
prepare() {
cd $pkgname
-
- # fix build with libglvnd's EGL headers
- git apply -3 ../0001-EGL-Include-EGL-eglmesaext.h.patch
-
- # https://gitlab.gnome.org/GNOME/mutter/merge_requests/918
- git apply -3 ../0002-surface-actor-wayland-Do-not-send-frame-callbacks-if.patch
-
- # https://gitlab.gnome.org/GNOME/mutter/merge_requests/956
- git apply -3 ../0003-xwayland-Do-not-queue-frame-callbacks-unconditionall.patch
-
- # https://gitlab.gnome.org/GNOME/mutter/merge_requests/1004
- git apply -3 ../0004-background-Scale-monitor_area-after-texture-creation.patch
}
build() {
@@ -55,6 +36,7 @@
arch-meson $pkgname build \
-D egl_device=true \
-D wayland_eglstream=true \
+ -D xwayland_initfd=disabled \
-D installed_tests=false
ninja -C build
}
More information about the arch-commits
mailing list