summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-12-03 15:06:10 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2013-12-03 15:07:41 +0000
commit23f8802857d64212dc8df39da2c1f6f362f9d053 (patch)
tree56479f3802d1c9e0fe28d4234d66d3756b48f66f
parent0420adfb9d92b691aabef4e0ccba3782417b4bf0 (diff)
sna/dri: Always clear the clear hint after pageflipping
commit 3fd116782bb1c05a140f4783e92a8ee6a57143cd Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Mon Sep 23 21:03:07 2013 +0100 sna/dri: Clear the clear hint upon applying DRI damage missed the short-circuit path for an already all-damaged pixmap - which is quite common for the clear pixmaps... Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72194 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_dri.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c
index 759b6028..34d20447 100644
--- a/src/sna/sna_dri.c
+++ b/src/sna/sna_dri.c
@@ -463,7 +463,7 @@ static inline void damage(PixmapPtr pixmap, struct sna_pixmap *priv, RegionPtr r
{
assert(priv->gpu_bo);
if (DAMAGE_IS_ALL(priv->gpu_damage))
- return;
+ goto done;
if (region == NULL) {
damage_all:
@@ -478,6 +478,7 @@ damage_all:
goto damage_all;
sna_damage_add(&priv->gpu_damage, region);
}
+done:
priv->cpu = false;
priv->clear = false;
}