[Mesa-dev] [PATCH] swr: bump minimum supported LLVM version to 4.0

Andres Gomez agomez at igalia.com
Tue Feb 13 22:42:57 UTC 2018


Since radv and radeonsi removed support for LLVM 3.9 the distcheck
target got broken because SWR distribution needed 3.9.x.

After checking with George Kyriazis, SWR is OK with moving to LLVM 4.0
and above, which will solve this problem.

Fixes: 3bf1e036e8a ("amd: remove support for LLVM 3.9")
Cc: George Kyriazis <george.kyriazis at intel.com>
Cc: Tim Rowley <timothy.o.rowley at intel.com>
Cc: Emil Velikov <emil.velikov at collabora.com>
Cc: Dylan Baker <dylan at pnwbakers.com>
Cc: Eric Engestrom <eric.engestrom at imgtec.com>
Signed-off-by: Andres Gomez <agomez at igalia.com>
---
 .travis.yml                         | 15 ++++++---------
 configure.ac                        |  6 +++---
 meson.build                         |  4 ++--
 src/gallium/drivers/swr/Makefile.am |  2 +-
 src/gallium/drivers/swr/SConscript  |  4 ++--
 5 files changed, 14 insertions(+), 17 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 3651d00169f..0ec08e5bff7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -90,12 +90,10 @@ matrix:
         - BUILD=make
         - MAKEFLAGS="-j4"
         - MAKE_CHECK_COMMAND="true"
-        - LLVM_VERSION=3.9
+        - LLVM_VERSION=4.0
         - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
         - OVERRIDE_CC="gcc-4.8"
         - OVERRIDE_CXX="g++-4.8"
-        # New binutils linker is required for llvm-3.9
-        - OVERRIDE_PATH=/usr/lib/binutils-2.26/bin
         - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
         - DRI_DRIVERS=""
         - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
@@ -105,13 +103,12 @@ matrix:
       addons:
         apt:
           sources:
-            - llvm-toolchain-trusty-3.9
+            - llvm-toolchain-trusty-4.0
           packages:
-            - binutils-2.26
             # LLVM packaging is broken and misses these dependencies
             - libedit-dev
             # From sources above
-            - llvm-3.9-dev
+            - llvm-4.0-dev
             # Common
             - xz-utils
             - x11proto-xf86vidmode-dev
@@ -400,7 +397,7 @@ matrix:
         - BUILD=scons
         - SCONSFLAGS="-j4"
         - SCONS_TARGET="swr=1"
-        - LLVM_VERSION=3.9
+        - LLVM_VERSION=4.0
         - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
         # Keep it symmetrical to the make build. There's no actual SWR, yet.
         - SCONS_CHECK_COMMAND="true"
@@ -409,13 +406,13 @@ matrix:
       addons:
         apt:
           sources:
-            - llvm-toolchain-trusty-3.9
+            - llvm-toolchain-trusty-4.0
           packages:
             - scons
             # LLVM packaging is broken and misses these dependencies
             - libedit-dev
             # From sources above
-            - llvm-3.9-dev
+            - llvm-4.0-dev
             # Common
             - xz-utils
             - x11proto-xf86vidmode-dev
diff --git a/configure.ac b/configure.ac
index 8ed606c7694..7fff725954d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -105,7 +105,7 @@ LLVM_REQUIRED_OPENCL=3.9.0
 LLVM_REQUIRED_R600=3.9.0
 LLVM_REQUIRED_RADEONSI=4.0.0
 LLVM_REQUIRED_RADV=4.0.0
-LLVM_REQUIRED_SWR=3.9.0
+LLVM_REQUIRED_SWR=4.0.0
 
 dnl Check for progs
 AC_PROG_CPP
@@ -2695,8 +2695,8 @@ if test -n "$with_gallium_drivers"; then
 fi
 
 # XXX: Keep in sync with LLVM_REQUIRED_SWR
-AM_CONDITIONAL(SWR_INVALID_LLVM_VERSION, test "x$LLVM_VERSION" != x3.9.0 -a \
-                                              "x$LLVM_VERSION" != x3.9.1)
+AM_CONDITIONAL(SWR_INVALID_LLVM_VERSION, test "x$LLVM_VERSION" != x4.0.0 -a \
+                                              "x$LLVM_VERSION" != x4.0.1)
 
 if test "x$enable_llvm" = "xyes" -a "$with_gallium_drivers"; then
     llvm_require_version $LLVM_REQUIRED_GALLIUM "gallium"
diff --git a/meson.build b/meson.build
index b39e2f8ab96..96e44459465 100644
--- a/meson.build
+++ b/meson.build
@@ -1011,9 +1011,9 @@ if with_gallium_opencl
   # TODO: optional modules
 endif
 
-if with_amd_vk or with_gallium_radeonsi
+if with_amd_vk or with_gallium_radeonsi or with_gallium_swr
   _llvm_version = '>= 4.0.0'
-elif with_gallium_opencl or with_gallium_swr or with_gallium_r600
+elif with_gallium_opencl or with_gallium_r600
   _llvm_version = '>= 3.9.0'
 else
   _llvm_version = '>= 3.3.0'
diff --git a/src/gallium/drivers/swr/Makefile.am b/src/gallium/drivers/swr/Makefile.am
index 2bc129429c6..3ee79f7be25 100644
--- a/src/gallium/drivers/swr/Makefile.am
+++ b/src/gallium/drivers/swr/Makefile.am
@@ -352,7 +352,7 @@ include $(top_srcdir)/install-gallium-links.mk
 dist-hook:
 if SWR_INVALID_LLVM_VERSION
 	@echo "*******************************************************"
-	@echo "LLVM 3.9.0 or LLVM 3.9.1 required to create the tarball"
+	@echo "LLVM 4.0.0 or LLVM 4.0.1 required to create the tarball"
 	@echo "*******************************************************"
 	@test
 endif
diff --git a/src/gallium/drivers/swr/SConscript b/src/gallium/drivers/swr/SConscript
index eca4830c249..7cfc66faeb7 100644
--- a/src/gallium/drivers/swr/SConscript
+++ b/src/gallium/drivers/swr/SConscript
@@ -12,8 +12,8 @@ if not env['llvm']:
     env['swr'] = False
     Return()
 
-if env['LLVM_VERSION'] < distutils.version.LooseVersion('3.9'):
-    print("warning: swr requires LLVM >= 3.9: not building swr")
+if env['LLVM_VERSION'] < distutils.version.LooseVersion('4.0'):
+    print("warning: swr requires LLVM >= 4.0: not building swr")
     env['swr'] = False
     Return()
 
-- 
2.15.1



More information about the mesa-dev mailing list