blob: 7143d3fd400572956b0e30a350f575d379727144 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
/* Test is to try and see what effects type constraints have.
This is a bit of a silly example.
Fails with
.slang(23): note 99999: an internal error threw an exception while working on code near this location
(0): error 99999: Slang compilation aborted due to an exception of class Slang::InternalError: unimplemented: value lowering
*/
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer
RWStructuredBuffer<int> outputBuffer;
enum XXX {};
__generic<T : XXX>
Enum getEnum(T i)
{
return Enum::A;
}
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
int index = dispatchThreadID.x;
XXX x;
let e = getEnum(x);
outputBuffer[index] = int(e);
}
|