summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorkaizhangNV <149626564+kaizhangNV@users.noreply.github.com>2024-08-30 15:57:11 -0500
committerGitHub <noreply@github.com>2024-08-30 13:57:11 -0700
commit3cf5935b434a8b9a07a6df5a6ab4c4dc373a1ac3 (patch)
tree7480a6c583b97b8f90797d73b88731a8854bf3c8 /tools
parentde83628070614ec37349c9f334ed72a54a6889da (diff)
capture component type (#4967)
* Refactor the IComponentType recording Refactor the `IComponentType` recording by creating a abstract class `IComponentTypeRecorder` to record all the methods of `IComponentType`, so that `ICompositeComponentType`, `IModule`, 'IEntryPoint', 'ITypeConformance' can share the same recording implementation. Capture the out IComponentType from linkWithOptions() link() specialize() renameEntryPoint() * fix bugs * Finish the unimeplemented functions in json consumer Fix the address print to use 64 bit hex. Fix the reference count issue when allocating new recorder object. * Disable few examples using reflection APIs * Add gpu-printing example into slang-test * Replace of using std::unique_ptr with RefPtr
Diffstat (limited to 'tools')
-rw-r--r--tools/slang-replay/main.cpp6
-rw-r--r--tools/slang-unit-test/unit-test-record-replay.cpp7
2 files changed, 8 insertions, 5 deletions
diff --git a/tools/slang-replay/main.cpp b/tools/slang-replay/main.cpp
index 85669aa7d..ac7654794 100644
--- a/tools/slang-replay/main.cpp
+++ b/tools/slang-replay/main.cpp
@@ -1,3 +1,4 @@
+#include <memory>
#include <stdio.h>
#include <replay/recordFile-processor.h>
@@ -79,14 +80,15 @@ int main(int argc, char *argv[])
SlangRecord::RecordFileProcessor recordFileProcessor(options.recordFileName);
Slang::String jsonPath = Slang::Path::replaceExt(options.recordFileName, "json");
- SlangRecord::JsonConsumer jsonConsumer(jsonPath);
+ Slang::RefPtr<SlangRecord::JsonConsumer> jsonConsumer;
SlangRecord::ReplayConsumer replayConsumer;
SlangRecord::SlangDecoder decoder;
if (options.convertToJson)
{
- decoder.addConsumer(&jsonConsumer);
+ jsonConsumer = new SlangRecord::JsonConsumer(jsonPath);
+ decoder.addConsumer(jsonConsumer.get());
}
else
{
diff --git a/tools/slang-unit-test/unit-test-record-replay.cpp b/tools/slang-unit-test/unit-test-record-replay.cpp
index 81e74a407..d775e1421 100644
--- a/tools/slang-unit-test/unit-test-record-replay.cpp
+++ b/tools/slang-unit-test/unit-test-record-replay.cpp
@@ -436,11 +436,12 @@ static SlangResult runTests(UnitTestContext* context)
const char* testBinaryNames[] = {
"cpu-hello-world",
"triangle",
- "shader-object",
"ray-tracing",
"ray-tracing-pipeline",
- "model-viewer",
- "autodiff-texture"
+ "autodiff-texture",
+ "gpu-printing"
+ // "shader-object", // these examples requires reflection API to replay, we have to disable it for now.
+ // "model-viewer",
};
SlangResult finalRes = SLANG_OK;