diff options
Diffstat (limited to 'tools/slang-test/test-context.cpp')
| -rw-r--r-- | tools/slang-test/test-context.cpp | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/tools/slang-test/test-context.cpp b/tools/slang-test/test-context.cpp index c37261b61..d333dbcaa 100644 --- a/tools/slang-test/test-context.cpp +++ b/tools/slang-test/test-context.cpp @@ -3,6 +3,7 @@ #include "../../source/core/slang-io.h" #include "../../source/core/slang-string-util.h" +#include "../../source/core/slang-shared-library.h" #include <stdio.h> #include <stdlib.h> @@ -27,15 +28,6 @@ Result TestContext::init() TestContext::~TestContext() { - for (auto& pair : m_sharedLibTools) - { - const auto& tool = pair.Value; - if (tool.m_sharedLibrary) - { - SharedLibrary::unload(tool.m_sharedLibrary); - } - } - if (m_session) { spDestroySession(m_session); @@ -60,11 +52,13 @@ TestContext::InnerMainFunc TestContext::getInnerMainFunc(const String& dirPath, SharedLibrary::appendPlatformFileName(sharedLibToolBuilder.getUnownedSlice(), builder); String path = Path::combine(dirPath, builder); + DefaultSharedLibraryLoader* loader = DefaultSharedLibraryLoader::getSingleton(); + SharedLibraryTool tool = {}; - if (SLANG_SUCCEEDED(SharedLibrary::loadWithPlatformPath(path.begin(), tool.m_sharedLibrary))) + if (SLANG_SUCCEEDED(loader->loadPlatformSharedLibrary(path.begin(), tool.m_sharedLibrary.writeRef()))) { - tool.m_func = (InnerMainFunc)SharedLibrary::findFuncByName(tool.m_sharedLibrary, "innerMain"); + tool.m_func = (InnerMainFunc)tool.m_sharedLibrary->findFuncByName("innerMain"); } m_sharedLibTools.Add(name, tool); @@ -76,12 +70,7 @@ void TestContext::setInnerMainFunc(const String& name, InnerMainFunc func) SharedLibraryTool* tool = m_sharedLibTools.TryGetValue(name); if (tool) { - if (tool->m_sharedLibrary) - { - SharedLibrary::unload(tool->m_sharedLibrary); - tool->m_sharedLibrary = nullptr; - } - + tool->m_sharedLibrary.setNull(); tool->m_func = func; } else @@ -99,14 +88,19 @@ DownstreamCompilerSet* TestContext::getCompilerSet() compilerSet = new DownstreamCompilerSet; DownstreamCompilerUtil::InitializeSetDesc desc; + + ComPtr<ISlangSharedLibrary> nvrtcSharedLibrary; + DefaultSharedLibraryLoader::getSingleton()->loadSharedLibrary(DefaultSharedLibraryLoader::getSharedLibraryNameFromType(SharedLibraryType::NVRTC), nvrtcSharedLibrary.writeRef()); + desc.sharedLibraries[int(DownstreamCompiler::CompilerType::NVRTC)] = nvrtcSharedLibrary; + DownstreamCompilerUtil::initializeSet(desc, compilerSet); } return compilerSet; } -Slang::DownstreamCompiler* TestContext::getDefaultCompiler() +Slang::DownstreamCompiler* TestContext::getDefaultCompiler(DownstreamCompiler::SourceType sourceType) { DownstreamCompilerSet* set = getCompilerSet(); - return set ? set->getDefaultCompiler() : nullptr; + return set ? set->getDefaultCompiler(sourceType) : nullptr; } |
