diff options
author | Michel Dänzer <michel@tungstengraphics.com> | 2008-05-24 20:01:41 +0200 |
---|---|---|
committer | Michel Dänzer <michel@tungstengraphics.com> | 2008-05-24 20:01:41 +0200 |
commit | 29586101dc11d498b212510f8dedbfeca7f8c859 (patch) | |
tree | 0f9efa252848ed228d102c64b98f539411328d08 /exa/exa_unaccel.c | |
parent | f6d61d3d86971d6a202b46ff2fab8c8799a4d057 (diff) |
EXA: Only record damage generated by rendering operations.
Recording damage from other operations (e.g. creating a client damage record)
may confuse the migration code resulting in corruption.
Option "EXAOptimizeMigration" appears safe now, so enable it by default. Also
remove it from the manpage, as it should only be necessary on request in the
course of bug report diagnostics anymore.
Diffstat (limited to 'exa/exa_unaccel.c')
-rw-r--r-- | exa/exa_unaccel.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c index c55ef032b..5a2576414 100644 --- a/exa/exa_unaccel.c +++ b/exa/exa_unaccel.c @@ -97,12 +97,15 @@ ExaCheckPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y, int w, int h, int leftPad, int format, char *bits) { + ExaPixmapPriv(exaGetDrawablePixmap(pDrawable)); + EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable))); if (exaGCReadsDestination(pDrawable, pGC->planemask, pGC->fillStyle, pGC->alu)) exaPrepareAccess (pDrawable, EXA_PREPARE_DEST); else - ExaDoPrepareAccess (pDrawable, EXA_PREPARE_DEST); + exaPrepareAccessReg (pDrawable, EXA_PREPARE_DEST, + DamagePendingRegion(pExaPixmap->pDamage)); fbPutImage (pDrawable, pGC, depth, x, y, w, h, leftPad, format, bits); exaFinishAccess (pDrawable, EXA_PREPARE_DEST); } |