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.
This commit is contained in:
Francisco Casas
2024-08-01 19:13:31 -04:00
committed by Henri Verbeet
parent fb153bf5d4
commit b701f8d393
Notes: Henri Verbeet 2024-08-22 16:43:21 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/991
21 changed files with 289 additions and 35 deletions

View File

@@ -1,5 +1,6 @@
[require]
shader model >= 5.0
format r32-float uav-load
[uav 0]
format r32-float

View File

@@ -24,6 +24,7 @@ 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

View File

@@ -42,6 +42,7 @@ probe (3, 1) rgba (1, 0, 0, 1)
[require]
shader model >= 5.0
format r32-float uav-load
[uav 1]
format r32-float

View File

@@ -164,6 +164,10 @@ void func() {}
[numthreads(1, 1, 1)]
void main() { func(); }
[require]
shader model >= 5.0
format r32-float uav-load
[uav 0]
format r32-float
size (2d, 2, 2)

View File

@@ -1,5 +1,6 @@
[require]
shader model >= 6.0
format r32g32b32a32-float uav-load
[uav 0]
format r32-float
@@ -17,7 +18,8 @@ RWTexture2D<float4> u : register(u1);
float4 main() : sv_target
{
/* Unlike SM < 6.0, all four components are not required to be written in a single statement. */
/* Unlike SM < 6.0, all four components are not required to be written in a single statement.
* but this requires Typed UAV Load Additional Formats. */
u[uint2(0, 0)].xy = float2(1, 2);
u[uint2(0, 0)].zw = float2(3, 4);
return 0;

View File

@@ -169,6 +169,7 @@ probe (0, 0) rgba (1, 2, 3, 4)
[require]
shader model >= 5.0
format r32-float uav-load
[uav 1]

View File

@@ -1,5 +1,7 @@
[require]
shader model >= 5.0
format r32-sint uav-load
format r32-uint uav-load
[uav 1]
format r32-uint

View File

@@ -18,7 +18,6 @@ void main()
todo(sm<6) dispatch 3 1 1
probe uav 1 (0) rui (12)
[uav 1]
size (counter_buffer, 1)
0

View File

@@ -1,5 +1,6 @@
[require]
shader model >= 5.0
format r32-float uav-load
[uav 0]
format r32-float

View File

@@ -164,6 +164,10 @@ float4 main() : sv_target1
return 0;
}
[require]
shader model >= 5.0
[uav 1]
format r32g32b32a32-sint
size (buffer, 2)

View File

@@ -1,6 +1,8 @@
[require]
shader model >= 5.0
shader model < 6.0
format r32-float uav-load
format r32g32b32a32-float uav-load
[pixel shader fail]
RWTexture2D<float4> u;

View File

@@ -1,6 +1,8 @@
[require]
shader model >= 6.0
wave ops
format r32g32b32a32-float uav-load
format r32g32b32a32-uint uav-load
[uav 0]
format r32g32b32a32-float

View File

@@ -1,6 +1,7 @@
[require]
shader model >= 6.0
wave ops
format r32g32b32a32-sint uav-load
[uav 0]
format r32g32b32a32-sint

View File

@@ -1,6 +1,7 @@
[require]
shader model >= 6.0
wave ops
format r32-uint uav-load
[uav 0]
format r32-uint

View File

@@ -1,5 +1,6 @@
[require]
shader model >= 6.0
format r32-uint uav-load
[uav 0]
format r32-uint