From e140c4950eb8c69606386ca57284c0655513b9e1 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Wed, 18 Nov 2020 18:12:43 -0500 Subject: Test for serializing out and reading back Stdlib (#1605) * #include an absolute path didn't work - because paths were taken to always be relative. * Mangling/module name extraction for GenericDecl * Add comment on SerialFilter to explain re-enabling Stmt. * Support setting up SyntaxDecl when reconstructed after deserialization. * Improvements to setup SyntaxDecl. * Fix typo so can read compressed SourceLocs. * Fix issue with SourceManger. * Simple test for serializing out stdlib and reading back in. * Fix calling convention. * Add override to StdLib impls. * Fix typo. * Apply testing to an actual compute test when using load-stdlib Make -load/compile-stdlib processable by Slang Move out testing into util into TestToolUtil so can be shared. * Slightly more concise setup of session. * Fix some errors introduced with session handling. * Made setup for compile same across slangc and slangc-tool. --- tests/serialization/std-lib-serialize.slang | 32 +++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 tests/serialization/std-lib-serialize.slang (limited to 'tests/serialization/std-lib-serialize.slang') diff --git a/tests/serialization/std-lib-serialize.slang b/tests/serialization/std-lib-serialize.slang new file mode 100644 index 000000000..e55a2cd69 --- /dev/null +++ b/tests/serialization/std-lib-serialize.slang @@ -0,0 +1,32 @@ +//TEST:COMPILE: -save-stdlib +//TEST:COMPARE_COMPUTE: -compile-arg -load-stdlib + +struct A +{ + float x; + + float addWith(float y) + { + return this.x + y; + } +}; + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer +RWStructuredBuffer outputBuffer : register(u0); + + +float test(float inVal) +{ + A a; + a.x = inVal; + return a.addWith(inVal*inVal); +} + +[numthreads(4, 1, 1)] +void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) +{ + uint tid = dispatchThreadID.x; + float inVal = float(tid); + float outVal = test(inVal); + outputBuffer[tid] = outVal; +} \ No newline at end of file -- cgit v1.2.3