mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
149 lines
3.9 KiB
Plaintext
149 lines
3.9 KiB
Plaintext
[require]
|
|
shader model >= 4.0
|
|
|
|
% These are just parsing tests.
|
|
|
|
[compute shader]
|
|
[numthreads(768, 1, 1)]
|
|
void main(uint local_idx : SV_GroupIndex, uint group_id : SV_GroupID)
|
|
{
|
|
GroupMemoryBarrier();
|
|
GroupMemoryBarrierWithGroupSync();
|
|
DeviceMemoryBarrier();
|
|
DeviceMemoryBarrierWithGroupSync();
|
|
AllMemoryBarrier();
|
|
AllMemoryBarrierWithGroupSync();
|
|
}
|
|
|
|
[pixel shader]
|
|
float4 main() : sv_target
|
|
{
|
|
DeviceMemoryBarrier();
|
|
return 0;
|
|
}
|
|
|
|
[pixel shader fail]
|
|
float4 main() : sv_target
|
|
{
|
|
DeviceMemoryBarrierWithGroupSync();
|
|
return 0;
|
|
}
|
|
|
|
[pixel shader fail]
|
|
float4 main() : sv_target
|
|
{
|
|
GroupMemoryBarrier();
|
|
return 0;
|
|
}
|
|
|
|
[pixel shader fail]
|
|
float4 main() : sv_target
|
|
{
|
|
GroupMemoryBarrierWithGroupSync();
|
|
return 0;
|
|
}
|
|
|
|
[pixel shader fail]
|
|
float4 main() : sv_target
|
|
{
|
|
AllMemoryBarrier();
|
|
return 0;
|
|
}
|
|
|
|
[pixel shader fail]
|
|
float4 main() : sv_target
|
|
{
|
|
AllMemoryBarrierWithGroupSync();
|
|
return 0;
|
|
}
|
|
|
|
|
|
[require]
|
|
shader model >= 5.0
|
|
|
|
[uav 2]
|
|
format r32g32b32a32-float
|
|
size (buffer, 3)
|
|
|
|
0.1 0.2 0.3 0.4
|
|
0.1 0.2 0.3 0.4
|
|
0.1 0.2 0.3 0.4
|
|
|
|
[compute shader]
|
|
RWBuffer<float4> u : register(u2);
|
|
|
|
[numthreads(1024, 1, 1)]
|
|
void main(uint local_idx : SV_GroupIndex, uint group_id : SV_GroupID)
|
|
{
|
|
u[0] = 100;
|
|
|
|
DeviceMemoryBarrierWithGroupSync();
|
|
|
|
if (local_idx == 1)
|
|
{
|
|
// With this many threads, it is unlikely that this will be the last
|
|
// write to u[0] if the barrier doesn't work.
|
|
u[0] = 42;
|
|
}
|
|
}
|
|
|
|
[test]
|
|
todo(glsl | msl) dispatch 1 1 1
|
|
probe uav 2 (0) rgba(42.0, 42.0, 42.0, 42.0)
|
|
|
|
[require]
|
|
shader model >= 5.0
|
|
format r32-uint uav-load
|
|
|
|
[uav 3]
|
|
format r32-uint
|
|
size (buffer, 1024)
|
|
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
[compute shader]
|
|
RWBuffer<uint> u : register(u3);
|
|
|
|
[numthreads(1024, 1, 1)]
|
|
void main(uint local_idx : SV_GroupIndex, uint group_id : SV_GroupID)
|
|
{
|
|
InterlockedAdd(u[0], 1);
|
|
DeviceMemoryBarrierWithGroupSync();
|
|
u[local_idx] = u[0];
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) dispatch 1 1 1
|
|
probe uav 3 (0, 0, 1024, 1) u32(1024)
|