[Mesa-dev] [PATCH v10 12/20] configure.ac, meson: Check for SPIRV-Tools and llvm-spirv

Dylan Baker dylan at pnwbakers.com
Tue Jan 8 23:18:25 UTC 2019


Quoting Pierre Moreau (2019-01-08 13:11:01)
> Reviewed-by: Dylan Baker <dylan at pnwbakers.com>
> 
> Changes since:
> * v7:
>   - Properly align LLVMSPIRVLib comment (Dylan Baker)
>   - Only define CLOVER_ALLOW_SPIRV when **both** dependencies are found:
>     autotools was only requiring one or the other.
> * v6: Replace the llvm-spirv repository by the new official
>       SPIRV-LLVM-Translator.
> * v4: Add a comment saying where to find llvm-spirv (Karol Herbst).
> * v3:
>   - make SPIRV-Tools and llvm-spirv optional (Francisco Jerez);
>   - bump requirement for llvm-spirv to version 0.2
> * v2:
>   - Bump the required version of SPIRV-Tools to the latest release;
>   - Add a dependency on llvm-spirv.
> 
> Signed-off-by: Pierre Moreau <pierre.morrow at free.fr>
> ---
>  configure.ac | 18 ++++++++++++++++++
>  meson.build  |  8 ++++++++
>  2 files changed, 26 insertions(+)
> 
> diff --git a/configure.ac b/configure.ac
> index e4d20054d5f..799246e8319 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -2513,6 +2513,24 @@ AM_CONDITIONAL(HAVE_CLOVER_ICD, test "x$enable_opencl_icd" = xyes)
>  AC_SUBST([OPENCL_LIBNAME])
>  AC_SUBST([CLANG_RESOURCE_DIR])
>  
> +AS_IF([test "x$enable_opencl" = xyes], [
> +    PKG_CHECK_MODULES([SPIRV_TOOLS], [SPIRV-Tools >= 2018.0],
> +                      [have_spirv_tools=yes], [have_spirv_tools=no])])
> +AC_SUBST([SPIRV_TOOLS_CFLAGS])
> +AC_SUBST([SPIRV_TOOLS_LIBS])
> +
> +# LLVMSPIRVLib is available at https://github.com/KhronosGroup/SPIRV-LLVM-Translator
> +AS_IF([test "x$enable_opencl" = xyes], [
> +    PKG_CHECK_MODULES([LLVMSPIRVLIB], [LLVMSPIRVLib >= 0.2.1],
> +                      [have_llvmspirvlib=yes], [have_llvmspirvlib=no])])
> +AC_SUBST([LLVMSPIRVLIB_CFLAGS])
> +AC_SUBST([LLVMSPIRVLIB_LIBS])
> +
> +if test "x$have_spirv_tools" = xyes -a \
> +        "x$have_llvmspirvlib" = xyes; then
> +    DEFINES="$DEFINES -DCLOVER_ALLOW_SPIRV"
> +fi
> +
>  dnl
>  dnl Gallium configuration
>  dnl
> diff --git a/meson.build b/meson.build
> index 709f77a9c7a..7f63d6c84cc 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -655,6 +655,12 @@ if _opencl != 'disabled'
>    endif
>  
>    dep_clc = dependency('libclc')
> +  dep_spirv_tools = dependency('SPIRV-Tools', required : false, version : '>= 2018.0')
> +  # LLVMSPIRVLib is available at https://github.com/KhronosGroup/SPIRV-LLVM-Translator
> +  dep_llvmspirvlib = dependency('LLVMSPIRVLib', required : false, version : '>= 0.2.1')
> +  if dep_spirv_tools.found() and dep_llvmspirvlib.found()
> +    pre_args += '-DCLOVER_ALLOW_SPIRV'
> +  endif

As-is this is what distros call "automagical", and they don't like it :). There
is a case like this is for xlib-lease as well, I'd really like this to have an
option to control it, something similar to the way that xlib-lease works.

Dylan

>    with_gallium_opencl = true
>    with_opencl_icd = _opencl == 'icd'
>  
> @@ -667,6 +673,8 @@ if _opencl != 'disabled'
>    endif
>  else
>    dep_clc = null_dep
> +  dep_spirv_tools = null_dep
> +  dep_llvmspirvlib = null_dep
>    with_gallium_opencl = false
>    with_gallium_icd = false
>  endif
> -- 
> 2.20.1
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190108/ed3e2edd/attachment-0001.sig>


More information about the mesa-dev mailing list