Mesa (main): clover/nir: don't convert to NIR on library link
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Aug 10 21:57:27 UTC 2021
Module: Mesa
Branch: main
Commit: e78d5bb8e2bb87d53dce4fe61e1f21a933aae922
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e78d5bb8e2bb87d53dce4fe61e1f21a933aae922
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Aug 9 11:36:58 2021 +1000
clover/nir: don't convert to NIR on library link
If just creating a library, just link the spir-v and store it.
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12286>
---
src/gallium/frontends/clover/core/compiler.hpp | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/gallium/frontends/clover/core/compiler.hpp b/src/gallium/frontends/clover/core/compiler.hpp
index 30dfe448c8b..7e2380eb25e 100644
--- a/src/gallium/frontends/clover/core/compiler.hpp
+++ b/src/gallium/frontends/clover/core/compiler.hpp
@@ -62,10 +62,16 @@ namespace clover {
static inline module
link_program(const std::vector<module> &ms, 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()) {
- case PIPE_SHADER_IR_NIR_SERIALIZED:
- return nir::spirv_to_nir(spirv::link_program(ms, dev, opts, log),
+ case PIPE_SHADER_IR_NIR_SERIALIZED: {
+ auto spirv_linked_module = spirv::link_program(ms, dev, opts, log);
+ if (create_library)
+ return spirv_linked_module;
+ return nir::spirv_to_nir(spirv_linked_module,
dev, log);
+ }
case PIPE_SHADER_IR_NATIVE:
return llvm::link_program(ms, dev, opts, log);
default:
More information about the mesa-commit
mailing list