diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index e317e652..c58f1776 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -2054,7 +2054,7 @@ static inline bool operate_inplace(struct sna_pixmap *priv, unsigned flags) return false; } - if (priv->cpu_damage && flags & MOVE_READ) { + if ((priv->gpu_damage == NULL || priv->cpu_damage) && flags & MOVE_READ) { DBG(("%s: no, has CPU damage and requires readback\n", __FUNCTION__)); return false; }