[PATCH xf86-video-mach64] Remove dummy UTS / DFS hooks

Connor Behan connor.behan at gmail.com
Fri Dec 7 13:53:38 PST 2012


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>
---
 src/atimach64exa.c | 60 ------------------------------------------------------
 1 file changed, 60 deletions(-)

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



More information about the xorg-devel mailing list