sna/dri: Use move-area-to-gpu to handle clipped regions more efficiently

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2014-05-07 21:19:57 +01:00
parent 1385ca9eeb
commit efd9e9c3ee
1 changed files with 2 additions and 6 deletions

View File

@ -747,14 +747,10 @@ __sna_dri_copy_region(struct sna *sna, DrawablePtr draw, RegionPtr region,
unsigned int flags;
flags = MOVE_WRITE | __MOVE_FORCE;
if (clip.data ||
clip.extents.x1 > 0 ||
clip.extents.x2 < pixmap->drawable.width ||
clip.extents.y1 > 0 ||
clip.extents.y2 < pixmap->drawable.height)
if (clip.data)
flags |= MOVE_READ;
priv = sna_pixmap_move_to_gpu(pixmap, flags);
priv = sna_pixmap_move_area_to_gpu(pixmap, &clip.extents, flags);
if (priv) {
damage(pixmap, priv, region);
dst_bo = priv->gpu_bo;