summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-compiler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-compiler.cpp')
-rw-r--r--source/slang/slang-compiler.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/source/slang/slang-compiler.cpp b/source/slang/slang-compiler.cpp
index 7eb5f145b..53a028483 100644
--- a/source/slang/slang-compiler.cpp
+++ b/source/slang/slang-compiler.cpp
@@ -22,6 +22,7 @@
#include "slang-emit.h"
#include "slang-glsl-extension-tracker.h"
+#include "slang-emit-cuda.h"
#include "slang-ir-serialize.h"
@@ -1292,6 +1293,19 @@ SlangResult dissassembleDXILUsingDXC(
SourceResult source;
SLANG_RETURN_ON_FAIL(emitEntryPointSource(slangRequest, entryPointIndex, targetReq, sourceTarget, endToEndReq, source));
+ // Look for the version
+ if (auto cudaTracker = as<CUDAExtensionTracker>(source.extensionTracker))
+ {
+ if (cudaTracker->m_smVersion.isSet())
+ {
+ DownstreamCompiler::CapabilityVersion version;
+ version.kind = DownstreamCompiler::CapabilityVersion::Kind::CUDASM;
+ version.version = cudaTracker->m_smVersion;
+
+ options.requiredCapabilityVersions.add(version);
+ }
+ }
+
options.sourceContents = source.source;
maybeDumpIntermediate(slangRequest, options.sourceContents.getBuffer(), sourceTarget);