[Mesa-dev] [PATCH v10 12/20] configure.ac, meson: Check for SPIRV-Tools and llvm-spirv
Pierre Moreau
pierre.morrow at free.fr
Tue Jan 8 21:11:01 UTC 2019
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
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
More information about the mesa-dev
mailing list