diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-01-11 01:30:43 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2013-01-11 15:59:37 +0000 |
commit | aead71051ed757e7565d395c858bf8ab8f0b0ff6 (patch) | |
tree | 5577553f1bbe66622e1120f95b050ec7e9cd1490 /src/sna/sna_io.c | |
parent | 220970b1a484e283e2bbb44f79df613ce1ee1146 (diff) |
sna: Disable memcpy_to_tiled_x() uploads on 32-bit systems
It's far too slow due to the register starved instruction set producing
attrocious code and the extra overhead in the kernel for managing memory
mappings.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_io.c')
-rw-r--r-- | src/sna/sna_io.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/sna/sna_io.c b/src/sna/sna_io.c index ec254fc5..8b4c25ef 100644 --- a/src/sna/sna_io.c +++ b/src/sna/sna_io.c @@ -483,6 +483,15 @@ fallback: static bool upload_inplace__tiled(struct kgem *kgem, struct kgem_bo *bo) { +#ifndef __x86_64__ + /* Between a register starved compiler emitting attrocious code + * and the extra overhead in the kernel for managing the tight + * 32-bit address space, unless we have a 64-bit system, + * using memcpy_to_tiled_x() is extremely slow. + */ + return false; +#endif + if (kgem->gen < 050) /* bit17 swizzling :( */ return false; |