diff options
Diffstat (limited to 'source/core')
| -rw-r--r-- | source/core/slang-downstream-compiler.cpp | 13 | ||||
| -rw-r--r-- | source/core/slang-downstream-compiler.h | 3 |
2 files changed, 16 insertions, 0 deletions
diff --git a/source/core/slang-downstream-compiler.cpp b/source/core/slang-downstream-compiler.cpp index 2e78ea22b..2f0cff1a9 100644 --- a/source/core/slang-downstream-compiler.cpp +++ b/source/core/slang-downstream-compiler.cpp @@ -182,6 +182,19 @@ void DownstreamCompiler::Desc::appendAsText(StringBuilder& out) const return UnownedStringSlice::fromLiteral("unknown"); } +/* static */SlangCompileTarget DownstreamCompiler::getCompileTarget(SlangSourceLanguage sourceLanguage) +{ + switch (sourceLanguage) + { + case SLANG_SOURCE_LANGUAGE_HLSL: return SLANG_HLSL; + case SLANG_SOURCE_LANGUAGE_GLSL: return SLANG_GLSL; + case SLANG_SOURCE_LANGUAGE_C: return SLANG_C_SOURCE; + case SLANG_SOURCE_LANGUAGE_CPP: return SLANG_CPP_SOURCE; + case SLANG_SOURCE_LANGUAGE_CUDA: return SLANG_CUDA_SOURCE; + default: return SLANG_TARGET_UNKNOWN; + } +} + /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DownstreamDiagnostics !!!!!!!!!!!!!!!!!!!!!!*/ Index DownstreamDiagnostics::getCountByType(Diagnostic::Type type) const diff --git a/source/core/slang-downstream-compiler.h b/source/core/slang-downstream-compiler.h index 57fb88a3c..a4238ce38 100644 --- a/source/core/slang-downstream-compiler.h +++ b/source/core/slang-downstream-compiler.h @@ -296,6 +296,9 @@ public: /// Get the compilers name static UnownedStringSlice getPassThroughName(SlangPassThrough passThru); + /// Given a source language return as the equivalent compile target + static SlangCompileTarget getCompileTarget(SlangSourceLanguage sourceLanguage); + protected: static Infos s_infos; |
