diff options
author | Maarten Maathuis <madman2003@gmail.com> | 2009-02-08 02:08:13 +0100 |
---|---|---|
committer | Maarten Maathuis <madman2003@gmail.com> | 2009-02-08 02:08:13 +0100 |
commit | 30daba6903378dd47f386c0012a0667fd2368f3e (patch) | |
tree | fda0bf02537ab252732240a00eb4f23e465ea257 /exa | |
parent | d591c7d1b87c61ee8add2fce689e35cf097eed4f (diff) |
exa: All fallbacks should have a GC, remove some code.
- I did some testing with full fallbacks forced by the driver.
- I ran rendercheck, expedite and the (full) x11perf test suite.
- Thanks to ajax for pointing out this should be unneeded.
Diffstat (limited to 'exa')
-rw-r--r-- | exa/exa_accel.c | 13 | ||||
-rw-r--r-- | exa/exa_priv.h | 1 | ||||
-rw-r--r-- | exa/exa_unaccel.c | 15 |
3 files changed, 1 insertions, 28 deletions
diff --git a/exa/exa_accel.c b/exa/exa_accel.c index 326720f9f..b1ab2d1d9 100644 --- a/exa/exa_accel.c +++ b/exa/exa_accel.c @@ -533,21 +533,8 @@ exaCopyNtoN (DrawablePtr pSrcDrawable, return; } - /* We need a pGC to call our fallback. */ - if (!pGC) { - pExaScr->fallback_flags |= EXA_FALLBACK_NOGC; - pGC = CreateScratchGC(pDstDrawable->pScreen, pDstDrawable->depth); - if (!pGC) - return; - } - /* fallback */ ExaCheckCopyNtoN(pSrcDrawable, pDstDrawable, pGC, pbox, nbox, dx, dy, reverse, upsidedown, bitplane, closure); - - if (pExaScr->fallback_flags & EXA_FALLBACK_NOGC) { - pExaScr->fallback_flags &= ~EXA_FALLBACK_NOGC; - FreeScratchGC(pGC); - } } RegionPtr diff --git a/exa/exa_priv.h b/exa/exa_priv.h index 588fdec54..461e5e37f 100644 --- a/exa/exa_priv.h +++ b/exa/exa_priv.h @@ -129,7 +129,6 @@ typedef struct { #define EXA_FALLBACK_COPYWINDOW (1 << 0) #define EXA_ACCEL_COPYWINDOW (1 << 1) -#define EXA_FALLBACK_NOGC (1 << 2) typedef void (*EnableDisableFBAccessProcPtr)(int, Bool); typedef struct { diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c index 978a32f59..c821f0da8 100644 --- a/exa/exa_unaccel.c +++ b/exa/exa_unaccel.c @@ -116,19 +116,6 @@ ExaCheckPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth, EXA_GC_EPILOGUE(pGC); } -/* Sometimes we need a pGC to call a function, but don't actually want the lower - * layer to do something with the contents of this fake GC. */ -static inline GCPtr -ExaCheckWantGC(DrawablePtr pDrawable, GCPtr pGC) -{ - ExaScreenPriv(pDrawable->pScreen); - - if (pExaScr->fallback_flags & EXA_FALLBACK_NOGC) - return NULL; - - return pGC; -} - void ExaCheckCopyNtoN (DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC, BoxPtr pbox, int nbox, int dx, int dy, Bool reverse, @@ -141,7 +128,7 @@ ExaCheckCopyNtoN (DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC, exaPrepareAccess (pSrc, EXA_PREPARE_SRC); /* This will eventually call fbCopyNtoN, with some calculation overhead. */ while (nbox--) { - pGC->ops->CopyArea (pSrc, pDst, ExaCheckWantGC(pDst, pGC), pbox->x1 - pSrc->x + dx, pbox->y1 - pSrc->y + dy, + pGC->ops->CopyArea (pSrc, pDst, pGC, pbox->x1 - pSrc->x + dx, pbox->y1 - pSrc->y + dy, pbox->x2 - pbox->x1, pbox->y2 - pbox->y1, pbox->x1 - pDst->x, pbox->y1 - pDst->y); pbox++; } |