xf86-video-intel: src/sna/sna_blt.c
Chris Wilson
ickle at kemper.freedesktop.org
Thu Apr 23 00:46:18 PDT 2015
src/sna/sna_blt.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
New commits:
commit 09d8e5e1b3215c0e58c2ce44048458152c523270
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Thu Apr 23 08:35:52 2015 +0100
sna/gen6+: Fix BLT src/dst tiling checks
In a couple of the copy paths, src/dst parameters were reversed,
inverting the direction of the tiling flags.
Reported-by: Andy Furniss <adf.lists at gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90138
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_blt.c b/src/sna/sna_blt.c
index 843466d..3d8c040 100644
--- a/src/sna/sna_blt.c
+++ b/src/sna/sna_blt.c
@@ -297,6 +297,7 @@ inline static void sna_blt_fill_begin(struct sna *sna,
if (kgem->nreloc) {
_kgem_submit(kgem);
_kgem_set_mode(kgem, KGEM_BLT);
+ kgem_bcs_set_tiling(kgem, NULL, blt->bo[0]);
assert(kgem->nbatch == 0);
}
@@ -466,8 +467,8 @@ static void sna_blt_alpha_fixup_one(struct sna *sna,
!kgem_check_reloc(kgem, 2)) {
_kgem_submit(kgem);
_kgem_set_mode(kgem, KGEM_BLT);
+ kgem_bcs_set_tiling(&sna->kgem, blt->bo[0], blt->bo[1]);
}
- kgem_bcs_set_tiling(&sna->kgem, blt->bo[1], blt->bo[0]);
assert(sna->kgem.mode == KGEM_BLT);
b = kgem->batch + kgem->nbatch;
@@ -595,8 +596,8 @@ static void sna_blt_copy_one(struct sna *sna,
!kgem_check_reloc(kgem, 2)) {
_kgem_submit(kgem);
_kgem_set_mode(kgem, KGEM_BLT);
+ kgem_bcs_set_tiling(&sna->kgem, blt->bo[0], blt->bo[1]);
}
- kgem_bcs_set_tiling(&sna->kgem, blt->bo[1], blt->bo[0]);
assert(sna->kgem.mode == KGEM_BLT);
b = kgem->batch + kgem->nbatch;
@@ -1437,8 +1438,8 @@ begin_blt(struct sna *sna,
return false;
_kgem_set_mode(&sna->kgem, KGEM_BLT);
+ kgem_bcs_set_tiling(&sna->kgem, NULL, op->dst.bo);
}
- kgem_bcs_set_tiling(&sna->kgem, NULL, op->dst.bo);
return true;
}
@@ -4094,8 +4095,8 @@ bool sna_blt_copy_boxes__with_alpha(struct sna *sna, uint8_t alu,
!kgem_check_reloc(kgem, 2)) {
_kgem_submit(kgem);
_kgem_set_mode(kgem, KGEM_BLT);
+ kgem_bcs_set_tiling(&sna->kgem, src_bo, dst_bo);
}
- kgem_bcs_set_tiling(&sna->kgem, src_bo, dst_bo);
assert(sna->kgem.mode == KGEM_BLT);
b = kgem->batch + kgem->nbatch;
More information about the xorg-commit
mailing list