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@redhat.com> Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12286>
This commit is contained in:
@@ -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:
|
||||
|
Reference in New Issue
Block a user