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 <tiagoma...@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 <tiagoma...@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.steff...@gmail.com> -# Maintainer: Ionut Biru <ib...@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.steff...@gmail.com> +# Maintainer: Ionut Biru <ib...@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 <tiagoma...@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 <tiagoma...@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 <tiagoma...@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.steff...@gmail.com> -# Maintainer: Ionut Biru <ib...@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.steff...@gmail.com> +# Maintainer: Ionut Biru <ib...@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 <tiagoma...@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