diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2018-11-28 17:56:32 -0500 |
|---|---|---|
| committer | Tim Foley <tfoleyNV@users.noreply.github.com> | 2018-11-28 14:56:32 -0800 |
| commit | 7f0ccc5580faa43c2554d9d016c27ebe069362c5 (patch) | |
| tree | cd958b3cb2e162c18c08583935982f0416f5a07b /source/slang/compiler.cpp | |
| parent | e21d5ad650130631e17662ce8f22d15315ab597a (diff) | |
* Renamed spSessionHasCompileTargetSupport to spSessionCheckCompileTargetSupport. (#728)
* Improved return codes from spSessionCheckCompileTargetSupport
Diffstat (limited to 'source/slang/compiler.cpp')
| -rw-r--r-- | source/slang/compiler.cpp | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/source/slang/compiler.cpp b/source/slang/compiler.cpp index 1e514812a..37e9827f8 100644 --- a/source/slang/compiler.cpp +++ b/source/slang/compiler.cpp @@ -181,31 +181,33 @@ namespace Slang } - bool hasCodeGenTarget(Session* session, CodeGenTarget target) + SlangResult checkCompileTargetSupport(Session* session, CodeGenTarget target) { switch (target) { - case CodeGenTarget::Unknown: return false; - case CodeGenTarget::None: return true; + case CodeGenTarget::None: + { + return SLANG_OK; + } case CodeGenTarget::GLSL: case CodeGenTarget::GLSL_Vulkan: case CodeGenTarget::GLSL_Vulkan_OneDesc: { // Can always output GLSL - return true; + return SLANG_OK; } case CodeGenTarget::HLSL: { // Can always output HLSL - return true; + return SLANG_OK; } case CodeGenTarget::SPIRVAssembly: case CodeGenTarget::SPIRV: { #if SLANG_ENABLE_GLSLANG_SUPPORT - return session->getOrLoadSharedLibrary(Slang::SharedLibraryType::Glslang, nullptr) != nullptr; + return session->getOrLoadSharedLibrary(Slang::SharedLibraryType::Glslang, nullptr) ? SLANG_OK : SLANG_E_NOT_FOUND; #else - return false; + return SLANG_E_NOT_IMPLEMENTED; #endif } case CodeGenTarget::DXBytecode: @@ -213,9 +215,9 @@ namespace Slang { #if SLANG_ENABLE_DXBC_SUPPORT // Must have fxc - return session->getOrLoadSharedLibrary(SharedLibraryType::Fxc, nullptr) != nullptr; + return session->getOrLoadSharedLibrary(SharedLibraryType::Fxc, nullptr) ? SLANG_OK : SLANG_E_NOT_FOUND; #else - return false; + return SLANG_E_NOT_IMPLEMENTED; #endif } @@ -224,19 +226,18 @@ namespace Slang { #if SLANG_ENABLE_DXIL_SUPPORT // Must have dxc - return session->getOrLoadSharedLibrary(SharedLibraryType::Dxc, nullptr) && - session->getOrLoadSharedLibrary(SharedLibraryType::Dxil, nullptr); + return (session->getOrLoadSharedLibrary(SharedLibraryType::Dxc, nullptr) && + session->getOrLoadSharedLibrary(SharedLibraryType::Dxil, nullptr)) ? SLANG_OK : SLANG_E_NOT_FOUND; #else - return false; + return SLANG_E_NOT_IMPLEMENTED; #endif } - - default: - { - SLANG_ASSERT(!"Unhandled target"); - return false; - } + + default: break; } + + SLANG_ASSERT(!"Unhandled target"); + return SLANG_FAIL; } // |
