summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/xorg-server/0001-glamor-make-current-in-prepare-paths.patch34
-rw-r--r--libre/xorg-server/PKGBUILD15
2 files changed, 44 insertions, 5 deletions
diff --git a/libre/xorg-server/0001-glamor-make-current-in-prepare-paths.patch b/libre/xorg-server/0001-glamor-make-current-in-prepare-paths.patch
new file mode 100644
index 000000000..6167395d7
--- /dev/null
+++ b/libre/xorg-server/0001-glamor-make-current-in-prepare-paths.patch
@@ -0,0 +1,34 @@
+From 422a9f7f37eb6027fa4d20a4be208978832be6d6 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Wed, 15 Jul 2015 17:54:03 +1000
+Subject: [PATCH] glamor: make current in prepare paths
+
+Lots of the accel paths only make current once they start
+doing someting, so a lot of them call the bail paths without
+make current, which means on PRIME systems for example
+we end up in the wrong context.
+
+Add a prepare pixmap in the prepare fallback path.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90667
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+---
+ glamor/glamor_prepare.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/glamor/glamor_prepare.c b/glamor/glamor_prepare.c
+index 9bfc557..68fb58f 100644
+--- a/glamor/glamor_prepare.c
++++ b/glamor/glamor_prepare.c
+@@ -45,6 +45,8 @@ glamor_prep_pixmap_box(PixmapPtr pixmap, glamor_access_t access, BoxPtr box)
+ if (!GLAMOR_PIXMAP_PRIV_HAS_FBO(priv))
+ return TRUE;
+
++ glamor_make_current(glamor_priv);
++
+ RegionInit(&region, box, 1);
+
+ /* See if it's already mapped */
+--
+2.4.3
+
diff --git a/libre/xorg-server/PKGBUILD b/libre/xorg-server/PKGBUILD
index e294e10b9..c45f3c2a5 100644
--- a/libre/xorg-server/PKGBUILD
+++ b/libre/xorg-server/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 241622 2015-06-30 21:10:11Z heftig $
+# $Id: PKGBUILD 242250 2015-07-15 16:15:55Z lcarlier $
# Maintainer (Arch): AndyRTR <andyrtr@archlinux.org>
# Maintainer (Arch): Jan de Groot <jgc@archlinux.org>
# Maintainer: Márcio Silva <coadde@parabola.nu>
@@ -6,7 +6,7 @@
pkgbase=xorg-server
pkgname=('xorg-server')
pkgver=1.17.2
-pkgrel=2.parabola1
+pkgrel=3.parabola1
arch=('i686' 'x86_64')
license=('custom')
url="http://xorg.freedesktop.org"
@@ -22,7 +22,8 @@ source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig}
xvfb-run.1
0001-dix-Add-unaccelerated-valuators-to-the-ValuatorMask.patch
0002-dix-hook-up-the-unaccelerated-valuator-masks.patch
- "0001-systemd-logind-do-not-rely-on-directed-signals.patch")
+ 0001-systemd-logind-do-not-rely-on-directed-signals.patch
+ 0001-glamor-make-current-in-prepare-paths.patch)
validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C'
'C383B778255613DFDB409D91DB221A6900000011'
'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3')
@@ -32,7 +33,8 @@ sha256sums=('f61120612728f2c5034671d0ca3e2273438c60aba93b3dda4a8aa40e6a257993'
'2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776'
'3dc795002b8763a7d29db94f0af200131da9ce5ffc233bfd8916060f83a8fad7'
'416a1422eed71efcebb1d893de74e7f27e408323a56c4df003db37f5673b3f96'
- '3d7edab3a54d647e7d924b29d29f91b50212f308fcb1853a5aacd3181f58276c')
+ '3d7edab3a54d647e7d924b29d29f91b50212f308fcb1853a5aacd3181f58276c'
+ '793579adbef979088cadc0fd9ce0c24df0455a6936d3de7a9356df537b7d9a81')
prepare() {
cd "${pkgbase}-${pkgver}"
@@ -41,7 +43,10 @@ prepare() {
patch -Np1 -i ../0002-dix-hook-up-the-unaccelerated-valuator-masks.patch
# fix VT switching with kdbus; from upstream
- patch -Np1 -i "../0001-systemd-logind-do-not-rely-on-directed-signals.patch"
+ patch -Np1 -i ../0001-systemd-logind-do-not-rely-on-directed-signals.patch
+
+ # fix FS#45009, merged upstream
+ patch -Np1 -i ../0001-glamor-make-current-in-prepare-paths.patch
# fix os name:
#Build Operating System = OSNAME="--kernel-name --kernel-release --machine" OSVENDOR=""