1
0
Fork 0

Sync to main & Add mr3674

Signed-off-by: Mingi Sung <me@saltyming.pe.kr>
This commit is contained in:
Mingi Sung 2024-04-08 19:54:49 +09:00
parent 75b40e6b70
commit 8b9a80453d
Signed by: sungmg
GPG key ID: 41BAFD6FFD8036C5
3 changed files with 85 additions and 10 deletions

View file

@ -1,6 +1,6 @@
pkgbase = mutter-performance
pkgdesc = A window manager for GNOME | Attempts to improve performances with non-upstreamed merge-requests and frequent stable branch resync
pkgver = 46.0+r19+gc0ae617b3
pkgver = 46.0+r20+g34d79b9dd
pkgrel = 1
epoch = 1
url = https://gitlab.gnome.org/GNOME/mutter
@ -72,14 +72,21 @@ pkgbase = mutter-performance
depends = systemd-libs
depends = wayland
depends = xorg-xwayland
source = git+https://gitlab.gnome.org/GNOME/mutter.git#commit=c0ae617b3ff86f5a4ad773d606e7bcdd7672139e
source = git+https://gitlab.gnome.org/GNOME/mutter.git#commit=34d79b9ddf2b2455dbde78372e7355e8b6f95e96
source = mr1441.patch
source = mr3304.patch
source = mr3373.patch
b2sums = 118cb0ba40f1a14163ea848c49487869bccfaa8f1cdb0423005e22ecea53c90154ff4512c2a885af7eaca0b170819ea19aeca1b03a34c1e2ae04dce702ce83e7
source = mr3674.patch
sha256sums = d7cac80530a925413d6f69139fa0aa77468d547e5a71de4d04fbb5e69cf09a70
sha256sums = e5b85a47436cfac47f76f53e540f3e36886e65a991b1dbecbf5756eb062a8ea6
sha256sums = 90261cf4b2133ed3bf8c9c9e37c72ce816e5b0d75b55ae0c3899f7ef5809d593
sha256sums = 3e1f07b696ad37b1c639a524c092cd9259444bc6156542901ccaec936bea240f
sha256sums = 414e1dad3e527fc6f9ef6e5006700d97738bef6de9b087af9e232a2084b0ac88
b2sums = c3b55a34d1abd3a3e381593741ee0ffc14feebcb8725da92e99829452638abbe596e5149f9ac1460b01b8e5f40c84848ca8b8cedbfe28c8359208ccf7cbb9f74
b2sums = 75fb3ae1d4149c1cd82ae5cc23335e6d517665ba0527c6cbe112585706fa5191fb67e3264402527229185c0f6fc6638bb604243bb7c8123b7acc0b0a4379ba7e
b2sums = f53c0a7cf5fe400e83379be5e3694dba0668e0917b5bf29c485cef802660e38176ab856118a030ddc87bd49b75d0dd6f9e0d8f32d2b2ef27ebb1737f8914bf21
b2sums = 71f10db4ebe04a787940c7048131eac67cffd3ec8e415cfc961b8041b881f272650581e9df273e2a8da23a50ec9151c790dc2d5ecc0309ab2847a22f8c922c9c
b2sums = 12b128e46f47c077b504f2707a8b0ba407617b50c267f785982dc62ab3045202abe1cce3dfbb49b80fb27b70c2ff5dc188155c93cf7131bebda2e4f1f77077f6
pkgname = mutter-performance
groups = gnome

View file

