blob: 2a223e8c20bf66fadd568193fbfe4b7b47cb8180 (
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
|
//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
//TEST(compute):COMPARE_COMPUTE_EX:-vk -slang -compute -shaderobj
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer
RWStructuredBuffer<int> outputBuffer;
/* Tests purpose is to confirm that use of `= {}` initialization
works with a generic */
struct Check<T>
{
// T is not default initialize type, because it's a generic type parameter.
// Therefore, when we synthesize the contructor, we won't create a default value
// for it.
// __init(T v);
T v;
};
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
int index = int(dispatchThreadID.x);
Check<float> v = {0};
outputBuffer[index] = index + int(v.v);
}
|