diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-12-03 15:06:10 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2013-12-03 15:07:41 +0000 |
commit | 23f8802857d64212dc8df39da2c1f6f362f9d053 (patch) | |
tree | 56479f3802d1c9e0fe28d4234d66d3756b48f66f | |
parent | 0420adfb9d92b691aabef4e0ccba3782417b4bf0 (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.c | 3 |
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; } |