@ -11,8 +11,8 @@
### PACKAGE OPTIONS
## MERGE REQUESTS SELECTION
# Merge Requests List: ('579' '1441' '3304' '3373')
_merge_requests_to_use=('1441' '3304' '3373')
# Merge Requests List: ('579' '1441' '3304' '3373' '3674')
_merge_requests_to_use=('1441' '3304' '3373' '3674')
## Disable building the DOCS package (Enabled if not set)
# Remember to unset this variable when producing .SRCINFO
@ -32,7 +32,7 @@ else
pkgname=(mutter-performance mutter-performance-docs)
fi
epoch=1
pkgver=46.0+r19+gc0ae617b3
pkgver=46.0+r20+g34d79b9dd
pkgrel=1
pkgdesc="A window manager for GNOME | Attempts to improve performances with non-upstreamed merge-requests and frequent stable branch resync"
url="https://gitlab.gnome.org/GNOME/mutter"
@ -111,15 +111,22 @@ makedepends=(
if [ -n "$_enable_check" ]; then
checkdepends=(gnome-session xorg-server-xvfb pipewire-session-manager python-dbusmock zenity)
fi
_commit=c0ae617b3ff86f5a4ad773d606e7bcdd7672139e # tags/46.0^19
_commit=34d79b9ddf2b2455dbde78372e7355e8b6f95e96 # tags/46.0^20
source=("git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit"
'mr1441.patch'
'mr3304.patch'
'mr3373.patch')
b2sums=('118cb0ba40f1a14163ea848c49487869bccfaa8f1cdb0423005e22ecea53c90154ff4512c2a885af7eaca0b170819ea19aeca1b03a34c1e2ae04dce702ce83e7'
'mr3373.patch'
'mr3674.patch')
sha256sums=('d7cac80530a925413d6f69139fa0aa77468d547e5a71de4d04fbb5e69cf09a70'
'e5b85a47436cfac47f76f53e540f3e36886e65a991b1dbecbf5756eb062a8ea6'
'90261cf4b2133ed3bf8c9c9e37c72ce816e5b0d75b55ae0c3899f7ef5809d593'
'3e1f07b696ad37b1c639a524c092cd9259444bc6156542901ccaec936bea240f'
'414e1dad3e527fc6f9ef6e5006700d97738bef6de9b087af9e232a2084b0ac88')
b2sums=('c3b55a34d1abd3a3e381593741ee0ffc14feebcb8725da92e99829452638abbe596e5149f9ac1460b01b8e5f40c84848ca8b8cedbfe28c8359208ccf7cbb9f74'
'75fb3ae1d4149c1cd82ae5cc23335e6d517665ba0527c6cbe112585706fa5191fb67e3264402527229185c0f6fc6638bb604243bb7c8123b7acc0b0a4379ba7e'
'f53c0a7cf5fe400e83379be5e3694dba0668e0917b5bf29c485cef802660e38176ab856118a030ddc87bd49b75d0dd6f9e0d8f32d2b2ef27ebb1737f8914bf21'
'71f10db4ebe04a787940c7048131eac67cffd3ec8e415cfc961b8041b881f272650581e9df273e2a8da23a50ec9151c790dc2d5ecc0309ab2847a22f8c922c9c')
'71f10db4ebe04a787940c7048131eac67cffd3ec8e415cfc961b8041b881f272650581e9df273e2a8da23a50ec9151c790dc2d5ecc0309ab2847a22f8c922c9c'
'12b128e46f47c077b504f2707a8b0ba407617b50c267f785982dc62ab3045202abe1cce3dfbb49b80fb27b70c2ff5dc188155c93cf7131bebda2e4f1f77077f6')
pkgver() {
cd $_pkgname
@ -218,6 +225,14 @@ prepare() {
# Comment: This fix cursor stutter.
pick_mr '3373' 'mr3373.patch' 'patch'
# Title: drm-buffer-gbm: Do not call ensure_fb_id from lock_front
# Author: Michel Dänzer <mdaenzer@redhat.com>
# URL: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3674
# Type: 3
# Status: Reviewed and to be merged.
# Comment: This closes #3389
pick_mr '3674' 'mr3674.patch' 'patch'
# Title: Draft: Dynamic triple/double buffering (v4)
# Author: Daniel van Vugt <daniel.van.vugt@canonical.com>
# URL: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1441

53
mr3674.patch Normal file
View file

@ -0,0 +1,53 @@
From 6fd0a273b669414aa1fcfd4cf193d8e6c9cd2773 Mon Sep 17 00:00:00 2001
From: Michel Dänzer <mdaenzer@redhat.com>
Date: Wed, 27 Mar 2024 18:16:17 +0100
Subject: [PATCH] drm-buffer-gbm: Do not call ensure_fb_id from lock_front
When preparing a frame for scanout on a secondary GPU, calling
meta_drm_buffer_gbm_ensure_fb_id for the primary GPU device is
unnecessary and potentially harmful.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3389
---
src/backends/native/meta-drm-buffer-gbm.c | 2 +-
src/backends/native/meta-onscreen-native.c | 11 +++++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/backends/native/meta-drm-buffer-gbm.c b/src/backends/native/meta-drm-buffer-gbm.c
index 161d43957d4..4ca8fb0f462 100644
--- a/src/backends/native/meta-drm-buffer-gbm.c
+++ b/src/backends/native/meta-drm-buffer-gbm.c
@@ -186,7 +186,7 @@ lock_front_buffer (MetaDrmBufferGbm *buffer_gbm,
return FALSE;
}
- return meta_drm_buffer_gbm_ensure_fb_id (META_DRM_BUFFER (buffer_gbm), error);
+ return TRUE;
}
MetaDrmBufferGbm *
diff --git a/src/backends/native/meta-onscreen-native.c b/src/backends/native/meta-onscreen-native.c
index e40b03f3eaf..f2bae4f00d6 100644
--- a/src/backends/native/meta-onscreen-native.c
+++ b/src/backends/native/meta-onscreen-native.c
@@ -1373,6 +1373,17 @@ meta_onscreen_native_swap_buffers_with_damage (CoglOnscreen *onscreen,
#endif
}
+ if (!meta_drm_buffer_ensure_fb_id (onscreen_native->gbm.next_fb, &error))
+ {
+ g_warning ("Failed to ensure KMS FB ID on %s: %s",
+ meta_device_file_get_path (render_device_file),
+ error->message);
+
+ frame_info->flags |= COGL_FRAME_INFO_FLAG_SYMBOLIC;
+ meta_onscreen_native_notify_frame_complete (onscreen);
+ return;
+ }
+
/*
* If we changed EGL context, cogl will have the wrong idea about what is
* current, making it fail to set it when it needs to. Avoid that by making
--
GitLab