diff --git a/src/sna/sna_composite.c b/src/sna/sna_composite.c index 09d38276..b54bd33c 100644 --- a/src/sna/sna_composite.c +++ b/src/sna/sna_composite.c @@ -702,11 +702,6 @@ sna_composite_rectangles(CARD8 op, boxes = pixman_region_rectangles(®ion, &num_boxes); - if (too_small(dst->pDrawable)) { - DBG(("%s: fallback, dst is too small\n", __FUNCTION__)); - goto fallback; - } - /* If we going to be overwriting any CPU damage with a subsequent * operation, then we may as well delete it without moving it * first to the GPU. @@ -717,6 +712,11 @@ sna_composite_rectangles(CARD8 op, sna_damage_subtract(&priv->cpu_damage, ®ion); } + if (too_small(dst->pDrawable)) { + DBG(("%s: fallback, dst is too small\n", __FUNCTION__)); + goto fallback; + } + priv = sna_pixmap_move_to_gpu(pixmap); if (priv == NULL) { DBG(("%s: fallback due to no GPU bo\n", __FUNCTION__));