xf86-video-mach64: Branch 'master'

Alan Coopersmith alanc at kemper.freedesktop.org
Sun Dec 16 12:58:49 PST 2012


 src/atimach64exa.c |   60 -----------------------------------------------------
 1 file changed, 60 deletions(-)

New commits:
commit ece8d3557eb1ffb27104bffb7841503aae4dcd6f
Author: Connor Behan <connor.behan at gmail.com>
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 <connor.behan at gmail.com>
    Tested-by: Alan Coopersmith <alan.coopersmith at oracle.com>
    Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>

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. */


More information about the xorg-commit mailing list