summaryrefslogtreecommitdiffstats
path: root/tools/slang-test/test-context.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/slang-test/test-context.cpp')
-rw-r--r--tools/slang-test/test-context.cpp32
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;
}