From 4eb56e1b3a80c84f2dddf2692310369dc9cbd31a Mon Sep 17 00:00:00 2001 From: root Date: Sun, 14 Oct 2012 00:46:01 -0700 Subject: Sun Oct 14 00:45:38 PDT 2012 --- extra/xf86-video-mach64/PKGBUILD | 14 +++-- extra/xf86-video-mach64/git_fixes.diff | 107 +++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+), 6 deletions(-) create mode 100644 extra/xf86-video-mach64/git_fixes.diff (limited to 'extra/xf86-video-mach64') 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 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 +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 +--- +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 +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 +--- +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 +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 +--- +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 -- cgit v1.2.3-54-g00ecf