summaryrefslogtreecommitdiff
path: root/extra/xf86-video-mach64
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-10-14 00:46:01 -0700
committerroot <root@rshg054.dnsready.net>2012-10-14 00:46:01 -0700
commit4eb56e1b3a80c84f2dddf2692310369dc9cbd31a (patch)
treeb31de2992989d616383f6552ba5d23b75701ef04 /extra/xf86-video-mach64
parent21c295a86a10a3cd59802b2cf3ab7c24ebf0c608 (diff)
Sun Oct 14 00:45:38 PDT 2012
Diffstat (limited to 'extra/xf86-video-mach64')
-rw-r--r--extra/xf86-video-mach64/PKGBUILD14
-rw-r--r--extra/xf86-video-mach64/git_fixes.diff107
2 files changed, 115 insertions, 6 deletions
diff --git a/extra/xf86-video-mach64/PKGBUILD b/extra/xf86-video-mach64/PKGBUILD
index 474eab5de..92443de50 100644
--- a/extra/xf86-video-mach64/PKGBUILD
+++ b/extra/xf86-video-mach64/PKGBUILD
@@ -1,24 +1,26 @@
-# $Id: PKGBUILD 163649 2012-07-17 16:29:33Z andyrtr $
+# $Id: PKGBUILD 168577 2012-10-13 11:45:07Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-mach64
pkgver=6.9.3
-pkgrel=1
+pkgrel=2
pkgdesc="X.org mach64 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel>=1.12.0' 'libdrm' 'xf86driproto' 'mesa')
+makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=13' 'resourceproto' 'scrnsaverproto' )
+conflicts=('xorg-server<1.13.0' 'X-ABI-VIDEODRV_VERSION<13' 'X-ABI-VIDEODRV_VERSION>=14')
optdepends=('mach64-dri: DRI1 support from community repo')
-conflicts=('xorg-server<1.12.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool' '!emptydirs')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('5473d0e7dfd7bcff3f759e9e6bd6794ab464958f2f647d9b6d3edf3c66c53218')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 git_fixes.diff)
+sha256sums=('5473d0e7dfd7bcff3f759e9e6bd6794ab464958f2f647d9b6d3edf3c66c53218'
+ '27f6531101ac26debc9cb5faa63e16aaf5bdb9001ddb817ffad5e4f60fbc4dd3')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i ${srcdir}/git_fixes.diff
./configure --prefix=/usr
make
}
diff --git a/extra/xf86-video-mach64/git_fixes.diff b/extra/xf86-video-mach64/git_fixes.diff
new file mode 100644
index 000000000..aad11772e
--- /dev/null
+++ b/extra/xf86-video-mach64/git_fixes.diff
@@ -0,0 +1,107 @@
+From 5eb7fec958bc6ba8a1a2b0be4916cac818866e1c Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@gmail.com>
+Date: Wed, 18 Jul 2012 08:46:49 +0000
+Subject: mach64: fix build on 32-bit.
+
+tvout code only builds on 32-bit, fix build.
+
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+---
+diff --git a/src/atiscreen.c b/src/atiscreen.c
+index 2957877..b1fbd3c 100644
+--- a/src/atiscreen.c
++++ b/src/atiscreen.c
+@@ -580,7 +580,7 @@ ATIScreenInit(SCREEN_INIT_ARGS_DECL)
+ #ifdef TV_OUT
+ /* Fix-up TV out after ImpacTV probe */
+ if (pATI->OptionTvOut && pATI->Chip < ATI_CHIP_264GTPRO)
+- ATISwitchMode(0, pScreenInfo->currentMode, 0);
++ ATISwitchMode(SWITCH_MODE_ARGS(pScreenInfo, pScreenInfo->currentMode));
+ #endif /* TV_OUT */
+
+ #ifdef XF86DRI_DEVEL
+--
+cgit v0.9.0.2-2-gbebe
+From 104e3e067a7dcac143cb672fe42d56396ba6087b Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 26 Sep 2012 20:21:25 +0000
+Subject: Don't gratuitously disable Render when ShadowFBing
+
+There's no reason to do this, and I am at a loss to explain why that was
+ever done. The first instance of this logic comes from xfree86 (over 11
+years ago!):
+
+http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/drivers/ati/atiscreen.c.diff?r1=1.15&r2=1.16
+
+Now, cfb never had Render support, so that might make some sense if
+there was an intermediate uncommitted state where the driver used fb for
+direct but cfb for shadowed. But that's really the only plausible
+explanation I can think of.
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/src/atiscreen.c b/src/atiscreen.c
+index b1fbd3c..62a4dd9 100644
+--- a/src/atiscreen.c
++++ b/src/atiscreen.c
+@@ -476,21 +476,11 @@ ATIScreenInit(SCREEN_INIT_ARGS_DECL)
+ }
+ }
+
+- /* If applicable, initialise RENDER extension */
++ /* initialise RENDER extension */
++ if (!fbPictureInit(pScreen, NULL, 0) && (serverGeneration == 1))
+ {
+- if (pATI->OptionShadowFB)
+- {
+- if (serverGeneration == 1)
+- xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING,
+- "RENDER extension not supported with a shadowed"
+- " framebuffer.\n");
+- }
+- else if (!fbPictureInit(pScreen, NULL, 0) &&
+- (serverGeneration == 1))
+- {
+- xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING,
+- "RENDER extension initialisation failed.\n");
+- }
++ xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING,
++ "RENDER extension initialisation failed.\n");
+ }
+
+ xf86SetBlackWhitePixels(pScreen);
+--
+cgit v0.9.0.2-2-gbebe
+From 42c4e423eec789606eec9703be23a9fd4483a14a Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 02 Oct 2012 14:19:47 +0000
+Subject: Fix build with neither XAA nor EXA against xserver 1.13.0
+
+Pull in picturestr.h to get GLYPH_HAS_GLYPH_PICTURE_ACCESSOR defined
+before compat-api.h is parsed, otherwise you fail with:
+
+In file included from /usr/include/xorg/picturestr.h:28:0,
+ from /usr/include/xorg/exa.h:38,
+ from atimach64accel.h:31,
+ from atiscreen.c:46:
+/usr/include/xorg/glyphstr.h:138:2: error: expected ')' before '*' token
+/usr/include/xorg/glyphstr.h:138:2: error: expected ')' before '(' token
+/usr/include/xorg/glyphstr.h:140:2: error: expected ')' before '*' token
+/usr/include/xorg/glyphstr.h:140:2: error: expected ')' before '(' token
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/src/atistruct.h b/src/atistruct.h
+index 702360b..98dc15e 100644
+--- a/src/atistruct.h
++++ b/src/atistruct.h
+@@ -51,6 +51,7 @@
+
+ #endif /* TV_OUT */
+
++#include "picturestr.h"
+ #ifdef USE_EXA
+ #include "exa.h"
+ #endif
+--
+cgit v0.9.0.2-2-gbebe