summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);