diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-01-22 13:46:05 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-01-22 13:46:05 +0000 |
commit | 67a166d1247a1197fc851308c33c4970868f6a21 (patch) | |
tree | 3421adee02ac6710e03f1e1716831af8f84ec8c8 | |
parent | 77ee92248582d65a03619d1bb1d93a74468eea00 (diff) |
sna: Pass inplace hint for sna_copy_boxes fallback
In the unlikely event that this makes a difference, provide the hint as
to when we do not read back from the destination and so a streaming copy
would be preferable.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | src/sna/sna_accel.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index 37385ebe..1e9ee166 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -3283,9 +3283,10 @@ fallback: assert_pixmap_contains_box(dst_pixmap, RegionExtents(®ion)); - mode = MOVE_WRITE; - if (alu != GXcopy) - mode |= MOVE_READ; + if (alu_overwrites(alu)) + mode = MOVE_WRITE | MOVE_INPLACE_HINT; + else + mode = MOVE_WRITE | MOVE_READ; if (!sna_drawable_move_region_to_cpu(&dst_pixmap->drawable, ®ion, mode)) goto out; |