From ea7690558bca71ce3a9453adff4e0135352a352f Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Mon, 30 Mar 2020 19:23:09 -0400 Subject: CUDA version handling (#1301) * render feature for CUDA compute model. * Use SemanticVersion type. * Enable CUDA wave tests that require CUDA SM 7.0. Provide mechanism for DownstreamCompiler to specify version numbers. * Enabled wave-equality.slang * Make CUDA SM version major version not just a single digit. * Fix assert. * DownstreamCompiler::Version -> CapabilityVersion --- source/slang/slang-compiler.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'source/slang/slang-compiler.cpp') 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(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); -- cgit v1.2.3