[Mesa-dev] [PATCH v3 12/25] configure.ac: Move gallium LLVM checks
Emil Velikov
emil.l.velikov at gmail.com
Wed Oct 12 09:42:19 UTC 2016
On 12 October 2016 at 00:02, Tobias Droste <tdroste at gmx.de> wrote:
> There's already a function for gallium LLVM checks.
> Move the remaining code to this function and call it for every driver
> that uses LLVM.
>
> Signed-off-by: Tobias Droste <tdroste at gmx.de>
> ---
> configure.ac | 31 +++++++++++++------------------
> 1 file changed, 13 insertions(+), 18 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index 283e553..61a0253 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -2310,18 +2310,6 @@ if test "x$enable_gallium_llvm" = xauto; then
> esac
> fi
>
> -gallium_llvm_check() {
> - LLVM_REQUIRED_VERSION_MAJOR="3"
> - LLVM_REQUIRED_VERSION_MINOR="3"
> - if test "$LLVM_VERSION_INT" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}"; then
> - AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR or newer is required])
> - fi
> -}
> -
> -if test "x$enable_gallium_llvm" = xyes; then
> - gallium_llvm_check
> -fi
> -
> dnl Directory for XVMC libs
> AC_ARG_WITH([xvmc-libdir],
> [AS_HELP_STRING([--with-xvmc-libdir=DIR],
> @@ -2378,12 +2366,16 @@ gallium_require_drm() {
> }
>
> gallium_require_llvm() {
> - if test "x$MESA_LLVM" = x0; then
> - case "$host" in *gnux32) return;; esac
> - case "$host_cpu" in
> - i*86|x86_64|amd64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
> - esac
> - fi
> + case "$host" in *gnux32) return;; esac
> + case "$host_cpu" in
> + i*86|x86_64|amd64)
> + LLVM_REQUIRED_VERSION_MAJOR="3"
> + LLVM_REQUIRED_VERSION_MINOR="3"
> + if test "$LLVM_VERSION_INT" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}"; then
> + AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR or newer is required])
> + fi
> + ;;
> + esac
> }
>
The function it quite "ugly" as-is and this patch changes things in a fun way.
Namely: before you'll get the minimum required version check
regardless of host_cpu for everyone, while now you get the opposite -
everyone is 'constrained' by the host_cpu check. Admittedly I've have
not idea if llvmpipe is a thing on outside x86 land.
Checking the gallium_require_llvm users we want:
- swr -> bail out if host_cpu !x86/x86-64 or gallium-llvm toggle is
off || llvm version req. is not met
- r300 -> on host_cpu eq. x86/x86-64, check the gallium-llvm toggle
(this is 'premature' optimisation which we might want to rework/drop
in the long run)
-Emil
More information about the mesa-dev
mailing list