diff options
author | Nicolás Reynolds <fauno@endefensadelsl.org> | 2014-07-16 03:36:29 +0000 |
---|---|---|
committer | Nicolás Reynolds <fauno@endefensadelsl.org> | 2014-07-16 03:36:29 +0000 |
commit | 104850be98b3524ebd11d742ebc2996dd5dd50d4 (patch) | |
tree | 5fb13070d424d203dd8a61af78804c4fe59376dc /extra/xf86-video-intel | |
parent | f60de6664a098734dc7962a6105c175268706e36 (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.patch | 56 | ||||
-rw-r--r-- | extra/xf86-video-intel/PKGBUILD | 17 |
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} |