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 | |
| parent | e21d5ad650130631e17662ce8f22d15315ab597a (diff) | |
* Renamed spSessionHasCompileTargetSupport to spSessionCheckCompileTargetSupport. (#728)
* Improved return codes from spSessionCheckCompileTargetSupport
Diffstat (limited to 'source')
| -rw-r--r-- | source/slang/compiler.cpp | 37 | ||||
| -rw-r--r-- | source/slang/compiler.h | 2 | ||||
| -rw-r--r-- | source/slang/slang.cpp | 4 |
3 files changed, 22 insertions, 21 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; } // diff --git a/source/slang/compiler.h b/source/slang/compiler.h index 0eaf6e8e9..7be5b332d 100644 --- a/source/slang/compiler.h +++ b/source/slang/compiler.h @@ -500,7 +500,7 @@ namespace Slang CodeGenTarget target); /* Returns true if a codeGen target is available. */ - bool hasCodeGenTarget(Session* session, CodeGenTarget target); + SlangResult checkCompileTargetSupport(Session* session, CodeGenTarget target); struct TypeCheckingCache; // diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp index ef71430fc..8fe08884e 100644 --- a/source/slang/slang.cpp +++ b/source/slang/slang.cpp @@ -1147,12 +1147,12 @@ SLANG_API ISlangSharedLibraryLoader* spSessionGetSharedLibraryLoader( return (s->sharedLibraryLoader == Slang::DefaultSharedLibraryLoader::getSingleton()) ? nullptr : s->sharedLibraryLoader.get(); } -SLANG_API SlangResult spSessionHasCompileTargetSupport( +SLANG_API SlangResult spSessionCheckCompileTargetSupport( SlangSession* session, SlangCompileTarget target) { auto s = SESSION(session); - return Slang::hasCodeGenTarget(s, Slang::CodeGenTarget(target)) ? SLANG_OK : SLANG_FAIL; + return Slang::checkCompileTargetSupport(s, Slang::CodeGenTarget(target)); } SLANG_API SlangCompileRequest* spCreateCompileRequest( |
