summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sna/sna_accel.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 067f7dd2..e4520d14 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -3809,6 +3809,9 @@ cpu_fail:
assert(priv->gpu_bo == NULL || priv->gpu_bo->proxy == NULL);
if (flags & RENDER_GPU) {
+ if ((flags & IGNORE_DAMAGE) == 0 && priv->gpu_damage)
+ goto move_to_gpu;
+
if (priv->gpu_bo && priv->gpu_bo->tiling)
goto move_to_gpu;
@@ -3865,6 +3868,7 @@ cpu_fail:
__FUNCTION__, *damage != NULL));
assert(damage == NULL || !DAMAGE_IS_ALL(*damage));
assert(priv->clear == false);
+ priv->cpu = false;
return priv->cpu_bo;
}