This should force that operation to use the BLT rather than the render pipeline, please test.
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index a307d9e..7e6f9c8 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -16272,6 +16272,10 @@ sna_get_image__blt(PixmapPtr pixmap, dst_bo->pitch = pitch; kgem_bo_mark_unreusable(dst_bo);
+ kgem_set_mode(&sna->kgem, KGEM_BLT, dst_bo); + kgem_bo_mark_busy(priv->gpu_bo, KEM_BLT); + kgem_bo_mark_busy(dst_bo, KEM_BLT); + ok = sna->render.copy_boxes(sna, GXcopy, pixmap, priv->gpu_bo, 0, 0, pixmap, dst_bo,
This should force that operation to use the BLT rather than the render pipeline, please test.
diff --git a/src/sna/ sna_accel. c b/src/sna/ sna_accel. c sna_accel. c sna_accel. c image__ blt(PixmapPtr pixmap,
dst_bo- >pitch = pitch;
kgem_ bo_mark_ unreusable( dst_bo) ;
index a307d9e..7e6f9c8 100644
--- a/src/sna/
+++ b/src/sna/
@@ -16272,6 +16272,10 @@ sna_get_
+ kgem_set_ mode(&sna- >kgem, KGEM_BLT, dst_bo); mark_busy( priv->gpu_ bo, KEM_BLT); mark_busy( dst_bo, KEM_BLT); copy_boxes( sna, GXcopy,
pixmap, priv->gpu_bo, 0, 0,
pixmap, dst_bo,
+ kgem_bo_
+ kgem_bo_
+
ok = sna->render.