summaryrefslogtreecommitdiffstats
path: root/source/compiler-core/slang-dxc-compiler.cpp
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2023-03-10 12:24:51 -0500
committerGitHub <noreply@github.com>2023-03-10 12:24:51 -0500
commite39893e8eb1a9411fca4e5f885456a27a770d3a2 (patch)
treebcd2f6aa99b5e6425c17d31f5e4a89b98c854f34 /source/compiler-core/slang-dxc-compiler.cpp
parente06cfb37eb099e45302dd015b0396bf26c913778 (diff)
Add struct version to DownstreamCompiler::CompileOptions interface (#2692)
* #include an absolute path didn't work - because paths were taken to always be relative. * Add versioning to CompileOptions for DownstreamCompiler so we can add new options without breaking binary interface. * Use builtin offset of directly.
Diffstat (limited to 'source/compiler-core/slang-dxc-compiler.cpp')
-rw-r--r--source/compiler-core/slang-dxc-compiler.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/compiler-core/slang-dxc-compiler.cpp b/source/compiler-core/slang-dxc-compiler.cpp
index 80b1f7a21..9df2a4f3f 100644
--- a/source/compiler-core/slang-dxc-compiler.cpp
+++ b/source/compiler-core/slang-dxc-compiler.cpp
@@ -356,8 +356,16 @@ static SlangResult _handleOperationResult(IDxcOperationResult* dxcResult, IArtif
return SLANG_OK;
}
-SlangResult DXCDownstreamCompiler::compile(const CompileOptions& options, IArtifact** outArtifact)
+SlangResult DXCDownstreamCompiler::compile(const CompileOptions& inOptions, IArtifact** outArtifact)
{
+ if (!isVersionCompatible(inOptions))
+ {
+ // Not possible to compile with this version of the interface.
+ return SLANG_E_NOT_IMPLEMENTED;
+ }
+
+ CompileOptions options = getCompatibleVersion(&inOptions);
+
// This compiler can only deal with a single artifact
if (options.sourceArtifacts.count != 1)
{