From 3a210932ada23e058c373416745cbf2837fcdd01 Mon Sep 17 00:00:00 2001 From: Caio Oliveira Date: Thu, 21 Sep 2023 23:50:14 -0700 Subject: [PATCH] clover: Hide SPIR-V related code behind HAVE_CLOVER_SPIRV Reviewed-by: Karol Herbst Part-of: --- src/gallium/frontends/clover/core/compiler.hpp | 6 ++++-- 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 &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 +#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 device::supported_il_versions() const { +#ifdef HAVE_CLOVER_SPIRV return clover::spirv::supported_versions(); +#else + return {}; +#endif } const void *