summaryrefslogtreecommitdiff
path: root/exa
diff options
context:
space:
mode:
authorMaarten Maathuis <madman2003@gmail.com>2009-02-08 02:08:13 +0100
committerMaarten Maathuis <madman2003@gmail.com>2009-02-08 02:08:13 +0100
commit30daba6903378dd47f386c0012a0667fd2368f3e (patch)
treefda0bf02537ab252732240a00eb4f23e465ea257 /exa
parentd591c7d1b87c61ee8add2fce689e35cf097eed4f (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.c13
-rw-r--r--exa/exa_priv.h1
-rw-r--r--exa/exa_unaccel.c15
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++;
}