summaryrefslogtreecommitdiff
path: root/src/sna/sna_blt.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2015-04-22 19:17:19 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2015-04-22 20:35:07 +0100
commit45475fb7c9d84579c836b5893571c5185d568198 (patch)
treebf20bbfe6ed87f584046d1c3ef6679cde65e61c5 /src/sna/sna_blt.c
parent4fdd3a714d380afd3d6425aedbbf2ae20180638b (diff)
sna: Update blt fallback to handle Y-tiled surfaces
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_blt.c')
-rw-r--r--src/sna/sna_blt.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/sna/sna_blt.c b/src/sna/sna_blt.c
index 1b82abcb..843466dc 100644
--- a/src/sna/sna_blt.c
+++ b/src/sna/sna_blt.c
@@ -4190,6 +4190,7 @@ bool sna_blt_copy_boxes_fallback(struct sna *sna, uint8_t alu,
DBG(("%s: dst == src\n", __FUNCTION__));
if (src_bo->tiling == I915_TILING_Y &&
+ !sna->kgem.can_blt_y &&
kgem_bo_blt_pitch_is_ok(&sna->kgem, src_bo)) {
struct kgem_bo *bo;
@@ -4237,6 +4238,7 @@ bool sna_blt_copy_boxes_fallback(struct sna *sna, uint8_t alu,
}
} else {
if (src_bo->tiling == I915_TILING_Y &&
+ !sna->kgem.can_blt_y &&
kgem_bo_blt_pitch_is_ok(&sna->kgem, src_bo)) {
DBG(("%s: src is y-tiled\n", __FUNCTION__));
if (src->type != DRAWABLE_PIXMAP)
@@ -4251,6 +4253,7 @@ bool sna_blt_copy_boxes_fallback(struct sna *sna, uint8_t alu,
}
if (dst_bo->tiling == I915_TILING_Y &&
+ !sna->kgem.can_blt_y &&
kgem_bo_blt_pitch_is_ok(&sna->kgem, dst_bo)) {
DBG(("%s: dst is y-tiled\n", __FUNCTION__));
if (dst->type != DRAWABLE_PIXMAP)