yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

skallweitNVenable more metal tests (#4326)712ce653d

master
651 B33 linesraw
1//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK): -shaderobj
2
3// Test that enum values can be used as compile time constants
4// to specialize generics.
5
6[Flags]
7enum BitFlags
8{
9    One, Two, Three
10}
11
12int test<let F : BitFlags>()
13{
14    return F;
15}
16
17int testInt<let f : int>()
18{
19    return f;
20}
21
22//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
23RWStructuredBuffer<int> outputBuffer;
24
25[numthreads(1, 1, 1)]
26void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
27{
28    // CHECK: 3
29    outputBuffer[0] = test<BitFlags.One | BitFlags.Two>();
30
31    // CHECK: 3
32    outputBuffer[1] = testInt<BitFlags.One | BitFlags.Two>();
33}