From: Dave Airlie Date: Mon, 9 Aug 2021 01:36:58 +0000 (+1000) Subject: clover/nir: don't convert to NIR on library link X-Git-Tag: upstream/22.3.5~19362 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e78d5bb8e2bb87d53dce4fe61e1f21a933aae922;p=platform%2Fupstream%2Fmesa.git 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 Acked-by: Alyssa Rosenzweig Part-of: --- diff --git a/src/gallium/frontends/clover/core/compiler.hpp b/src/gallium/frontends/clover/core/compiler.hpp index 30dfe44..7e2380e 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 &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: