diff options
author | Caio Oliveira <caio.oliveira@intel.com> | 2023-09-21 23:50:14 -0700 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2023-09-22 15:29:25 +0000 |
commit | 3a210932ada23e058c373416745cbf2837fcdd01 (patch) | |
tree | d2535083dcd7c13ecf6f826c9603d80cb3a9d367 | |
parent | 0e7337e8301be4b05ec74acd29b3a88f8b956b67 (diff) |
clover: Hide SPIR-V related code behind HAVE_CLOVER_SPIRV
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25341>
-rw-r--r-- | src/gallium/frontends/clover/core/compiler.hpp | 6 | ||||
-rw-r--r-- | src/gallium/frontends/clover/core/device.cpp | 15 |
2 files changed, 16 insertions, 5 deletions
diff --git a/src/gallium/frontends/clover/core/compiler.hpp b/src/gallium/frontends/clover/core/compiler.hpp index 98002edea67..265b280f356 100644 --- a/src/gallium/frontends/clover/core/compiler.hpp +++ b/src/gallium/frontends/clover/core/compiler.hpp @@ -62,16 +62,18 @@ namespace clover { static inline binary link_program(const std::vector<binary> &bs, const device &dev, const std::string &opts, std::string &log) { - const bool create_library = - opts.find("-create-library") != std::string::npos; switch (dev.ir_format()) { +#ifdef HAVE_CLOVER_SPIRV case PIPE_SHADER_IR_NIR_SERIALIZED: { + const bool create_library = + opts.find("-create-library") != std::string::npos; auto spirv_linked_module = spirv::link_program(bs, dev, opts, log); if (create_library) return spirv_linked_module; return nir::spirv_to_nir(spirv_linked_module, dev, log); } +#endif case PIPE_SHADER_IR_NATIVE: return llvm::link_program(bs, dev, opts, log); default: diff --git a/src/gallium/frontends/clover/core/device.cpp b/src/gallium/frontends/clover/core/device.cpp index 59dcaabef9f..848c19b7660 100644 --- a/src/gallium/frontends/clover/core/device.cpp +++ b/src/gallium/frontends/clover/core/device.cpp @@ -25,14 +25,17 @@ #include "core/platform.hpp" #include "pipe/p_screen.h" #include "pipe/p_state.h" -#include "spirv/invocation.hpp" #include "util/bitscan.h" +#include "util/disk_cache.h" #include "util/u_debug.h" -#include "spirv/invocation.hpp" -#include "nir/invocation.hpp" #include "nir.h" #include <fstream> +#ifdef HAVE_CLOVER_SPIRV +#include "spirv/invocation.hpp" +#include "nir/invocation.hpp" +#endif + using namespace clover; namespace { @@ -525,9 +528,11 @@ device::supported_extensions() const { vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "cl_khr_fp16" } ); if (svm_support()) vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "cl_arm_shared_virtual_memory" } ); +#ifdef HAVE_CLOVER_SPIRV if (!clover::spirv::supported_versions().empty() && supports_ir(PIPE_SHADER_IR_NIR_SERIALIZED)) vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "cl_khr_il_program" } ); +#endif vec.push_back( cl_name_version{ CL_MAKE_VERSION(1, 0, 0), "cl_khr_extended_versioning" } ); return vec; } @@ -550,7 +555,11 @@ device::supported_extensions_as_string() const { std::vector<cl_name_version> device::supported_il_versions() const { +#ifdef HAVE_CLOVER_SPIRV return clover::spirv::supported_versions(); +#else + return {}; +#endif } const void * |