tests: Stop probing all pixels when drawing a uniform colour.

This is simply unnecessary and wastes time.

As part of this, simply remove the "all" directive. Only for a couple of tests
is it even potentially interesting to validate all pixels (e.g.
nointerpolation.shader_test), and for those "all" is replaced with an explicit
(0, 0, 640, 480) rect.

In all other cases we just probe (0, 0).
This commit is contained in:
Elizabeth Figura
2024-02-10 13:16:22 -06:00
committed by Henri Verbeet
parent 021eb28584
commit d3ba810c98
Notes: Henri Verbeet 2024-06-14 00:05:14 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/908
163 changed files with 1003 additions and 1007 deletions

View File

@@ -18,15 +18,15 @@ float4 main() : sv_target
if(sm<4) uniform 0 float4 3 0 0 0
if(sm>=4) uniform 0 uint4 3 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (5.0, 5.0, 5.0, 5.0)
probe (0, 0) rgba (5.0, 5.0, 5.0, 5.0)
if(sm<4) uniform 0 float4 1 0 0 0
if(sm>=4) uniform 0 uint4 1 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (4.0, 4.0, 4.0, 4.0)
probe (0, 0) rgba (4.0, 4.0, 4.0, 4.0)
if(sm<4) uniform 0 float4 0 0 0 0
if(sm>=4) uniform 0 uint4 0 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (3.0, 3.0, 3.0, 3.0)
probe (0, 0) rgba (3.0, 3.0, 3.0, 3.0)
% just a default case
@@ -46,15 +46,15 @@ float4 main() : sv_target
if(sm<4) uniform 0 float4 3 0 0 0
if(sm>=4) uniform 0 uint4 3 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (5.0, 5.0, 5.0, 5.0)
probe (0, 0) rgba (5.0, 5.0, 5.0, 5.0)
if(sm<4) uniform 0 float4 1 0 0 0
if(sm>=4) uniform 0 uint4 1 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (5.0, 5.0, 5.0, 5.0)
probe (0, 0) rgba (5.0, 5.0, 5.0, 5.0)
if(sm<4) uniform 0 float4 0 0 0 0
if(sm>=4) uniform 0 uint4 0 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (5.0, 5.0, 5.0, 5.0)
probe (0, 0) rgba (5.0, 5.0, 5.0, 5.0)
% completely empty
@@ -92,15 +92,15 @@ float4 main() : sv_target
if(sm<4) uniform 0 float4 2 0 0 0
if(sm>=4) uniform 0 uint4 2 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (1.0, 2.0, 3.0, 4.0)
probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0)
if(sm<4) uniform 0 float4 1 0 0 0
if(sm>=4) uniform 0 uint4 1 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (1.1, 2.0, 3.0, 4.0)
probe (0, 0) rgba (1.1, 2.0, 3.0, 4.0)
if(sm<4) uniform 0 float4 0 0 0 0
if(sm>=4) uniform 0 uint4 0 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (1.1, 2.0, 3.0, 4.0)
probe (0, 0) rgba (1.1, 2.0, 3.0, 4.0)
% case value evaluation
@@ -128,11 +128,11 @@ float4 main() : sv_target
if(sm<4) uniform 0 float4 2 0 0 0
if(sm>=4) uniform 0 uint4 2 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (1.1, 2.1, 3.1, 4.1)
probe (0, 0) rgba (1.1, 2.1, 3.1, 4.1)
if(sm<4) uniform 0 float4 1 0 0 0
if(sm>=4) uniform 0 uint4 1 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (1.0, 2.0, 3.0, 4.0)
probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0)
% floats are accepted
@@ -160,11 +160,11 @@ float4 main() : sv_target
if(sm<4) uniform 0 float4 2 0 0 0
if(sm>=4) uniform 0 uint4 2 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (1.1, 2.1, 3.1, 4.1)
probe (0, 0) rgba (1.1, 2.1, 3.1, 4.1)
if(sm<4) uniform 0 float4 1 0 0 0
if(sm>=4) uniform 0 uint4 1 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (1.0, 2.0, 3.0, 4.0)
probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0)
[pixel shader fail(sm<4 | sm>=6) todo(sm<4)]
float4 v;
@@ -189,10 +189,10 @@ float4 main() : sv_target
[test]
uniform 0 float4 2.0 0.0 0.0 0.0
todo(sm<4 | glsl) draw quad
probe all rgba (1.1, 2.1, 3.1, 4.1)
probe (0, 0) rgba (1.1, 2.1, 3.1, 4.1)
uniform 0 float4 1.0 0.0 0.0 0.0
todo(sm<4 | glsl) draw quad
probe all rgba (1.0, 2.0, 3.0, 4.0)
probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0)
[pixel shader fail]
uint4 v;
@@ -391,15 +391,15 @@ float4 main() : sv_target
if(sm<4) uniform 0 float4 2 0 0 0
if(sm>=4) uniform 0 uint4 2 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (1.1, 2.1, 3.1, 4.1)
probe (0, 0) rgba (1.1, 2.1, 3.1, 4.1)
if(sm<4) uniform 0 float4 1 0 0 0
if(sm>=4) uniform 0 uint4 1 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (1.2, 2.2, 3.2, 4.2)
probe (0, 0) rgba (1.2, 2.2, 3.2, 4.2)
if(sm<4) uniform 0 float4 0 0 0 0
if(sm>=4) uniform 0 uint4 0 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (1.0, 2.0, 3.0, 4.0)
probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0)
% switch breaks within a loop
[pixel shader todo(sm<4)]
@@ -432,7 +432,7 @@ float4 main() : sv_target
if(sm<4) uniform 0 float4 2 0 0 0
if(sm>=4) uniform 0 uint4 2 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (5.0, 6.0, 7.0, 8.0)
probe (0, 0) rgba (5.0, 6.0, 7.0, 8.0)
% default case placement
@@ -465,15 +465,15 @@ float4 main() : sv_target
if(sm<4) uniform 0 float4 0 0 0 0
if(sm>=4) uniform 0 uint4 0 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (4.0, 5.0, 6.0, 7.0)
probe (0, 0) rgba (4.0, 5.0, 6.0, 7.0)
if(sm<4) uniform 0 float4 2 0 0 0
if(sm>=4) uniform 0 uint4 2 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (2.0, 3.0, 4.0, 5.0)
probe (0, 0) rgba (2.0, 3.0, 4.0, 5.0)
if(sm<4) uniform 0 float4 3 0 0 0
if(sm>=4) uniform 0 uint4 3 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (4.0, 5.0, 6.0, 7.0)
probe (0, 0) rgba (4.0, 5.0, 6.0, 7.0)
[pixel shader todo(sm<4)]
@@ -506,15 +506,15 @@ float4 main() : sv_target
if(sm<4) uniform 0 float4 3 0 0 0
if(sm>=4) uniform 0 uint4 3 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (1.0, 2.0, 3.0, 4.0)
probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0)
if(sm<4) uniform 0 float4 0 0 0 0
if(sm>=4) uniform 0 uint4 0 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (4.0, 5.0, 6.0, 7.0)
probe (0, 0) rgba (4.0, 5.0, 6.0, 7.0)
if(sm<4) uniform 0 float4 5 0 0 0
if(sm>=4) uniform 0 uint4 5 0 0 0
todo(sm<4 | glsl) draw quad
probe all rgba (1.0, 2.0, 3.0, 4.0)
probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0)
% 'continue' is not supported in switches
[pixel shader fail(sm<6)]
@@ -575,11 +575,11 @@ float4 main() : sv_target
if(sm<4) uniform 0 float4 1 0 3 1
if(sm>=4) uniform 0 uint4 1 0 3 1
todo(glsl) draw quad
probe all rgba (10.0, 11.0, 12.0, 13.0)
probe (0, 0) rgba (10.0, 11.0, 12.0, 13.0)
if(sm<4) uniform 0 float4 0 0 3 1
if(sm>=4) uniform 0 uint4 0 0 3 1
todo(glsl) draw quad
probe all rgba (7.0, 8.0, 9.0, 10.0)
probe (0, 0) rgba (7.0, 8.0, 9.0, 10.0)
% return from a switch nested in a loop
[pixel shader fail(sm<4) todo(sm<4)]
@@ -611,11 +611,11 @@ float4 main() : sv_target
if(sm<4) uniform 0 float4 0 0 3 1
if(sm>=4) uniform 0 uint4 0 0 3 1
todo(glsl) draw quad
probe all rgba (304.0, 305.0, 306.0, 307.0)
probe (0, 0) rgba (304.0, 305.0, 306.0, 307.0)
if(sm<4) uniform 0 float4 1 0 3 1
if(sm>=4) uniform 0 uint4 1 0 3 1
todo(glsl) draw quad
probe all rgba (3.0, 4.0, 5.0, 6.0)
probe (0, 0) rgba (3.0, 4.0, 5.0, 6.0)
[require]
shader model >= 6.0
@@ -642,10 +642,10 @@ float4 main() : sv_target
[test]
uniform 0 uint64_t2 2 0
draw quad
probe all rgba (5.0, 5.0, 5.0, 5.0)
probe (0, 0) rgba (5.0, 5.0, 5.0, 5.0)
uniform 0 uint64_t2 0x100000002 0
draw quad
probe all rgba (4.0, 4.0, 4.0, 4.0)
probe (0, 0) rgba (4.0, 4.0, 4.0, 4.0)
uniform 0 uint64_t2 0 0
draw quad
probe all rgba (3.0, 3.0, 3.0, 3.0)
probe (0, 0) rgba (3.0, 3.0, 3.0, 3.0)