From 3af404da7f7f125464b78159940cb3fc06e69cc5 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Tue, 17 Sep 2019 12:25:45 -0400 Subject: CPU ABI improvements (#1056) * WIP: Improving CPU performance/ABI * Optionally output code on CPU for groupThreadID and groupID. * Added ability to set compute dispatch size on command line for render-test. Dispatch compute tests taking into account dispatch size. Added test for semantics are working. * Test using GroupRange. * Fix problem with adding \n for externa diagnostic - to do it if there isn't a \n at the end. Change the ouput order (put result before) so last value is diagnostic string. --- tests/compute/semantic.slang | 13 +++++++++++++ tests/compute/semantic.slang.expected.txt | 12 ++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 tests/compute/semantic.slang create mode 100644 tests/compute/semantic.slang.expected.txt (limited to 'tests/compute') diff --git a/tests/compute/semantic.slang b/tests/compute/semantic.slang new file mode 100644 index 000000000..12b0ca853 --- /dev/null +++ b/tests/compute/semantic.slang @@ -0,0 +1,13 @@ +//TEST(compute):COMPARE_COMPUTE_EX:-cpu -compute -compile-arg -O3 -compute-dispatch 3,1,1 +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -compute-dispatch 3,1,1 +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -compute-dispatch 3,1,1 +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute -compute-dispatch 3,1,1 + +//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0 0 0 0], stride=4):dxbinding(0),glbinding(0),out,name outputBuffer +RWStructuredBuffer outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID, uint3 groupID : SV_GroupID, uint3 groupThreadID : SV_GroupThreadId) +{ + outputBuffer[dispatchThreadID.x] = (dispatchThreadID.x << 8) | (groupID.x << 4) | (groupThreadID.x); +} \ No newline at end of file diff --git a/tests/compute/semantic.slang.expected.txt b/tests/compute/semantic.slang.expected.txt new file mode 100644 index 000000000..4c57d34ed --- /dev/null +++ b/tests/compute/semantic.slang.expected.txt @@ -0,0 +1,12 @@ +0 +101 +202 +303 +410 +511 +612 +713 +820 +921 +A22 +B23 -- cgit v1.2.3