summaryrefslogtreecommitdiffstats
path: root/tests/spirv/groupshared-array-atomic.slang
blob: 242996dfa1b40a4fb56d519ba60eeef7d2f330ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//TEST:COMPARE_COMPUTE(filecheck-buffer=CHECK): -shaderobj -vk -emit-spirv-directly
groupshared Atomic<uint> values[10];

//TEST_INPUT: set outputAddr = out ubuffer(data=[0 0 0 0], stride=4)
uniform uint64_t outputAddr;

[numthreads(4,1,1)]
void computeMain(int i : SV_DispatchThreadID)
{
    uint* output = (uint*)(outputAddr);
    values[i] = 0;
    values[i] += 1;
    output[i] = values[i].load();

    // CHECK: 1
    // CHECK: 1
    // CHECK: 1
    // CHECK: 1
}