summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/render-test/render-test-main.cpp1
-rw-r--r--tools/slang-capability-generator/capability-generator-main.cpp12
-rw-r--r--tools/slang-reflection-test/slang-reflection-test-main.cpp2
-rw-r--r--tools/slang-spirv-embed-generator/spirv-embed-generator-main.cpp2
-rw-r--r--tools/slang-test/slang-test-main.cpp2
-rw-r--r--tools/slangd/main.cpp4
-rw-r--r--tools/test-server/test-server-main.cpp2
7 files changed, 18 insertions, 7 deletions
diff --git a/tools/render-test/render-test-main.cpp b/tools/render-test/render-test-main.cpp
index 0cd94c046..6f67dfd1e 100644
--- a/tools/render-test/render-test-main.cpp
+++ b/tools/render-test/render-test-main.cpp
@@ -1545,6 +1545,7 @@ int main(int argc, char** argv)
SlangResult res = innerMain(stdWriters, session, argc, argv);
spDestroySession(session);
+ slang::shutdown();
return (int)TestToolUtil::getReturnCode(res);
}
diff --git a/tools/slang-capability-generator/capability-generator-main.cpp b/tools/slang-capability-generator/capability-generator-main.cpp
index b08496e35..e4a4885c6 100644
--- a/tools/slang-capability-generator/capability-generator-main.cpp
+++ b/tools/slang-capability-generator/capability-generator-main.cpp
@@ -770,11 +770,11 @@ SlangResult generateDefinitions(DiagnosticSink* sink, List<RefPtr<CapabilityDef>
}
}
outputUIntSetGenerator("generatorOf_kAnyTargetUIntSetBuffer", anyTargetUIntSetHash, anyTargetAtomSet);
- anyTargetUIntSetHash << "const static CapabilityAtomSet kAnyTargetUIntSetBuffer = generatorOf_kAnyTargetUIntSetBuffer();\n";
+ anyTargetUIntSetHash << "static CapabilityAtomSet kAnyTargetUIntSetBuffer = generatorOf_kAnyTargetUIntSetBuffer();\n";
sbCpp << anyTargetUIntSetHash;
outputUIntSetGenerator("generatorOf_kAnyStageUIntSetBuffer", anyStageUIntSetHash, anyStageAtomSet);
- anyStageUIntSetHash << "const static CapabilityAtomSet kAnyStageUIntSetBuffer = generatorOf_kAnyStageUIntSetBuffer();\n";
+ anyStageUIntSetHash << "static CapabilityAtomSet kAnyStageUIntSetBuffer = generatorOf_kAnyStageUIntSetBuffer();\n";
sbCpp << anyStageUIntSetHash;
sbHeader << "\nenum {\n";
@@ -899,6 +899,14 @@ SlangResult generateDefinitions(DiagnosticSink* sink, List<RefPtr<CapabilityDef>
}
sbCpp << "};\n";
+
+ sbCpp
+ << "void freeCapabilityDefs()\n"
+ << "{\n"
+ << " for (auto& cap : kCapabilityArray) { cap = CapabilityAtomSet(); }\n"
+ << " kAnyTargetUIntSetBuffer = CapabilityAtomSet();\n"
+ << " kAnyStageUIntSetBuffer = CapabilityAtomSet();\n"
+ << "}\n";
return SLANG_OK;
}
diff --git a/tools/slang-reflection-test/slang-reflection-test-main.cpp b/tools/slang-reflection-test/slang-reflection-test-main.cpp
index be48d8e92..8866661b8 100644
--- a/tools/slang-reflection-test/slang-reflection-test-main.cpp
+++ b/tools/slang-reflection-test/slang-reflection-test-main.cpp
@@ -1446,6 +1446,6 @@ int main(
SlangResult res = innerMain(stdWriters, session, argc, argv);
spDestroySession(session);
-
+ slang::shutdown();
return SLANG_FAILED(res) ? 1 : 0;
}
diff --git a/tools/slang-spirv-embed-generator/spirv-embed-generator-main.cpp b/tools/slang-spirv-embed-generator/spirv-embed-generator-main.cpp
index 20431e872..fd29ed714 100644
--- a/tools/slang-spirv-embed-generator/spirv-embed-generator-main.cpp
+++ b/tools/slang-spirv-embed-generator/spirv-embed-generator-main.cpp
@@ -418,7 +418,7 @@ void writeInfo(
//
// Now write out the function which holds onto the static embedded info table
//
- line("RefPtr<SPIRVCoreGrammarInfo> SPIRVCoreGrammarInfo::getEmbeddedVersion()");
+ line("RefPtr<SPIRVCoreGrammarInfo>& SPIRVCoreGrammarInfo::getEmbeddedVersion()");
line("{");
line(" static RefPtr<SPIRVCoreGrammarInfo> embedded = [](){");
line(" RefPtr<SPIRVCoreGrammarInfo> info = new SPIRVCoreGrammarInfo();");
diff --git a/tools/slang-test/slang-test-main.cpp b/tools/slang-test/slang-test-main.cpp
index f9e07bdc9..cd3ca3d54 100644
--- a/tools/slang-test/slang-test-main.cpp
+++ b/tools/slang-test/slang-test-main.cpp
@@ -4618,7 +4618,7 @@ int main(int argc, char** argv)
{
const SlangResult res = innerMain(argc, argv);
- Slang::RttiInfo::deallocateAll();
+ slang::shutdown();
#ifdef _MSC_VER
_CrtDumpMemoryLeaks();
diff --git a/tools/slangd/main.cpp b/tools/slangd/main.cpp
index 7727ec135..42d6e0c1b 100644
--- a/tools/slangd/main.cpp
+++ b/tools/slangd/main.cpp
@@ -23,5 +23,7 @@ int main(int argc, const char* const* argv)
}
Slang::LanguageServerStartupOptions options;
options.parse(argc, argv);
- return Slang::runLanguageServer(options);
+ auto result = Slang::runLanguageServer(options);
+ slang::shutdown();
+ return result;
}
diff --git a/tools/test-server/test-server-main.cpp b/tools/test-server/test-server-main.cpp
index 750fb7faf..ba77d9c84 100644
--- a/tools/test-server/test-server-main.cpp
+++ b/tools/test-server/test-server-main.cpp
@@ -563,7 +563,7 @@ SlangResult _execute(int argc, const char* const* argv)
TestServer server;
SLANG_RETURN_ON_FAIL(server.init(argc, argv));
SLANG_RETURN_ON_FAIL(server.execute());
-
+ slang::shutdown();
return SLANG_OK;
}