summaryrefslogtreecommitdiffstats
path: root/source/slang/slang.cpp
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2022-04-27 17:53:21 -0400
committerGitHub <noreply@github.com>2022-04-27 17:53:21 -0400
commit634f5414f332f904c7db968810b3d6f0ca253959 (patch)
treec5747ca337e21ce74cc5997722b19a94604fe4aa /source/slang/slang.cpp
parentec530b300524635dfe0fd86949b0a4fc5c19a984 (diff)
Make artifact an interface (#2195)
* #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. * Fix multiple adding of PublicDecoration. Make public output export for DXIL/lib. Add checking for simpleDecorations such that only added once. * Use 'whole program' to identify library build. * Move slang-artifact into compiler-core. * Split out Keep free functions. * Artifact::Keep -> ArtifactKeep. * Handle libraries as artifacts. * Add -target dxil so test infrastructure knows it needs DXC. * Linking working in DXC. * Improve handling around emit for 'export'. * Add comment around Artifact name. * Render test working with linking. * Improvements around Artifact handling. * Add ArtifactPayloadInfo. * Small tidy up around artifact. * Split out code to get info about Artifacts into artifact-info.cpp/.h * IArtifact interface and IArtifactInstance interface. * Fix small issues. * Fix compilation warning issue. * Fix missing SLANG_OVERRIDE. * Small fixes to make compilation work on Visual Studio 2022. * Small improvements to Artifact interface/naming. * Added Desc with each element in IArchive to allow more flexibility in usage. * Fix clang warning issue. * Add ArtifactPayload::Diagnostics * More discussion around IArtifact usage. * Re-add slang-artifact.h which was removed during merge. * Fix typo identified in review.
Diffstat (limited to 'source/slang/slang.cpp')
-rw-r--r--source/slang/slang.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp
index 83c52c660..985599022 100644
--- a/source/slang/slang.cpp
+++ b/source/slang/slang.cpp
@@ -4329,7 +4329,7 @@ void EndToEndCompileRequest::setDefaultModuleName(const char* defaultModuleName)
frontEndReq->m_defaultModuleName = namePool->getName(defaultModuleName);
}
-SlangResult _addLibraryReference(EndToEndCompileRequest* req, Artifact* artifact)
+SlangResult _addLibraryReference(EndToEndCompileRequest* req, IArtifact* artifact)
{
auto desc = artifact->getDesc();
@@ -4350,7 +4350,7 @@ SlangResult _addLibraryReference(EndToEndCompileRequest* req, Artifact* artifact
// Add to the m_libModules
auto linkage = req->getLinkage();
- linkage->m_libModules.add(artifact);
+ linkage->m_libModules.add(ComPtr<IArtifact>(artifact));
return SLANG_OK;
}
@@ -4366,7 +4366,7 @@ SlangResult EndToEndCompileRequest::addLibraryReference(const void* libData, siz
// Create an artifact without any name (as one is not provided)
RefPtr<Artifact> artifact = new Artifact(desc, String());
- artifact->add(Artifact::Entry::Style::Artifact, library);
+ artifact->addElement(desc, library);
return _addLibraryReference(this, artifact);
}