summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-12-10 22:38:33 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2011-12-10 23:34:51 +0000
commit358aaef6dbff0737f026046b0c9a2e21d8cfdf2a (patch)
tree651cec7bd325632e7e00056b3cdbe56b734a9f52
parentc295ad8da91e39c8fffa540901097651df5d24b2 (diff)
sna/dri: Prefer using the BLT for DRICopyRegion on pre-SNB
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_dri.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c
index 941da874..e572a6bc 100644
--- a/src/sna/sna_dri.c
+++ b/src/sna/sna_dri.c
@@ -428,6 +428,9 @@ sna_dri_copy(struct sna *sna, DrawablePtr draw, RegionPtr region,
* as well).
*/
kgem_set_mode(&sna->kgem, KGEM_RENDER);
+ } else if (sna->kgem.mode == KGEM_NONE) {
+ /* Otherwise employ the BLT unless it means a context switch */
+ _kgem_set_mode(&sna->kgem, KGEM_BLT);
}
damage(pixmap, region);