diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2014-02-10 14:19:53 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2014-02-10 14:19:53 +0000 |
commit | 2f99070708ce8f591c31e1e908809a0ce551c13f (patch) | |
tree | 57729153f580e0ec4214d77a56ae4380fefd6ad6 /src | |
parent | 2fb2cd092dadba40b5ad2da57943c660a0c9bc14 (diff) |
sna: Clear GPU damage flag for 1x1 writes onto a clear buffer
An optimisation for 1x1 reads of a clear buffer lead to a bug whereby
the damage for a 1x1 write would not be tracked correctly (conflicting
full GPU damage vs partial CPU damage).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src')
-rw-r--r-- | src/sna/sna_accel.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index 39199972..531dd40d 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -2688,7 +2688,8 @@ sna_drawable_move_region_to_cpu(DrawablePtr drawable, box++; } while (--n); - if (region->extents.x2 - region->extents.x1 > 1 || + if (flags & MOVE_WRITE || + region->extents.x2 - region->extents.x1 > 1 || region->extents.y2 - region->extents.y1 > 1) { sna_damage_subtract(&priv->gpu_damage, region); priv->clear = false; |