Date: Friday, November 8, 2019 @ 23:19:22 Author: heftig Revision: 367225
3.34.1+52+g403d8fcc6-1 Added: mutter/trunk/918.patch Modified: mutter/trunk/PKGBUILD -----------+ 918.patch | 33 +++++++++++++++++++++++++++++++++ PKGBUILD | 9 +++++++-- 2 files changed, 40 insertions(+), 2 deletions(-) Added: 918.patch =================================================================== --- 918.patch (rev 0) +++ 918.patch 2019-11-08 23:19:22 UTC (rev 367225) @@ -0,0 +1,33 @@ +From 1b26e414eccc33e26c464b282739315cb24f8f38 Mon Sep 17 00:00:00 2001 +From: Robert Mader <robert.ma...@posteo.de> +Date: Mon, 4 Nov 2019 11:45:13 +0100 +Subject: [PATCH] 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, 3 insertions(+) + +diff --git a/src/compositor/meta-surface-actor-wayland.c b/src/compositor/meta-surface-actor-wayland.c +index 0b1c4ef01..e0335348f 100644 +--- a/src/compositor/meta-surface-actor-wayland.c ++++ b/src/compositor/meta-surface-actor-wayland.c +@@ -103,6 +103,9 @@ meta_surface_actor_wayland_paint (ClutterActor *actor) + { + MetaSurfaceActorWayland *self = META_SURFACE_ACTOR_WAYLAND (actor); + ++ if (meta_surface_actor_is_obscured (META_SURFACE_ACTOR (actor))) ++ return; ++ + if (self->surface) + { + MetaWaylandCompositor *compositor = self->surface->compositor; +-- +2.22.0 + Modified: PKGBUILD =================================================================== --- PKGBUILD 2019-11-08 22:27:10 UTC (rev 367224) +++ PKGBUILD 2019-11-08 23:19:22 UTC (rev 367225) @@ -3,7 +3,7 @@ # Contributor: Michael Kanis <mkanis_at_gmx_dot_de> pkgname=mutter -pkgver=3.34.1+31+g51f7e8c4d +pkgver=3.34.1+52+g403d8fcc6 pkgrel=1 pkgdesc="A window manager for GNOME" url="https://gitlab.gnome.org/GNOME/mutter" @@ -16,10 +16,12 @@ checkdepends=(xorg-server-xvfb) groups=(gnome) install=mutter.install -_commit=51f7e8c4ddd8772853c3df73dd7cf4f87065dc7a # gnome-3-34 +_commit=403d8fcc6624f5d027dd599c934411e71d248754 # gnome-3-34 source=("git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit" + 918.patch fix-build.diff) sha256sums=('SKIP' + '775fbcd209a170b6ca13326367ef62b8d35acff16019553c40eb24f0684c3495' '28aa24daed161f2566ca2b159beb43285184c533956b851a7eb318de741da935') pkgver() { @@ -30,6 +32,9 @@ prepare() { cd $pkgname + # https://gitlab.gnome.org/GNOME/mutter/merge_requests/918 + git apply -3 ../918.patch + # fix build with libglvnd's EGL headers git apply -3 ../fix-build.diff }