summaryrefslogtreecommitdiff
path: root/src/sna
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2019-02-26 10:15:41 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2019-03-01 18:22:07 +0000
commita63b6a22981f4add450132ac617b0ef07e103705 (patch)
tree0fa98c77ca1bc7b38d6615977d85818d6ed7e824 /src/sna
parent9e6e003e3468dca674ac848e2669af973da02fd4 (diff)
sna: Supply 64b reloc versions for threaded composite blts
Apparently we never take this path or else it would have failed before (we don't take it as we prefer render for these chipsets). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna')
-rw-r--r--src/sna/sna_blt.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/sna/sna_blt.c b/src/sna/sna_blt.c
index ddd2586d..61e2b0fe 100644
--- a/src/sna/sna_blt.c
+++ b/src/sna/sna_blt.c
@@ -261,7 +261,7 @@ noinline static void __sna_blt_fill_begin(struct sna *sna,
b[1] = blt->br13;
b[2] = 0;
b[3] = 0;
- *(uint32_t *)(b+4) =
+ *(uint64_t *)(b+4) =
kgem_add_reloc64(kgem, kgem->nbatch + 4, blt->bo[0],
I915_GEM_DOMAIN_RENDER << 16 |
I915_GEM_DOMAIN_RENDER |
@@ -3111,7 +3111,10 @@ sna_blt_composite__convert(struct sna *sna,
tmp->blt = blt_composite_copy;
tmp->box = blt_composite_copy_box;
tmp->boxes = blt_composite_copy_boxes;
- tmp->thread_boxes = blt_composite_copy_boxes__thread;
+ if (sna->kgem.gen >= 0100)
+ tmp->thread_boxes = blt_composite_copy_boxes__thread64;
+ else
+ tmp->thread_boxes = blt_composite_copy_boxes__thread;
if (!sna_blt_copy_init(sna, &tmp->u.blt,
tmp->src.bo, tmp->dst.bo,