From d4e72a93e13ab880b2f355fb7fb5d55cf0113c3d Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 9 Aug 2023 21:52:13 -0700 Subject: Support nested structs in function bodies. (#3078) --- tests/language-feature/struct-in-func.slang | 24 ++++++++++++++++++++++ .../struct-in-func.slang.expected.txt | 1 + 2 files changed, 25 insertions(+) create mode 100644 tests/language-feature/struct-in-func.slang create mode 100644 tests/language-feature/struct-in-func.slang.expected.txt (limited to 'tests') diff --git a/tests/language-feature/struct-in-func.slang b/tests/language-feature/struct-in-func.slang new file mode 100644 index 000000000..d3bd046f0 --- /dev/null +++ b/tests/language-feature/struct-in-func.slang @@ -0,0 +1,24 @@ +//TEST(compute):COMPARE_COMPUTE: -shaderobj +//TEST(compute):COMPARE_COMPUTE: -vk -shaderobj + +int test(int r) +{ + struct Val + { + int a; + int b; + } + Val a; + a.a = 1; + a.b = 2; + return a.a + a.b; +} + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer +RWStructuredBuffer outputBuffer; + +[numthreads(1, 1, 1)] +void computeMain(int3 dispatchThreadID: SV_DispatchThreadID) +{ + outputBuffer[0] = test(dispatchThreadID.x); +} diff --git a/tests/language-feature/struct-in-func.slang.expected.txt b/tests/language-feature/struct-in-func.slang.expected.txt new file mode 100644 index 000000000..e440e5c84 --- /dev/null +++ b/tests/language-feature/struct-in-func.slang.expected.txt @@ -0,0 +1 @@ +3 \ No newline at end of file -- cgit v1.2.3