From c4c8a1b180a9d4c1126ee4fe3120128aa560306c Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Mon, 31 Mar 2014 11:23:45 +0100 Subject: [PATCH] sna: Discard damage tracking for operations to the whole pixmap Signed-off-by: Chris Wilson --- src/sna/sna_accel.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index 25b2ec36..6a58598a 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -3566,6 +3566,18 @@ create_gpu_bo: if (priv->gpu_damage) { assert(priv->gpu_bo); if (!priv->cpu_damage || flags & IGNORE_CPU) { + if (box_covers_pixmap(pixmap, ®ion.extents)) { + unsigned int move; + + if (flags & IGNORE_CPU) + move = MOVE_WRITE; + else + move = MOVE_WRITE | MOVE_READ; + + if (sna_pixmap_move_to_gpu(pixmap, move)) + goto use_gpu_bo; + } + if (sna_damage_contains_box__no_reduce(priv->gpu_damage, ®ion.extents)) { DBG(("%s: region wholly contained within GPU damage\n",