vkd3d/tests/hlsl/coverage.shader_test
Francisco Casas b701f8d393 tests/shader_runner: Explicitly require UAV load support.
The used UAV formats are explicitly added in the [require] section of
every test that uses them.

Some of these tests were failing on Intel UHD graphics 770 because of
missing support for additional UAV load types, explicitly requiring
these formats allows these tests to be skipped.
2024-08-22 16:22:18 +02:00

79 lines
1.5 KiB
Plaintext

[require]
shader model >= 4.1
[rtv 0]
format r32g32b32a32-float
size (2dms, 4, 640, 480)
[pixel shader]
float4 main(out uint sample_mask : SV_Coverage) : SV_Target
{
sample_mask = 0x5;
return float4(1.0, 1.0, 1.0, 1.0);
}
[test]
clear rtv 0 0.0 0.0 0.0 0.0
todo(glsl) draw quad
probe (0, 0) rgba (0.5, 0.5, 0.5, 0.5)
sample mask 0x0b
clear rtv 0 0.0 0.0 0.0 0.0
todo(glsl) draw quad
probe (0, 0) rgba (0.25, 0.25, 0.25, 0.25)
[require]
shader model >= 5.0
format r32-uint uav-load
[uav 1]
format r32-uint
size (2d, 4, 4)
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
[pixel shader todo]
RWTexture2D<uint> u : register(u1);
float4 main(float4 position : SV_Position, uint coverage : SV_Coverage) : SV_Target
{
InterlockedOr(u[uint2(position.x, position.y)], coverage);
return float4(0.0, 1.0, 0.0, 1.0);
}
[test]
sample mask 0x01
clear rtv 0 0.0 0.0 0.0 0.0
todo(sm<6) draw quad
probe (0, 0) rgba (0.0, 0.25, 0.0, 0.25)
probe uav 1 (0, 0, 4, 4) rui (0x01)
sample mask 0x03
todo(sm<6) draw quad
probe (0, 0) rgba (0.0, 0.5, 0.0, 0.5)
probe uav 1 (0, 0, 4, 4) rui (0x03)
sample mask 0x07
todo(sm<6) draw quad
probe (0, 0) rgba (0.0, 0.75, 0.0, 0.75)
probe uav 1 (0, 0, 4, 4) rui (0x07)
[uav 1]
format r32-uint
size (2d, 4, 4)
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
[test]
clear rtv 0 0.0 0.0 0.0 0.0
sample mask 0x09
todo(sm<6) draw quad
probe (0, 0) rgba (0.0, 0.5, 0.0, 0.5)
probe uav 1 (0, 0, 4, 4) rui (0x09)
sample mask 0x0f
todo(sm<6) draw quad
probe (0, 0) rgba (0.0, 1.0, 0.0, 1.0)
probe uav 1 (0, 0, 4, 4) rui (0x0f)