summaryrefslogtreecommitdiff
path: root/src/sna/kgem_debug_gen5.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-01-28 01:54:47 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-01-29 14:47:12 +0000
commit65466f86263b3788b438fe021a12ade371190b01 (patch)
tree0496eda2bfd01ddce6ccfbd708f30e69ea7cd1d6 /src/sna/kgem_debug_gen5.c
parent03211f4b0b7e32b6d7dc28e60be72db204b8c8d4 (diff)
sna: Allow ridiculously large bo, up to half the total GATT
Such large bo place extreme stress on the system, for example trying to mmap a 1GiB into the CPU domain currently fails due to a kernel bug. :( So if you can avoid the swap thrashing during the upload, the ddx can now handle 16k x 16k images on gen4+ on the GPU. That is fine until you want two such images... The real complication comes in uploading (and downloading) from such large textures as they are too large for a single operation with automatic detiling via either the BLT or the RENDER ring. We could do manual tiling/switching or, as this patch does, tile the transfer in chunks small enough to fit into either pipeline. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/kgem_debug_gen5.c')
-rw-r--r--src/sna/kgem_debug_gen5.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/sna/kgem_debug_gen5.c b/src/sna/kgem_debug_gen5.c
index f21220f3..9e7360af 100644
--- a/src/sna/kgem_debug_gen5.c
+++ b/src/sna/kgem_debug_gen5.c
@@ -79,7 +79,7 @@ static void gen5_update_vertex_buffer(struct kgem *kgem, const uint32_t *data)
} else {
bo = kgem_debug_get_bo_for_reloc_entry(kgem, reloc);
base = kgem_bo_map__debug(kgem, bo);
- size = bo->size;
+ size = kgem_bo_size(bo);
}
ptr = (char *)base + reloc->delta;