summaryrefslogtreecommitdiff
path: root/extra/mesa
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-03-15 00:04:20 -0700
committerroot <root@rshg054.dnsready.net>2013-03-15 00:04:20 -0700
commiteebfa6ebe1522831767019e496b0c094b2e15a5c (patch)
tree935fa3d9bddae6c8181a7025516e24875e35f9d2 /extra/mesa
parent3ff20dedff636571ad0faa4736af5b23e4623ffe (diff)
Fri Mar 15 00:04:19 PDT 2013
Diffstat (limited to 'extra/mesa')
-rw-r--r--extra/mesa/PKGBUILD11
-rw-r--r--extra/mesa/git-fixes.patch52
2 files changed, 61 insertions, 2 deletions
diff --git a/extra/mesa/PKGBUILD b/extra/mesa/PKGBUILD
index 51a0e0fe4..aeaff94ec 100644
--- a/extra/mesa/PKGBUILD
+++ b/extra/mesa/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 178616 2013-02-25 20:44:59Z andyrtr $
+# $Id: PKGBUILD 180010 2013-03-14 16:21:55Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgbase=mesa
pkgname=('ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri' 'mesa' 'mesa-libgl')
pkgver=9.1
-pkgrel=2
+pkgrel=3
arch=('i686' 'x86_64')
makedepends=('python2' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'libxxf86vm' 'libxdamage'
'libvdpau' 'wayland' 'llvm-amdgpu-snapshot')
@@ -14,13 +14,20 @@ license=('custom')
options=('!libtool')
source=(ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2
#ftp://ftp.freedesktop.org/pub/mesa/9.1/MesaLib-9.1-rc2.tar.bz2 # for RC testing
+ git-fixes.patch
LICENSE)
md5sums=('d3891e02215422e120271d976ff1947e'
+ 'c3e45fe7287bbf8f620c209a872330dc'
'5c65a0fe315dd347e09b1f2826a1df5a')
build() {
cd ${srcdir}/?esa-*
+ # pick 2 commits from master to
+ # fix a nouveau crash: http://cgit.freedesktop.org/mesa/mesa/commit/?id=17f1cb1d99e66227d1e05925ef937643f5c1089a
+ # and intel kwin slowness http://cgit.freedesktop.org/mesa/mesa/commit/?id=e062a4187d8ea518a39c913ae7562cf1d8ac3205
+ patch -Np1 -i ${srcdir}/git-fixes.patch
+
autoreconf -vfi # our automake is far too new for their build system :)
./configure --prefix=/usr \
diff --git a/extra/mesa/git-fixes.patch b/extra/mesa/git-fixes.patch
new file mode 100644
index 000000000..84efe610e
--- /dev/null
+++ b/extra/mesa/git-fixes.patch
@@ -0,0 +1,52 @@
+From 17f1cb1d99e66227d1e05925ef937643f5c1089a Mon Sep 17 00:00:00 2001
+From: Jan de Groot <jan@jgc.homeip.net>
+Date: Thu, 07 Mar 2013 18:48:13 +0000
+Subject: dri/nouveau: fix crash in nouveau_flush
+
+https://bugs.freedesktop.org/show_bug.cgi?id=61947
+
+Note: this is a candidate for the stable branches
+---
+diff --git a/src/mesa/drivers/dri/nouveau/nouveau_driver.c b/src/mesa/drivers/dri/nouveau/nouveau_driver.c
+index f56b3b2..6c119d5 100644
+--- a/src/mesa/drivers/dri/nouveau/nouveau_driver.c
++++ b/src/mesa/drivers/dri/nouveau/nouveau_driver.c
+@@ -69,7 +69,8 @@ nouveau_flush(struct gl_context *ctx)
+ __DRIdri2LoaderExtension *dri2 = screen->dri2.loader;
+ __DRIdrawable *drawable = nctx->dri_context->driDrawablePriv;
+
+- dri2->flushFrontBuffer(drawable, drawable->loaderPrivate);
++ if (drawable && drawable->loaderPrivate)
++ dri2->flushFrontBuffer(drawable, drawable->loaderPrivate);
+ }
+ }
+
+--
+cgit v0.9.0.2-2-gbebe
+From e062a4187d8ea518a39c913ae7562cf1d8ac3205 Mon Sep 17 00:00:00 2001
+From: Tapani Pälli <tapani.palli@intel.com>
+Date: Mon, 28 Jan 2013 06:53:56 +0000
+Subject: intel: Fix regression in intel_create_image_from_name stride handling
+
+Strangely, the DRIimage interface we have passes the pitch in pixels
+instead of bytes, which anholt missed in the change to using bytes for
+region pitch.
+
+Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
+Reviewed-by: Eric Anholt <eric@anholt.net>
+---
+diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c
+index defcd73..d223a0b 100644
+--- a/src/mesa/drivers/dri/intel/intel_screen.c
++++ b/src/mesa/drivers/dri/intel/intel_screen.c
+@@ -377,7 +377,7 @@ intel_create_image_from_name(__DRIscreen *screen,
+ cpp = _mesa_get_format_bytes(image->format);
+ image->region = intel_region_alloc_for_handle(intelScreen,
+ cpp, width, height,
+- pitch, name, "image");
++ pitch * cpp, name, "image");
+ if (image->region == NULL) {
+ free(image);
+ return NULL;
+--
+cgit v0.9.0.2-2-gbebe