summaryrefslogtreecommitdiff
path: root/multilib-testing/lib32-mesa
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-07-12 14:14:44 +0000
committerroot <root@rshg047.dnsready.net>2011-07-12 14:14:44 +0000
commitec9bd2e246eb94181a9254dcb2de7ddc191bb8cc (patch)
tree2f7af52e79332c2dc24b2c28ac3fceb0cbda7f10 /multilib-testing/lib32-mesa
parente03f4b9bc9da3327de94bc58aa92ecb836c1580d (diff)
Tue Jul 12 14:14:44 UTC 2011
Diffstat (limited to 'multilib-testing/lib32-mesa')
-rw-r--r--multilib-testing/lib32-mesa/PKGBUILD21
-rw-r--r--multilib-testing/lib32-mesa/git_fixes.patch36
2 files changed, 49 insertions, 8 deletions
diff --git a/multilib-testing/lib32-mesa/PKGBUILD b/multilib-testing/lib32-mesa/PKGBUILD
index d616def9e..5e6212119 100644
--- a/multilib-testing/lib32-mesa/PKGBUILD
+++ b/multilib-testing/lib32-mesa/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 51484 2011-07-10 09:40:09Z lcarlier $
+# $Id: PKGBUILD 51582 2011-07-11 18:59:50Z lcarlier $
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
@@ -16,7 +16,7 @@ if [ "${_git}" = "true" ]; then
pkgver=7.11rc1
fi
-pkgrel=1
+pkgrel=2
arch=(x86_64)
makedepends=('glproto>=1.4.14' 'lib32-libdrm>=2.4.26' 'lib32-libxxf86vm>=1.1.1' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.0.1' 'lib32-libx11>=1.4.3' 'lib32-libxt>=1.1.1'
'lib32-gcc-libs>=4.6.1' 'dri2proto>=2.6' 'python2' 'libxml2' 'gcc-multilib' imake 'lib32-udev' 'lib32-llvm')
@@ -25,28 +25,33 @@ license=('custom')
if [ "${_git}" = "true" ]; then
# mesa git shot from 7.11 branch - see for state: http://cgit.freedesktop.org/mesa/mesa/commit/?h=7.11&id=1ae00c5960af83bea9545a18a1754bad83d5cbd0
#source=('ftp://ftp.archlinux.org/other/mesa/mesa-1ae00c5960af83bea9545a18a1754bad83d5cbd0.tar.bz2')
- source=("MesaLib-${pkgver}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-b033f050fd5179b051181a0a4b6d94110624d25c.tar.bz2")
+ source=(git_fixes.patch "MesaLib-${pkgver}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-b033f050fd5179b051181a0a4b6d94110624d25c.tar.bz2")
+ md5sums=('62b7e9591737846ff0e98f970ffc8b78' '2246d97eb0cfb1f6d2bf8a54b533d07f')
else
source=("ftp://ftp.freedesktop.org/pub/mesa/${pkgver/rc1/}/MesaLib-${pkgver/rc/-rc}.zip")
+ md5sums=('2246d97eb0cfb1f6d2bf8a54b533d07f')
fi
-md5sums=('2246d97eb0cfb1f6d2bf8a54b533d07f')
build() {
export CC="gcc -m32"
export CXX="g++ -m32"
export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
- # for our llvm-config for 32 bit :(
- export PATH="/usr/lib32/llvm:$PATH"
+ # for our llvm-config for 32 bit
+ export LLVM_CONFIG=/usr/lib32/llvm/llvm-config
+
+ # fix link errors: https://bugs.archlinux.org/task/25093
+ export LDFLAGS=${LDFLAGS/-Wl,--as-needed/}
cd ${srcdir}/?esa-*
autoreconf -vfi
if [ "${_git}" = "true" ]; then
- ./autogen.sh --prefix=/usr \
+ patch -Np1 -i ${srcdir}/git_fixes.patch
+ ./autogen.sh --prefix=/usr \
--with-dri-driverdir=/usr/lib32/xorg/modules/dri \
--with-gallium-drivers=r300,r600,nouveau,swrast \
--enable-gallium-llvm \
- --enable-gallium-egl \
+ --enable-gallium-egl --enable-shared-glapi \
--enable-glx-tls \
--with-driver=dri \
--enable-xcb \
diff --git a/multilib-testing/lib32-mesa/git_fixes.patch b/multilib-testing/lib32-mesa/git_fixes.patch
new file mode 100644
index 000000000..22372b328
--- /dev/null
+++ b/multilib-testing/lib32-mesa/git_fixes.patch
@@ -0,0 +1,36 @@
+From 804995807dfea9cbdbd676e52b95d42715101913 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Fri, 08 Jul 2011 22:30:48 +0000
+Subject: i965/gen4: Fix GPU hangs since the program streaming change.
+
+This was tricky. We were doing a use-before-initialize of
+grf_reg_count, but the value usually got overwritten anyway -- when we
+didn't have to do a relocation (typical), or on gen5 when we didn't
+have relocations at all.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38771
+Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
+(cherry picked from commit d03fdc4cdefdfdc5b59547945704c6037a5061c7)
+---
+diff --git a/src/mesa/drivers/dri/i965/brw_vs_state.c b/src/mesa/drivers/dri/i965/brw_vs_state.c
+index d5010a2..179ca19 100644
+--- a/src/mesa/drivers/dri/i965/brw_vs_state.c
++++ b/src/mesa/drivers/dri/i965/brw_vs_state.c
+@@ -47,6 +47,7 @@ brw_prepare_vs_unit(struct brw_context *brw)
+ memset(vs, 0, sizeof(*vs));
+
+ /* BRW_NEW_PROGRAM_CACHE | CACHE_NEW_VS_PROG */
++ vs->thread0.grf_reg_count = ALIGN(brw->vs.prog_data->total_grf, 16) / 16 - 1;
+ vs->thread0.kernel_start_pointer =
+ brw_program_reloc(brw,
+ brw->vs.state_offset +
+@@ -54,7 +55,6 @@ brw_prepare_vs_unit(struct brw_context *brw)
+ brw->vs.prog_offset +
+ (vs->thread0.grf_reg_count << 1)) >> 6;
+
+- vs->thread0.grf_reg_count = ALIGN(brw->vs.prog_data->total_grf, 16) / 16 - 1;
+ vs->thread1.floating_point_mode = BRW_FLOATING_POINT_NON_IEEE_754;
+ /* Choosing multiple program flow means that we may get 2-vertex threads,
+ * which will have the channel mask for dwords 4-7 enabled in the thread,
+--
+cgit v0.8.3-6-g21f6