configure.ac | 2 - src/atimach64exa.c | 60 -------------------------------------------------- src/atimach64render.c | 17 -------------- src/atiscreen.c | 21 ++++------------- src/atistruct.h | 1 5 files changed, 8 insertions(+), 93 deletions(-)
New commits: commit 0d8639f3cd4128ae856ae27f3787c1da224bb564 Author: Alan Coopersmith <[email protected]> Date: Wed Dec 19 22:14:08 2012 -0800 xf86-video-mach64 6.9.4 Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/configure.ac b/configure.ac index 2282f79..95f336b 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-mach64], - [6.9.3], + [6.9.4], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-mach64]) AC_CONFIG_SRCDIR([Makefile.am]) commit f694490b3cec78d7b17eeb0a9c4daadd1028776a Author: Alan Coopersmith <[email protected]> Date: Tue Dec 18 15:42:30 2012 -0800 Remove call to obsolete miInitializeBackingStore() Definition was deleted from Xorg during 1.14 merge window, but has been a no-op since 1.10 merge window. Signed-off-by: Alan Coopersmith <[email protected]> Reviewed-by: Alex Deucher <[email protected]> diff --git a/src/atiscreen.c b/src/atiscreen.c index 62a4dd9..15f399e 100644 --- a/src/atiscreen.c +++ b/src/atiscreen.c @@ -532,7 +532,6 @@ ATIScreenInit(SCREEN_INIT_ARGS_DECL) #endif /* AVOID_DGA */ /* Initialise backing store */ - miInitializeBackingStore(pScreen); xf86SetBackingStore(pScreen); /* Initialise cursor */ commit ece8d3557eb1ffb27104bffb7841503aae4dcd6f Author: Connor Behan <[email protected]> Date: Fri Dec 7 13:53:38 2012 -0800 Remove dummy UTS / DFS hooks When EXA was added to mach64, it included UploadToScreen and DownloadFromScreen hooks that did the same thing that EXA would do in a software fallback. Now they are out of date and cause crashes. The slight benefit of reimplementing those hooks (if there is any) is not worth the maintenance burden of having to rewrite them every time there is a change to the way EXA handles pixmaps. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=51137 Signed-off-by: Connor Behan <[email protected]> Tested-by: Alan Coopersmith <[email protected]> Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/src/atimach64exa.c b/src/atimach64exa.c index e4d5307..ea4c98e 100644 --- a/src/atimach64exa.c +++ b/src/atimach64exa.c @@ -387,60 +387,6 @@ Mach64Solid static void Mach64DoneSolid(PixmapPtr pPixmap) { } -/* - * Memcpy-based UTS. - */ -static Bool -Mach64UploadToScreen(PixmapPtr pDst, int x, int y, int w, int h, - char *src, int src_pitch) -{ - char *dst = pDst->devPrivate.ptr; - int dst_pitch = exaGetPixmapPitch(pDst); - - int bpp = pDst->drawable.bitsPerPixel; - int cpp = (bpp + 7) / 8; - int wBytes = w * cpp; - - exaWaitSync(pDst->drawable.pScreen); - - dst += (x * cpp) + (y * dst_pitch); - - while (h--) { - memcpy(dst, src, wBytes); - src += src_pitch; - dst += dst_pitch; - } - - return TRUE; -} - -/* - * Memcpy-based DFS. - */ -static Bool -Mach64DownloadFromScreen(PixmapPtr pSrc, int x, int y, int w, int h, - char *dst, int dst_pitch) -{ - char *src = pSrc->devPrivate.ptr; - int src_pitch = exaGetPixmapPitch(pSrc); - - int bpp = pSrc->drawable.bitsPerPixel; - int cpp = (bpp + 7) / 8; - int wBytes = w * cpp; - - exaWaitSync(pSrc->drawable.pScreen); - - src += (x * cpp) + (y * src_pitch); - - while (h--) { - memcpy(dst, src, wBytes); - src += src_pitch; - dst += dst_pitch; - } - - return TRUE; -} - #include "atimach64render.c" /* Compute log base 2 of val. */ @@ -659,12 +605,6 @@ Bool ATIMach64ExaInit(ScreenPtr pScreen) pExa->Copy = Mach64Copy; pExa->DoneCopy = Mach64DoneCopy; - /* EXA hits more optimized paths when it does not have to fallback because - * of missing UTS/DFS, hook memcpy-based UTS/DFS. - */ - pExa->UploadToScreen = Mach64UploadToScreen; - pExa->DownloadFromScreen = Mach64DownloadFromScreen; - if (pATI->RenderAccelEnabled) { if (pATI->Chip >= ATI_CHIP_264GTPRO) { /* 3D Rage Pro does not support NPOT textures. */ commit f0d44c18d71e7450b99189c1221a2f89c7817ab6 Author: Alan Coopersmith <[email protected]> Date: Thu Dec 6 16:49:12 2012 -0800 Mach64PixelARGB should use exaGetPixmapFirstPixel Fixes crash attempting to read a pixel from a NULL pPixmap->devPrivate.ptr Signed-off-by: Alan Coopersmith <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> diff --git a/src/atimach64render.c b/src/atimach64render.c index 4862cd4..ffde2cb 100644 --- a/src/atimach64render.c +++ b/src/atimach64render.c @@ -209,22 +209,7 @@ Mach64PixelARGB(PixmapPtr pPixmap, CARD32 format, CARD32 *argb) CARD8 comp; int bits, shift; - /* Ensure that texture drawing has completed. */ - exaWaitSync(pPixmap->drawable.pScreen); - - /* exaGetPixmapFirstPixel() */ - - switch (pPixmap->drawable.bitsPerPixel) { - case 32: - pixel = *(CARD32 *)(pPixmap->devPrivate.ptr); - break; - case 16: - pixel = *(CARD16 *)(pPixmap->devPrivate.ptr); - break; - default: - pixel = *(CARD8 *)(pPixmap->devPrivate.ptr); - break; - } + pixel = exaGetPixmapFirstPixel(pPixmap); /* exaGetRGBAFromPixel()/viaPixelARGB8888() */ commit 42c4e423eec789606eec9703be23a9fd4483a14a Author: Adam Jackson <[email protected]> Date: Tue Oct 2 10:19:47 2012 -0400 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 <[email protected]> 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 commit 104e3e067a7dcac143cb672fe42d56396ba6087b Author: Adam Jackson <[email protected]> Date: Wed Sep 26 16:21:25 2012 -0400 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 <[email protected]> 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); commit 5eb7fec958bc6ba8a1a2b0be4916cac818866e1c Author: Dave Airlie <[email protected]> Date: Wed Jul 18 18:46:49 2012 +1000 mach64: fix build on 32-bit. tvout code only builds on 32-bit, fix build. Signed-off-by: Dave Airlie <[email protected]> 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 -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

