summaryrefslogtreecommitdiffstats
path: root/tests/cross-compile/barriers.slang
blob: d8bc92fa001541800eb8c03d650b2183747af78a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//TEST:SIMPLE(filecheck=SPIRV): -stage compute -target spirv -emit-spirv-directly -entry main
//TEST:SIMPLE(filecheck=SPIRV): -stage compute -target spirv -entry main
// Confirm that all HLSL barrier operations can be used when cross-compiling.

[numthreads(1,1,1)]
void main()
{
    // SPIRV: OpMemoryBarrier %uint_1 %uint_2376
    // SPIRV: OpControlBarrier %uint_2 %uint_1 %uint_2376
    // SPIRV: OpMemoryBarrier %uint_1 %uint_2120
    // SPIRV: OpControlBarrier %uint_2 %uint_1 %uint_2120
    // SPIRV: OpMemoryBarrier %uint_2 %uint_264
    // SPIRV: OpControlBarrier %uint_2 %uint_2 %uint_264
	AllMemoryBarrier();
	AllMemoryBarrierWithGroupSync();
	DeviceMemoryBarrier();
	DeviceMemoryBarrierWithGroupSync();
	GroupMemoryBarrier();
	GroupMemoryBarrierWithGroupSync();
}