Mesa (master): gallivm: Prefer the standard JIT engine whenever possible.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Mon Jul 23 16:48:38 UTC 2012


Module: Mesa
Branch: master
Commit: c30bf68946433d26f672c741a763bba4712aada7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c30bf68946433d26f672c741a763bba4712aada7

Author: José Fonseca <jfonseca at vmware.com>
Date:   Fri Jul 20 18:17:14 2012 +0100

gallivm: Prefer the standard JIT engine whenever possible.

Testing shows that the standard JIT engine retrofited with AVX support is quite
stable and as capable to handle AVX instructions as MC-JIT is.

And the old JIT is much more memory efficient, as we don't need to
allocate one engine instance per shader, as we do for MC-JIT due to its
incompleteness.

Reviewed-by: Roland Scheidegger <sroland at vmware.com>

---

 src/gallium/auxiliary/gallivm/lp_bld_init.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
index 5bf4bcf..068a2cd 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
@@ -49,12 +49,12 @@
  *   - MC-JIT supports limited OSes (MacOSX and Linux)
  * - standard JIT in LLVM 3.1, with backports
  */
-#if HAVE_LLVM >= 0x0301 && (defined(PIPE_OS_LINUX) || defined(PIPE_OS_APPLE))
-#  define USE_MCJIT 1
-#  define HAVE_AVX 1
-#elif HAVE_LLVM >= 0x0302 || (HAVE_LLVM == 0x0301 && defined(HAVE_JIT_AVX_SUPPORT))
+#if HAVE_LLVM >= 0x0302 || (HAVE_LLVM == 0x0301 && defined(HAVE_JIT_AVX_SUPPORT))
 #  define USE_MCJIT 0
 #  define HAVE_AVX 1
+#elif HAVE_LLVM == 0x0301 && (defined(PIPE_OS_LINUX) || defined(PIPE_OS_APPLE))
+#  define USE_MCJIT 1
+#  define HAVE_AVX 1
 #else
 #  define USE_MCJIT 0
 #  define HAVE_AVX 0




More information about the mesa-commit mailing list