diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2022-04-15 15:46:45 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-15 15:46:45 -0400 |
| commit | d939773a9127bccbbd22903eb5b5620ad7127d37 (patch) | |
| tree | c9610f4891ba99f70bb5493ebca2daf16da88722 /source/slang/slang-ir-link.cpp | |
| parent | ac81614974700806e8257b8483a0ba97b925971a (diff) | |
DXIL library support and Artifact type (#2186)
* #include an absolute path didn't work - because paths were taken to always be relative.
* Compile to a dxil library.
* Added CompileProduct.
* Support handling of ModuleLibrary.
* CacheBehavior -> Cache
* Use CompileProduct for -r references.
* CompileProduct -> Artifact.
* Determining an artifact type on binding.
* Determine binary linkability.
* Added Artifact::exists.
* Added ArtifactKeep.
* Small fixes.
* Small improvements to Artifact.
* Add zip extension.
* Fix some comments.
Diffstat (limited to 'source/slang/slang-ir-link.cpp')
| -rw-r--r-- | source/slang/slang-ir-link.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source/slang/slang-ir-link.cpp b/source/slang/slang-ir-link.cpp index 45b9a842f..b03d48764 100644 --- a/source/slang/slang-ir-link.cpp +++ b/source/slang/slang-ir-link.cpp @@ -6,6 +6,7 @@ #include "slang-ir-insts.h" #include "slang-mangle.h" #include "slang-ir-string-hash.h" +#include "slang-artifact.h" namespace Slang { @@ -1387,8 +1388,14 @@ LinkedIR linkIR( { irModules.add(irModule); }); - irModules.addRange(linkage->m_libModules.getBuffer()->readRef(), linkage->m_libModules.getCount()); - + for (Artifact* artifact : linkage->m_libModules) + { + ModuleLibrary* library = artifact->findObjectInstance<ModuleLibrary>(); + if (library) + { + irModules.addRange(library->m_modules.getBuffer()->readRef(), library->m_modules.getCount()); + } + } // Add any modules that were loaded as libraries for (IRModule* irModule : irModules) |
