[arch-commits] Commit in mutter/repos (10 files)
Jan Steffens
heftig at archlinux.org
Thu Oct 6 19:34:27 UTC 2016
Date: Thursday, October 6, 2016 @ 19:34:26
Author: heftig
Revision: 277853
archrelease: copy trunk to testing-i686, testing-x86_64
Added:
mutter/repos/testing-i686/MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch
(from rev 277852, mutter/trunk/MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch)
mutter/repos/testing-i686/MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch
(from rev 277852, mutter/trunk/MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch)
mutter/repos/testing-i686/PKGBUILD
(from rev 277852, mutter/trunk/PKGBUILD)
mutter/repos/testing-i686/meta-monitor-config-Look-at-an-outputs-modes-direc.patch
(from rev 277852, mutter/trunk/meta-monitor-config-Look-at-an-outputs-modes-direc.patch)
mutter/repos/testing-x86_64/MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch
(from rev 277852, mutter/trunk/MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch)
mutter/repos/testing-x86_64/MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch
(from rev 277852, mutter/trunk/MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch)
mutter/repos/testing-x86_64/PKGBUILD
(from rev 277852, mutter/trunk/PKGBUILD)
mutter/repos/testing-x86_64/meta-monitor-config-Look-at-an-outputs-modes-direc.patch
(from rev 277852, mutter/trunk/meta-monitor-config-Look-at-an-outputs-modes-direc.patch)
Deleted:
mutter/repos/testing-i686/PKGBUILD
mutter/repos/testing-x86_64/PKGBUILD
-------------------------------------------------------------------------+
/PKGBUILD | 126 ++++++++++
testing-i686/MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch | 34 ++
testing-i686/MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch | 30 ++
testing-i686/PKGBUILD | 51 ----
testing-i686/meta-monitor-config-Look-at-an-outputs-modes-direc.patch | 99 +++++++
testing-x86_64/MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch | 34 ++
testing-x86_64/MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch | 30 ++
testing-x86_64/PKGBUILD | 51 ----
testing-x86_64/meta-monitor-config-Look-at-an-outputs-modes-direc.patch | 99 +++++++
9 files changed, 452 insertions(+), 102 deletions(-)
Copied: mutter/repos/testing-i686/MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch (from rev 277852, mutter/trunk/MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch)
===================================================================
--- testing-i686/MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch (rev 0)
+++ testing-i686/MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch 2016-10-06 19:34:26 UTC (rev 277853)
@@ -0,0 +1,34 @@
+From 9b1af7d4e4ebf7b5462edeb956b0651b6bf1178b Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos at gmail.com>
+Date: Thu, 6 Oct 2016 15:57:01 +0200
+Subject: [PATCH] MetaMonitorManagerKms: stop accounting for mode flags in
+ refresh rates
+
+This isn't technically needed and, in fact, makes us default to
+interlaced modes in some cases which isn't desirable.
+
+Note that X doesn't account for these flags either for its mode
+refresh rates.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=772176
+---
+ src/backends/native/meta-monitor-manager-kms.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c
+index 9215c1a..9e3fad2 100644
+--- a/src/backends/native/meta-monitor-manager-kms.c
++++ b/src/backends/native/meta-monitor-manager-kms.c
+@@ -423,10 +423,6 @@ drm_mode_vrefresh (const drmModeModeInfo *mode)
+ refresh = (mode->clock * 1000000LL) / mode->htotal;
+ refresh += (mode->vtotal / 2);
+ refresh /= mode->vtotal;
+- if (mode->flags & DRM_MODE_FLAG_INTERLACE)
+- refresh *= 2;
+- if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
+- refresh /= 2;
+ if (mode->vscan > 1)
+ refresh /= mode->vscan;
+ refresh /= 1000.0;
+--
+2.9.3
\ No newline at end of file
Copied: mutter/repos/testing-i686/MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch (from rev 277852, mutter/trunk/MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch)
===================================================================
--- testing-i686/MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch (rev 0)
+++ testing-i686/MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch 2016-10-06 19:34:26 UTC (rev 277853)
@@ -0,0 +1,30 @@
+From 90883dd28faf5a0d0a72a59ef6a835616ce28c8c Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos at gmail.com>
+Date: Thu, 6 Oct 2016 16:00:40 +0200
+Subject: [PATCH] MetaMonitorManagerKms: stop taking drmModeModeInfo.vrefresh
+ directly
+
+As in the previous commit, this value already has mode flags baked in
+and we can always get the value we need by computing it ourselves.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=772176
+---
+ src/backends/native/meta-monitor-manager-kms.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c
+index 9e3fad2..94d0b4f 100644
+--- a/src/backends/native/meta-monitor-manager-kms.c
++++ b/src/backends/native/meta-monitor-manager-kms.c
+@@ -414,9 +414,6 @@ drm_mode_vrefresh (const drmModeModeInfo *mode)
+ {
+ float refresh = 0.0;
+
+- if (mode->vrefresh > 0.0)
+- return mode->vrefresh;
+-
+ if (mode->htotal > 0 && mode->vtotal > 0)
+ {
+ /* Calculate refresh rate in milliHz first for extra precision. */
+--
+2.9.3
\ No newline at end of file
Deleted: testing-i686/PKGBUILD
===================================================================
--- testing-i686/PKGBUILD 2016-10-06 19:33:25 UTC (rev 277852)
+++ testing-i686/PKGBUILD 2016-10-06 19:34:26 UTC (rev 277853)
@@ -1,51 +0,0 @@
-# $Id$
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
-# Maintainer: Ionut Biru <ibiru at archlinux.org>
-# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
-
-pkgname=mutter
-pkgver=3.22.0+2+g0281570
-pkgrel=1
-pkgdesc="A window manager for GNOME"
-url="https://git.gnome.org/browse/mutter"
-arch=(i686 x86_64)
-license=(GPL)
-depends=(dconf gobject-introspection-runtime gsettings-desktop-schemas
- libcanberra startup-notification zenity libsm gnome-desktop upower
- libxkbcommon-x11 gnome-settings-daemon libgudev libinput)
-makedepends=(intltool gobject-introspection git gnome-common)
-groups=(gnome)
-options=(!emptydirs)
-_commit=028157081c0428bac1269078dd7f3360e3810824
-source=("git://git.gnome.org/mutter#commit=$_commit")
-sha256sums=('SKIP')
-
-pkgver() {
- cd $pkgname
- git describe --tags | sed 's/-/+/g'
-}
-
-prepare() {
- cd $pkgname
- NOCONFIGURE=1 ./autogen.sh
-}
-
-build() {
- cd $pkgname
-
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --libexecdir=/usr/lib/$pkgname --disable-static \
- --disable-schemas-compile --enable-compile-warnings=minimum
-
- #https://bugzilla.gnome.org/show_bug.cgi?id=655517
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' cogl/libtool
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' clutter/libtool
-
- make
-}
-
-package() {
- cd $pkgname
- make DESTDIR="$pkgdir" install
-}
Copied: mutter/repos/testing-i686/PKGBUILD (from rev 277852, mutter/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD (rev 0)
+++ testing-i686/PKGBUILD 2016-10-06 19:34:26 UTC (rev 277853)
@@ -0,0 +1,63 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
+# Maintainer: Ionut Biru <ibiru at archlinux.org>
+# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
+
+pkgname=mutter
+pkgver=3.22.0+3+ga9e386e
+pkgrel=1
+pkgdesc="A window manager for GNOME"
+url="https://git.gnome.org/browse/mutter"
+arch=(i686 x86_64)
+license=(GPL)
+depends=(dconf gobject-introspection-runtime gsettings-desktop-schemas
+ libcanberra startup-notification zenity libsm gnome-desktop upower
+ libxkbcommon-x11 gnome-settings-daemon libgudev libinput)
+makedepends=(intltool gobject-introspection git gnome-common)
+groups=(gnome)
+options=(!emptydirs)
+_commit=a9e386e1af76b3110780291462a329ca7ef9ffad # master
+source=("git://git.gnome.org/mutter#commit=$_commit"
+ MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch
+ MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch
+ meta-monitor-config-Look-at-an-outputs-modes-direc.patch)
+sha256sums=('SKIP'
+ 'fcae247f030ca2b79b42601499493f18765fb37c77e2be9e1dbb1e0865f064f3'
+ '543d51bc471fae78e402f33d7606e8806b95874ed40ba910fea5b807f47ef30a'
+ '4bbfa7f5f397c1c462ea3ef0018dc5c93c7a2afc28a3253eed6ade17ebde72fc')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ cd $pkgname
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=772176
+ patch -Np1 -i ../MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch
+ patch -Np1 -i ../MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch
+ patch -Np1 -i ../meta-monitor-config-Look-at-an-outputs-modes-direc.patch
+
+ NOCONFIGURE=1 ./autogen.sh
+}
+
+build() {
+ cd $pkgname
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --libexecdir=/usr/lib/$pkgname --disable-static \
+ --disable-schemas-compile --enable-compile-warnings=minimum \
+ --enable-gtk-doc
+
+ #https://bugzilla.gnome.org/show_bug.cgi?id=655517
+ sed -e 's/ -shared / -Wl,-O1,--as-needed\0/g' \
+ -i {.,cogl,clutter}/libtool
+
+ make
+}
+
+package() {
+ cd $pkgname
+ make DESTDIR="$pkgdir" install
+}
Copied: mutter/repos/testing-i686/meta-monitor-config-Look-at-an-outputs-modes-direc.patch (from rev 277852, mutter/trunk/meta-monitor-config-Look-at-an-outputs-modes-direc.patch)
===================================================================
--- testing-i686/meta-monitor-config-Look-at-an-outputs-modes-direc.patch (rev 0)
+++ testing-i686/meta-monitor-config-Look-at-an-outputs-modes-direc.patch 2016-10-06 19:34:26 UTC (rev 277853)
@@ -0,0 +1,99 @@
+From 86a0a8c64d468bf92c646db0fb6fa89bb48f1878 Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos at gmail.com>
+Date: Thu, 6 Oct 2016 16:04:49 +0200
+Subject: [PATCH] meta-monitor-config: Look at an output's modes directly when
+ assigning
+
+Going through the global mode pool and then checking if the mode is
+available for a given output is pointless work since we can look at
+the output's available modes directly.
+
+This implicitly changes how we choose the default mode since, instead
+of relying on the sort order of the global modes array, we now rely on
+the sort order of the output modes array. Still not ideal, but at
+least it makes more sense since the global array is essentially
+unsorted.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=772176
+---
+ src/backends/meta-monitor-config.c | 27 +++++----------------------
+ 1 file changed, 5 insertions(+), 22 deletions(-)
+
+diff --git a/src/backends/meta-monitor-config.c b/src/backends/meta-monitor-config.c
+index fde615d..f691e54 100644
+--- a/src/backends/meta-monitor-config.c
++++ b/src/backends/meta-monitor-config.c
+@@ -1802,19 +1802,6 @@ crtc_can_drive_output (MetaCRTC *crtc,
+ }
+
+ static gboolean
+-output_supports_mode (MetaOutput *output,
+- MetaMonitorMode *mode)
+-{
+- unsigned int i;
+-
+- for (i = 0; i < output->n_modes; i++)
+- if (output->modes[i] == mode)
+- return TRUE;
+-
+- return FALSE;
+-}
+-
+-static gboolean
+ crtc_assignment_assign (CrtcAssignment *assign,
+ MetaCRTC *crtc,
+ MetaMonitorMode *mode,
+@@ -1828,9 +1815,6 @@ crtc_assignment_assign (CrtcAssignment *assign,
+ if (!crtc_can_drive_output (crtc, output))
+ return FALSE;
+
+- if (!output_supports_mode (output, mode))
+- return FALSE;
+-
+ if ((crtc->all_transforms & (1 << transform)) == 0)
+ return FALSE;
+
+@@ -1917,10 +1901,9 @@ static gboolean
+ real_assign_crtcs (CrtcAssignment *assignment,
+ unsigned int output_num)
+ {
+- MetaMonitorMode *modes;
+ MetaCRTC *crtcs;
+ MetaOutput *outputs;
+- unsigned int n_crtcs, n_modes, n_outputs;
++ unsigned int n_crtcs, n_outputs;
+ MetaOutputKey *output_key;
+ MetaOutputConfig *output_config;
+ unsigned int i;
+@@ -1936,7 +1919,7 @@ real_assign_crtcs (CrtcAssignment *assignment,
+ return real_assign_crtcs (assignment, output_num + 1);
+
+ meta_monitor_manager_get_resources (assignment->manager,
+- &modes, &n_modes,
++ NULL, NULL,
+ &crtcs, &n_crtcs,
+ &outputs, &n_outputs);
+
+@@ -1953,9 +1936,9 @@ real_assign_crtcs (CrtcAssignment *assignment,
+ MetaOutput *output = find_output_by_key (outputs, n_outputs, output_key);
+ unsigned int j;
+
+- for (j = 0; j < n_modes; j++)
++ for (j = 0; j < output->n_modes; j++)
+ {
+- MetaMonitorMode *mode = &modes[j];
++ MetaMonitorMode *mode = output->modes[j];
+ int width, height;
+
+ if (meta_monitor_transform_is_rotated (output_config->transform))
+@@ -1980,7 +1963,7 @@ real_assign_crtcs (CrtcAssignment *assignment,
+ output_config->transform,
+ pass);
+
+- if (crtc_assignment_assign (assignment, crtc, &modes[j],
++ if (crtc_assignment_assign (assignment, crtc, mode,
+ output_config->rect.x, output_config->rect.y,
+ output_config->transform,
+ output))
+--
+2.9.3
\ No newline at end of file
Copied: mutter/repos/testing-x86_64/MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch (from rev 277852, mutter/trunk/MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch)
===================================================================
--- testing-x86_64/MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch (rev 0)
+++ testing-x86_64/MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch 2016-10-06 19:34:26 UTC (rev 277853)
@@ -0,0 +1,34 @@
+From 9b1af7d4e4ebf7b5462edeb956b0651b6bf1178b Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos at gmail.com>
+Date: Thu, 6 Oct 2016 15:57:01 +0200
+Subject: [PATCH] MetaMonitorManagerKms: stop accounting for mode flags in
+ refresh rates
+
+This isn't technically needed and, in fact, makes us default to
+interlaced modes in some cases which isn't desirable.
+
+Note that X doesn't account for these flags either for its mode
+refresh rates.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=772176
+---
+ src/backends/native/meta-monitor-manager-kms.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c
+index 9215c1a..9e3fad2 100644
+--- a/src/backends/native/meta-monitor-manager-kms.c
++++ b/src/backends/native/meta-monitor-manager-kms.c
+@@ -423,10 +423,6 @@ drm_mode_vrefresh (const drmModeModeInfo *mode)
+ refresh = (mode->clock * 1000000LL) / mode->htotal;
+ refresh += (mode->vtotal / 2);
+ refresh /= mode->vtotal;
+- if (mode->flags & DRM_MODE_FLAG_INTERLACE)
+- refresh *= 2;
+- if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
+- refresh /= 2;
+ if (mode->vscan > 1)
+ refresh /= mode->vscan;
+ refresh /= 1000.0;
+--
+2.9.3
\ No newline at end of file
Copied: mutter/repos/testing-x86_64/MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch (from rev 277852, mutter/trunk/MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch)
===================================================================
--- testing-x86_64/MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch (rev 0)
+++ testing-x86_64/MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch 2016-10-06 19:34:26 UTC (rev 277853)
@@ -0,0 +1,30 @@
+From 90883dd28faf5a0d0a72a59ef6a835616ce28c8c Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos at gmail.com>
+Date: Thu, 6 Oct 2016 16:00:40 +0200
+Subject: [PATCH] MetaMonitorManagerKms: stop taking drmModeModeInfo.vrefresh
+ directly
+
+As in the previous commit, this value already has mode flags baked in
+and we can always get the value we need by computing it ourselves.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=772176
+---
+ src/backends/native/meta-monitor-manager-kms.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c
+index 9e3fad2..94d0b4f 100644
+--- a/src/backends/native/meta-monitor-manager-kms.c
++++ b/src/backends/native/meta-monitor-manager-kms.c
+@@ -414,9 +414,6 @@ drm_mode_vrefresh (const drmModeModeInfo *mode)
+ {
+ float refresh = 0.0;
+
+- if (mode->vrefresh > 0.0)
+- return mode->vrefresh;
+-
+ if (mode->htotal > 0 && mode->vtotal > 0)
+ {
+ /* Calculate refresh rate in milliHz first for extra precision. */
+--
+2.9.3
\ No newline at end of file
Deleted: testing-x86_64/PKGBUILD
===================================================================
--- testing-x86_64/PKGBUILD 2016-10-06 19:33:25 UTC (rev 277852)
+++ testing-x86_64/PKGBUILD 2016-10-06 19:34:26 UTC (rev 277853)
@@ -1,51 +0,0 @@
-# $Id$
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
-# Maintainer: Ionut Biru <ibiru at archlinux.org>
-# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
-
-pkgname=mutter
-pkgver=3.22.0+2+g0281570
-pkgrel=1
-pkgdesc="A window manager for GNOME"
-url="https://git.gnome.org/browse/mutter"
-arch=(i686 x86_64)
-license=(GPL)
-depends=(dconf gobject-introspection-runtime gsettings-desktop-schemas
- libcanberra startup-notification zenity libsm gnome-desktop upower
- libxkbcommon-x11 gnome-settings-daemon libgudev libinput)
-makedepends=(intltool gobject-introspection git gnome-common)
-groups=(gnome)
-options=(!emptydirs)
-_commit=028157081c0428bac1269078dd7f3360e3810824
-source=("git://git.gnome.org/mutter#commit=$_commit")
-sha256sums=('SKIP')
-
-pkgver() {
- cd $pkgname
- git describe --tags | sed 's/-/+/g'
-}
-
-prepare() {
- cd $pkgname
- NOCONFIGURE=1 ./autogen.sh
-}
-
-build() {
- cd $pkgname
-
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --libexecdir=/usr/lib/$pkgname --disable-static \
- --disable-schemas-compile --enable-compile-warnings=minimum
-
- #https://bugzilla.gnome.org/show_bug.cgi?id=655517
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' cogl/libtool
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' clutter/libtool
-
- make
-}
-
-package() {
- cd $pkgname
- make DESTDIR="$pkgdir" install
-}
Copied: mutter/repos/testing-x86_64/PKGBUILD (from rev 277852, mutter/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD (rev 0)
+++ testing-x86_64/PKGBUILD 2016-10-06 19:34:26 UTC (rev 277853)
@@ -0,0 +1,63 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
+# Maintainer: Ionut Biru <ibiru at archlinux.org>
+# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
+
+pkgname=mutter
+pkgver=3.22.0+3+ga9e386e
+pkgrel=1
+pkgdesc="A window manager for GNOME"
+url="https://git.gnome.org/browse/mutter"
+arch=(i686 x86_64)
+license=(GPL)
+depends=(dconf gobject-introspection-runtime gsettings-desktop-schemas
+ libcanberra startup-notification zenity libsm gnome-desktop upower
+ libxkbcommon-x11 gnome-settings-daemon libgudev libinput)
+makedepends=(intltool gobject-introspection git gnome-common)
+groups=(gnome)
+options=(!emptydirs)
+_commit=a9e386e1af76b3110780291462a329ca7ef9ffad # master
+source=("git://git.gnome.org/mutter#commit=$_commit"
+ MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch
+ MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch
+ meta-monitor-config-Look-at-an-outputs-modes-direc.patch)
+sha256sums=('SKIP'
+ 'fcae247f030ca2b79b42601499493f18765fb37c77e2be9e1dbb1e0865f064f3'
+ '543d51bc471fae78e402f33d7606e8806b95874ed40ba910fea5b807f47ef30a'
+ '4bbfa7f5f397c1c462ea3ef0018dc5c93c7a2afc28a3253eed6ade17ebde72fc')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ cd $pkgname
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=772176
+ patch -Np1 -i ../MetaMonitorManagerKms-stop-accounting-for-mode-fla.patch
+ patch -Np1 -i ../MetaMonitorManagerKms-stop-taking-drmModeModeInfov.patch
+ patch -Np1 -i ../meta-monitor-config-Look-at-an-outputs-modes-direc.patch
+
+ NOCONFIGURE=1 ./autogen.sh
+}
+
+build() {
+ cd $pkgname
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --libexecdir=/usr/lib/$pkgname --disable-static \
+ --disable-schemas-compile --enable-compile-warnings=minimum \
+ --enable-gtk-doc
+
+ #https://bugzilla.gnome.org/show_bug.cgi?id=655517
+ sed -e 's/ -shared / -Wl,-O1,--as-needed\0/g' \
+ -i {.,cogl,clutter}/libtool
+
+ make
+}
+
+package() {
+ cd $pkgname
+ make DESTDIR="$pkgdir" install
+}
Copied: mutter/repos/testing-x86_64/meta-monitor-config-Look-at-an-outputs-modes-direc.patch (from rev 277852, mutter/trunk/meta-monitor-config-Look-at-an-outputs-modes-direc.patch)
===================================================================
--- testing-x86_64/meta-monitor-config-Look-at-an-outputs-modes-direc.patch (rev 0)
+++ testing-x86_64/meta-monitor-config-Look-at-an-outputs-modes-direc.patch 2016-10-06 19:34:26 UTC (rev 277853)
@@ -0,0 +1,99 @@
+From 86a0a8c64d468bf92c646db0fb6fa89bb48f1878 Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos at gmail.com>
+Date: Thu, 6 Oct 2016 16:04:49 +0200
+Subject: [PATCH] meta-monitor-config: Look at an output's modes directly when
+ assigning
+
+Going through the global mode pool and then checking if the mode is
+available for a given output is pointless work since we can look at
+the output's available modes directly.
+
+This implicitly changes how we choose the default mode since, instead
+of relying on the sort order of the global modes array, we now rely on
+the sort order of the output modes array. Still not ideal, but at
+least it makes more sense since the global array is essentially
+unsorted.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=772176
+---
+ src/backends/meta-monitor-config.c | 27 +++++----------------------
+ 1 file changed, 5 insertions(+), 22 deletions(-)
+
+diff --git a/src/backends/meta-monitor-config.c b/src/backends/meta-monitor-config.c
+index fde615d..f691e54 100644
+--- a/src/backends/meta-monitor-config.c
++++ b/src/backends/meta-monitor-config.c
+@@ -1802,19 +1802,6 @@ crtc_can_drive_output (MetaCRTC *crtc,
+ }
+
+ static gboolean
+-output_supports_mode (MetaOutput *output,
+- MetaMonitorMode *mode)
+-{
+- unsigned int i;
+-
+- for (i = 0; i < output->n_modes; i++)
+- if (output->modes[i] == mode)
+- return TRUE;
+-
+- return FALSE;
+-}
+-
+-static gboolean
+ crtc_assignment_assign (CrtcAssignment *assign,
+ MetaCRTC *crtc,
+ MetaMonitorMode *mode,
+@@ -1828,9 +1815,6 @@ crtc_assignment_assign (CrtcAssignment *assign,
+ if (!crtc_can_drive_output (crtc, output))
+ return FALSE;
+
+- if (!output_supports_mode (output, mode))
+- return FALSE;
+-
+ if ((crtc->all_transforms & (1 << transform)) == 0)
+ return FALSE;
+
+@@ -1917,10 +1901,9 @@ static gboolean
+ real_assign_crtcs (CrtcAssignment *assignment,
+ unsigned int output_num)
+ {
+- MetaMonitorMode *modes;
+ MetaCRTC *crtcs;
+ MetaOutput *outputs;
+- unsigned int n_crtcs, n_modes, n_outputs;
++ unsigned int n_crtcs, n_outputs;
+ MetaOutputKey *output_key;
+ MetaOutputConfig *output_config;
+ unsigned int i;
+@@ -1936,7 +1919,7 @@ real_assign_crtcs (CrtcAssignment *assignment,
+ return real_assign_crtcs (assignment, output_num + 1);
+
+ meta_monitor_manager_get_resources (assignment->manager,
+- &modes, &n_modes,
++ NULL, NULL,
+ &crtcs, &n_crtcs,
+ &outputs, &n_outputs);
+
+@@ -1953,9 +1936,9 @@ real_assign_crtcs (CrtcAssignment *assignment,
+ MetaOutput *output = find_output_by_key (outputs, n_outputs, output_key);
+ unsigned int j;
+
+- for (j = 0; j < n_modes; j++)
++ for (j = 0; j < output->n_modes; j++)
+ {
+- MetaMonitorMode *mode = &modes[j];
++ MetaMonitorMode *mode = output->modes[j];
+ int width, height;
+
+ if (meta_monitor_transform_is_rotated (output_config->transform))
+@@ -1980,7 +1963,7 @@ real_assign_crtcs (CrtcAssignment *assignment,
+ output_config->transform,
+ pass);
+
+- if (crtc_assignment_assign (assignment, crtc, &modes[j],
++ if (crtc_assignment_assign (assignment, crtc, mode,
+ output_config->rect.x, output_config->rect.y,
+ output_config->transform,
+ output))
+--
+2.9.3
\ No newline at end of file
More information about the arch-commits
mailing list