diff options
| author | Yong He <yonghe@outlook.com> | 2024-07-24 11:44:13 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-24 11:44:13 -0700 |
| commit | 657213f13d49f0d2caaa8b64c1245ec8c75fc4d7 (patch) | |
| tree | 02f2a6dca56ea384c88095e75b24691d5253d204 /tools/slang-capability-generator/capability-generator-main.cpp | |
| parent | a1607f802ae0a42ffafd2c37d76779873264d371 (diff) | |
Cleanup global memory allocations on shutdown. (#4731)
Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
Diffstat (limited to 'tools/slang-capability-generator/capability-generator-main.cpp')
| -rw-r--r-- | tools/slang-capability-generator/capability-generator-main.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
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; } |
