summaryrefslogtreecommitdiff
path: root/src/sna/sna_accel.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-12-03 11:03:39 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2013-12-03 11:03:39 +0000
commit4274110b78f8962b921f773e67c981b033c3f664 (patch)
tree594dd606988960f51ead366fb625b123341456ea /src/sna/sna_accel.c
parent33f3ddd73da5f553accf78ce7e03a76b12f71393 (diff)
sna: Clear the clear hint after performing a userptr upload
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_accel.c')
-rw-r--r--src/sna/sna_accel.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 9260ac8d..0c3d1c65 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -4266,9 +4266,7 @@ try_upload_blt(PixmapPtr pixmap, RegionRec *region,
if (!DAMAGE_IS_ALL(priv->gpu_damage)) {
assert(!priv->clear);
- if (region->data == NULL &&
- w >= pixmap->drawable.width &&
- h >= pixmap->drawable.height) {
+ if (region_subsumes_drawable(region, &pixmap->drawable)) {
sna_damage_all(&priv->gpu_damage,
pixmap->drawable.width,
pixmap->drawable.height);
@@ -4287,6 +4285,8 @@ try_upload_blt(PixmapPtr pixmap, RegionRec *region,
sna_pixmap_free_cpu(sna, priv, priv->cpu);
}
}
+ priv->clear = false;
+ priv->cpu = false;
return true;
}