summaryrefslogtreecommitdiff
path: root/extra/xf86-video-intel
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-07-16 03:36:29 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-07-16 03:36:29 +0000
commit104850be98b3524ebd11d742ebc2996dd5dd50d4 (patch)
tree5fb13070d424d203dd8a61af78804c4fe59376dc /extra/xf86-video-intel
parentf60de6664a098734dc7962a6105c175268706e36 (diff)
Wed Jul 16 03:32:06 UTC 2014
Diffstat (limited to 'extra/xf86-video-intel')
-rw-r--r--extra/xf86-video-intel/0001-sna-dri2-Check-that-the-window-covers-the-whole-CRTC.patch56
-rw-r--r--extra/xf86-video-intel/PKGBUILD17
2 files changed, 69 insertions, 4 deletions
diff --git a/extra/xf86-video-intel/0001-sna-dri2-Check-that-the-window-covers-the-whole-CRTC.patch b/extra/xf86-video-intel/0001-sna-dri2-Check-that-the-window-covers-the-whole-CRTC.patch
new file mode 100644
index 000000000..4447deb56
--- /dev/null
+++ b/extra/xf86-video-intel/0001-sna-dri2-Check-that-the-window-covers-the-whole-CRTC.patch
@@ -0,0 +1,56 @@
+From e2bfa715a9e115921263d572b9f4c496b550a494 Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue, 10 Jun 2014 21:28:32 +0100
+Subject: [PATCH] sna/dri2: Check that the window covers the whole CRTC before
+ xchg
+
+Fixes TearFre regression from
+
+commit 3932e97057fca16615adaefbc1eb25a0d51a1d8b [2.99.912]
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Mon Jun 9 08:58:15 2014 +0100
+
+ sna/dri2: Allow TearFree flipping to individual CRTC
+
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+---
+ src/sna/sna_display.c | 1 +
+ src/sna/sna_dri2.c | 10 ++++++++++
+ 2 files changed, 11 insertions(+)
+
+diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
+index dcbe622..7169779 100644
+--- a/src/sna/sna_display.c
++++ b/src/sna/sna_display.c
+@@ -332,6 +332,7 @@ static unsigned get_fb(struct sna *sna, struct kgem_bo *bo,
+ assert(bo->refcnt);
+ assert(bo->proxy == NULL);
+ assert(!bo->snoop);
++ assert(8*bo->pitch >= width * scrn->bitsPerPixel);
+ assert(height * bo->pitch <= kgem_bo_size(bo)); /* XXX crtc offset */
+ if (bo->delta) {
+ DBG(("%s: reusing fb=%d for handle=%d\n",
+diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c
+index 1baaf2b..e196464 100644
+--- a/src/sna/sna_dri2.c
++++ b/src/sna/sna_dri2.c
+@@ -1605,6 +1605,16 @@ can_xchg_one(struct sna *sna,
+ return false;
+ }
+
++ if (memcmp(&win->clipList.extents, &crtc->bounds, sizeof(crtc->bounds))) {
++ DBG(("%s: no, window [(%d, %d), (%d, %d)] does not cover CRTC [(%d, %d), (%d, %d)]\n",
++ __FUNCTION__,
++ win->clipList.extents.x1, win->clipList.extents.y1,
++ win->clipList.extents.x2, win->clipList.extents.y2,
++ crtc->bounds.x1, crtc->bounds.y1,
++ crtc->bounds.x2, crtc->bounds.y2));
++ return false;
++ }
++
+ if (sna_crtc_is_transformed(crtc)) {
+ DBG(("%s: no, CRTC is rotated\n", __FUNCTION__));
+ return false;
+--
+2.0.1
+
diff --git a/extra/xf86-video-intel/PKGBUILD b/extra/xf86-video-intel/PKGBUILD
index 7513ad375..f401476b6 100644
--- a/extra/xf86-video-intel/PKGBUILD
+++ b/extra/xf86-video-intel/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 215142 2014-06-14 17:44:53Z andyrtr $
+# $Id: PKGBUILD 216906 2014-07-15 13:26:36Z lcarlier $
# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-intel
pkgver=2.99.912
-pkgrel=1
+pkgrel=2
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
@@ -23,8 +23,17 @@ provides=('xf86-video-intel-uxa' 'xf86-video-intel-sna')
conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16'
'xf86-video-intel-sna' 'xf86-video-intel-uxa' 'xf86-video-i810' 'xf86-video-intel-legacy')
groups=('xorg-drivers' 'xorg')
-source=(${url}/archive/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('7c8ffc492d59f34cac64093deb70717b4d9223cf416ecc6fa016ab2e8bde9501')
+source=(${url}/archive/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ 0001-sna-dri2-Check-that-the-window-covers-the-whole-CRTC.patch)
+sha256sums=('7c8ffc492d59f34cac64093deb70717b4d9223cf416ecc6fa016ab2e8bde9501'
+ '19fe39fa5cd175e14f77d67dbd731f992c8f51161d90b73c63f52604a9eed7ce')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+
+ # fix FS#40863, merged upstream
+ patch -Np1 -i ../0001-sna-dri2-Check-that-the-window-covers-the-whole-CRTC.patch
+}
build() {
cd ${pkgname}-${pkgver}