summaryrefslogtreecommitdiff
path: root/tools/slang-capability-generator/capability-generator-main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/slang-capability-generator/capability-generator-main.cpp')
-rw-r--r--tools/slang-capability-generator/capability-generator-main.cpp12
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;
}