xf86-video-intel: 2 commits - src/sna/compiler.h src/sna/kgem.c
Chris Wilson
ickle at kemper.freedesktop.org
Sat Jun 29 14:06:00 PDT 2013
src/sna/compiler.h | 2 +-
src/sna/kgem.c | 9 ---------
2 files changed, 1 insertion(+), 10 deletions(-)
New commits:
commit 3a787da7e888da7e9943be94bd1cb177fe1495ab
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Sat Jun 29 21:57:20 2013 +0100
sna: Allow tiled memcpy on i386
With the split into per-swizzle functions, and with the forced
optimisation levels, it appears that i386 doesn't suffer so badly and
the tiled memcpy are a viable method.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 5c029ad..aadc5f2 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -985,15 +985,6 @@ static void kgem_init_swizzling(struct kgem *kgem)
{
struct drm_i915_gem_get_tiling tiling;
-#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;
-#endif
-
if (kgem->gen < 050) /* bit17 swizzling :( */
return;
commit 1d9941a7c003587c0bd732fb8b21fee5cefa6f87
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Sat Jun 29 21:56:13 2013 +0100
sna: Add the Ofast option to the critical memcpy routines
Always enable gcc to fully optimize the core memcpy routines (provided
that optimisations are not entirely disabled, for instance for
debugging).
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/compiler.h b/src/sna/compiler.h
index 75e691a..641b490 100644
--- a/src/sna/compiler.h
+++ b/src/sna/compiler.h
@@ -66,7 +66,7 @@
#endif
#if HAS_GCC(4, 5) && defined(__OPTIMIZE__)
-#define fast_memcpy __attribute__((target("inline-all-stringops")))
+#define fast_memcpy __attribute__((optimize("Ofast"))) __attribute__((target("inline-all-stringops")))
#else
#define fast_memcpy
#endif
More information about the xorg-commit
mailing list