Move the exaDrawableDirty in exaPrepareAccess to exaFinishAccess, which is
after the drawing is done. Previously, a failed PrepareAccess could have migrated and cleared the dirty flag before the damage was ever done.
This commit is contained in:
parent
ffdbb547be
commit
5b1a7b478f
|
@ -1,3 +1,11 @@
|
||||||
|
2006-03-10 Eric Anholt <anholt@FreeBSD.org>
|
||||||
|
|
||||||
|
* exa/exa.c: (exaPrepareAccess), (exaFinishAccess):
|
||||||
|
Move the exaDrawableDirty in exaPrepareAccess to exaFinishAccess, which
|
||||||
|
is after the drawing is done. Previously, a failed PrepareAccess could
|
||||||
|
have migrated and cleared the dirty flag before the damage was ever
|
||||||
|
done.
|
||||||
|
|
||||||
2006-03-10 Eric Anholt <anholt@FreeBSD.org>
|
2006-03-10 Eric Anholt <anholt@FreeBSD.org>
|
||||||
|
|
||||||
* hw/xfree86/vbe/vbe.c: (vbeProbeDDC):
|
* hw/xfree86/vbe/vbe.c: (vbeProbeDDC):
|
||||||
|
|
|
@ -230,8 +230,6 @@ exaPrepareAccess(DrawablePtr pDrawable, int index)
|
||||||
|
|
||||||
pPixmap = exaGetDrawablePixmap (pDrawable);
|
pPixmap = exaGetDrawablePixmap (pDrawable);
|
||||||
|
|
||||||
if (index == EXA_PREPARE_DEST)
|
|
||||||
exaDrawableDirty (pDrawable);
|
|
||||||
if (exaPixmapIsOffscreen (pPixmap))
|
if (exaPixmapIsOffscreen (pPixmap))
|
||||||
exaWaitSync (pDrawable->pScreen);
|
exaWaitSync (pDrawable->pScreen);
|
||||||
else
|
else
|
||||||
|
@ -255,6 +253,9 @@ exaFinishAccess(DrawablePtr pDrawable, int index)
|
||||||
ExaScreenPriv (pScreen);
|
ExaScreenPriv (pScreen);
|
||||||
PixmapPtr pPixmap;
|
PixmapPtr pPixmap;
|
||||||
|
|
||||||
|
if (index == EXA_PREPARE_DEST)
|
||||||
|
exaDrawableDirty (pDrawable);
|
||||||
|
|
||||||
if (pExaScr->info->FinishAccess == NULL)
|
if (pExaScr->info->FinishAccess == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue