From 4dcbb02e857c666c5c3ca0eadd41cde96a13c258 Mon Sep 17 00:00:00 2001 From: Connor Behan Date: Fri, 7 Dec 2012 13:47:46 -0800 Subject: [PATCH xf86-video-mach64] Remove dummy UTS / DFS hooks Content-Type: text/plain; charset="utf-8" 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 --- 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