Reviewed-by: Dylan Baker <dy...@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.mor...@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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev