blob: f1b74f7ced2825c66a961ab420f98ae0e74946ee (
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
|
//TEST(compute):COMPARE_COMPUTE:-cpu
//TEST(compute):COMPARE_COMPUTE:
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
//TEST_INPUT:ubuffer(data=[0 2 3 3]):name=s[0].a
//TEST_INPUT:ubuffer(data=[4 5 6 7]):name=s[1].a
//TEST_INPUT:ubuffer(data=[8 9 10 11]):name=s[0].b
//TEST_INPUT:ubuffer(data=[12 13 14 15]):name=s[1].b
RWStructuredBuffer<int> outputBuffer;
struct S
{
RWByteAddressBuffer a;
RWByteAddressBuffer b;
};
S s[2];
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
uint i = dispatchThreadID.x;
int val =
s[0].a.Load(i * 4)
+ s[1].a.Load(i * 4)*16
+ s[0].b.Load(i * 4)*256
+ s[1].b.Load(i * 4)*4096;
outputBuffer[i] = val;
}
|