mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
tests/hlsl: Add tests to check the void return type of atomic ops.
This commit is contained in:
Notes:
Henri Verbeet
2025-01-20 16:18:51 +01:00
Approved-by: Henri Verbeet (@hverbeet) Approved-by: Elizabeth Figura (@zfigura) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1330
@@ -254,3 +254,44 @@ if(sm<6) probe uav 2 (1) ri (0)
|
||||
if(sm<6) probe uav 2 (2) ri (0)
|
||||
probe uav 2 (3) ri (-1)
|
||||
if(sm<6) probe uav 2 (4) ri (-1)
|
||||
|
||||
|
||||
% Interlocked* functions return void.
|
||||
|
||||
[compute shader fail]
|
||||
RWBuffer<uint> u : register(u1);
|
||||
|
||||
[numthreads(3, 1, 1)]
|
||||
void main()
|
||||
{
|
||||
uint err = InterlockedAdd(u[0], 1);
|
||||
}
|
||||
|
||||
[compute shader fail]
|
||||
RWBuffer<uint> u : register(u1);
|
||||
|
||||
[numthreads(3, 1, 1)]
|
||||
void main()
|
||||
{
|
||||
uint old;
|
||||
uint err = InterlockedAdd(u[0], 1, old);
|
||||
}
|
||||
|
||||
[compute shader fail]
|
||||
RWBuffer<uint> u : register(u1);
|
||||
|
||||
[numthreads(3, 1, 1)]
|
||||
void main()
|
||||
{
|
||||
uint err = InterlockedCompareStore(u[0], 0, 1);
|
||||
}
|
||||
|
||||
[compute shader fail]
|
||||
RWBuffer<uint> u : register(u1);
|
||||
|
||||
[numthreads(3, 1, 1)]
|
||||
void main()
|
||||
{
|
||||
uint old;
|
||||
uint err = InterlockedCompareExchange(u[0], 0, 1, old);
|
||||
}
|
||||
|
Reference in New Issue
Block a user