summaryrefslogtreecommitdiff
path: root/exa/exa_unaccel.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2007-07-17 17:16:51 +1000
committerMichel Dänzer <michel@tungstengraphics.com>2007-09-07 18:41:29 +0200
commite510a77ba4d65d5d6ead514cd698f1b1e3f8a2b6 (patch)
treea8ba284e66ee4a64374c88a828999cd8bef7d887 /exa/exa_unaccel.c
parent84eb7e62248ddc2761af8cefe33d1b7147477528 (diff)
EXA: Add a couple of missing exaPrepare/FinishAccess calls.
Diffstat (limited to 'exa/exa_unaccel.c')
-rw-r--r--exa/exa_unaccel.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c
index d793ec2b9..8db28667f 100644
--- a/exa/exa_unaccel.c
+++ b/exa/exa_unaccel.c
@@ -35,10 +35,13 @@
*
* Solid doesn't use an extra pixmap source, and Stippled/OpaqueStippled are
* 1bpp and never in fb, so we don't worry about them.
+ * We should worry about them for completeness sake and going forward.
*/
void
exaPrepareAccessGC(GCPtr pGC)
{
+ if (pGC->stipple)
+ exaPrepareAccess(&pGC->stipple->drawable, EXA_PREPARE_SRC);
if (pGC->fillStyle == FillTiled)
exaPrepareAccess(&pGC->tile.pixmap->drawable, EXA_PREPARE_SRC);
}
@@ -51,6 +54,8 @@ exaFinishAccessGC(GCPtr pGC)
{
if (pGC->fillStyle == FillTiled)
exaFinishAccess(&pGC->tile.pixmap->drawable, EXA_PREPARE_SRC);
+ if (pGC->stipple)
+ exaFinishAccess(&pGC->stipple->drawable, EXA_PREPARE_SRC);
}
#if DEBUG_TRACE_FALL
@@ -294,7 +299,9 @@ ExaCheckPaintWindow (WindowPtr pWin, RegionPtr pRegion, int what)
EXA_FALLBACK(("from %p (%c)\n", pWin,
exaDrawableLocation(&pWin->drawable)));
exaPrepareAccess (&pWin->drawable, EXA_PREPARE_DEST);
+ exaPrepareAccessWindow(pWin);
fbPaintWindow (pWin, pRegion, what);
+ exaFinishAccessWindow(pWin);
exaFinishAccess (&pWin->drawable, EXA_PREPARE_DEST);
}