From 307315a7305e76529837fd1cdb677f534d5f539b Mon Sep 17 00:00:00 2001 From: Yong He Date: Sun, 20 Oct 2024 09:28:13 -0700 Subject: Properly check switch case. (#5341) --- tests/language-feature/enums/enum-switch.slang | 31 ++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tests/language-feature/enums/enum-switch.slang (limited to 'tests/language-feature/enums/enum-switch.slang') diff --git a/tests/language-feature/enums/enum-switch.slang b/tests/language-feature/enums/enum-switch.slang new file mode 100644 index 000000000..600c2e31e --- /dev/null +++ b/tests/language-feature/enums/enum-switch.slang @@ -0,0 +1,31 @@ +//TEST(compute):COMPARE_COMPUTE_EX(filecheck-buffer=CHECK):-slang -compute -shaderobj -output-using-type +//TEST(compute, vulkan):COMPARE_COMPUTE_EX(filecheck-buffer=CHECK):-vk -compute -shaderobj -output-using-type + +enum class E : uint32_t +{ + A, + B, + C +} + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer +RWStructuredBuffer outputBuffer; + +[NumThreads(1,1,1)] +void computeMain(int i : SV_DispatchThreadID) +{ + E e = E(i); + switch (e) + { + case E::A: + outputBuffer[0] = 1; + break; + case E::B: + outputBuffer[0] = 2; + break; + case E::C: + outputBuffer[0] = 3; + break; + } + // CHECK: 1 +} \ No newline at end of file -- cgit v1.2.3