summaryrefslogtreecommitdiff
path: root/exa/exa_accel.c
diff options
context:
space:
mode:
authorMichel Dänzer <daenzer@vmware.com>2009-12-29 12:51:28 +0100
committerKeith Packard <keithp@keithp.com>2009-12-29 11:04:40 -0800
commit08bf26c28fc8147b64f2fe8345b9581e0101571c (patch)
treeee3044c1a4a447d85eab6392a714a49c13d62199 /exa/exa_accel.c
parent0bd8f0cd7f3823ee17ae8c88fd3e004bfff9982d (diff)
EXA: Fix migration avoidance for 1x1 pixmaps.
Signed-off-by: Michel Dänzer <daenzer@vmware.com> Acked-by: Maarten Maathuis <madman2003@gmail.com> Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'exa/exa_accel.c')
-rw-r--r--exa/exa_accel.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/exa/exa_accel.c b/exa/exa_accel.c
index c56c6bc9f..f34b7a78e 100644
--- a/exa/exa_accel.c
+++ b/exa/exa_accel.c
@@ -1043,6 +1043,7 @@ exaFillRegionSolid (DrawablePtr pDrawable, RegionPtr pRegion, Pixel pixel,
pDrawable->width == 1 && pDrawable->height == 1 &&
pDrawable->bitsPerPixel != 24) {
ExaPixmapPriv(pPixmap);
+ RegionPtr pending_damage = DamagePendingRegion(pExaPixmap->pDamage);
switch (pDrawable->bitsPerPixel) {
case 32:
@@ -1057,6 +1058,9 @@ exaFillRegionSolid (DrawablePtr pDrawable, RegionPtr pRegion, Pixel pixel,
REGION_UNION(pScreen, &pExaPixmap->validSys, &pExaPixmap->validSys,
pRegion);
+ REGION_UNION(pScreen, &pExaPixmap->validFB, &pExaPixmap->validFB,
+ pRegion);
+ REGION_SUBTRACT(pScreen, pending_damage, pending_damage, pRegion);
}
ret = TRUE;