From 3cf5935b434a8b9a07a6df5a6ab4c4dc373a1ac3 Mon Sep 17 00:00:00 2001 From: kaizhangNV <149626564+kaizhangNV@users.noreply.github.com> Date: Fri, 30 Aug 2024 15:57:11 -0500 Subject: 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 --- tools/slang-replay/main.cpp | 6 ++++-- tools/slang-unit-test/unit-test-record-replay.cpp | 7 ++++--- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'tools') 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 #include #include @@ -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 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; -- cgit v1.2.3