summaryrefslogtreecommitdiff
path: root/source/core/slang-downstream-compiler.h
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2020-03-30 19:23:09 -0400
committerGitHub <noreply@github.com>2020-03-30 23:23:09 +0000
commitea7690558bca71ce3a9453adff4e0135352a352f (patch)
tree3eb983d3f8e6b1c215f6d2818a0f3e793ecb4485 /source/core/slang-downstream-compiler.h
parentad5b60c8b5868c69a979779f201748fb7837fdc9 (diff)
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
Diffstat (limited to 'source/core/slang-downstream-compiler.h')
-rw-r--r--source/core/slang-downstream-compiler.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/core/slang-downstream-compiler.h b/source/core/slang-downstream-compiler.h
index f9e33ed6c..3ffa32097 100644
--- a/source/core/slang-downstream-compiler.h
+++ b/source/core/slang-downstream-compiler.h
@@ -7,6 +7,7 @@
#include "slang-process-util.h"
#include "slang-platform.h"
+#include "slang-semantic-version.h"
#include "slang-io.h"
@@ -207,6 +208,16 @@ public:
String value;
};
+ struct CapabilityVersion
+ {
+ enum class Kind
+ {
+ CUDASM, ///< What the version is for
+ };
+ Kind kind;
+ SemanticVersion version;
+ };
+
struct CompileOptions
{
typedef uint32_t Flags;
@@ -247,6 +258,8 @@ public:
List<String> includePaths;
List<String> libraryPaths;
+
+ List<CapabilityVersion> requiredCapabilityVersions;
};
typedef uint32_t ProductFlags;