diff options
Diffstat (limited to 'source/slang/slang-compiler.cpp')
| -rw-r--r-- | source/slang/slang-compiler.cpp | 14 |
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); |
