summaryrefslogtreecommitdiff
path: root/testing/xf86-video-mach64
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-10-07 00:37:20 -0700
committerroot <root@rshg054.dnsready.net>2012-10-07 00:37:20 -0700
commit682e4a12f537d598cb116ba394ceeae1eafc281e (patch)
treeb48c04d80686157d339741b922053c2e88b15d68 /testing/xf86-video-mach64
parente7552010f531ef1b114352f0ce71a307360bf1d4 (diff)
Sun Oct 7 00:37:16 PDT 2012
Diffstat (limited to 'testing/xf86-video-mach64')
-rw-r--r--testing/xf86-video-mach64/PKGBUILD33
-rw-r--r--testing/xf86-video-mach64/git_fixes.diff107
2 files changed, 140 insertions, 0 deletions
diff --git a/testing/xf86-video-mach64/PKGBUILD b/testing/xf86-video-mach64/PKGBUILD
new file mode 100644
index 000000000..a8b670ac7
--- /dev/null
+++ b/testing/xf86-video-mach64/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 168229 2012-10-06 20:07:36Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-mach64
+pkgver=6.9.3
+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' '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')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool' '!emptydirs')
+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
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xf86-video-mach64/git_fixes.diff b/testing/xf86-video-mach64/git_fixes.diff
new file mode 100644
index 000000000..aad11772e
--- /dev/null
+++ b/testing/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