summaryrefslogtreecommitdiff
path: root/exa/exa_classic.c
diff options
context:
space:
mode:
Diffstat (limited to 'exa/exa_classic.c')
-rw-r--r--exa/exa_classic.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/exa/exa_classic.c b/exa/exa_classic.c
index 1eff57091..12f398709 100644
--- a/exa/exa_classic.c
+++ b/exa/exa_classic.c
@@ -137,6 +137,10 @@ exaCreatePixmap_classic(ScreenPtr pScreen, int w, int h, int depth,
exaSetAccelBlock(pExaScr, pExaPixmap,
w, h, bpp);
+ /* During a fallback we must prepare access. */
+ if (pExaScr->fallback_counter)
+ exaPrepareAccess(&pPixmap->drawable, EXA_PREPARE_AUX_DEST);
+
return pPixmap;
}
@@ -216,6 +220,10 @@ exaDestroyPixmap_classic (PixmapPtr pPixmap)
{
ExaPixmapPriv (pPixmap);
+ /* During a fallback we must finish access, but we don't know the index. */
+ if (pExaScr->fallback_counter)
+ exaFinishAccess(&pPixmap->drawable, -1);
+
if (pExaPixmap->area)
{
DBG_PIXMAP(("-- 0x%p (0x%x) (%dx%d)\n",