tests/shader_runner: Test versions where the compilation result changes.

Adjust the algorithm for deciding for which profiles to test compilation.

We first ensure that if the compilation result changes (most often as the result
of a feature introduced in a specific version), we test the versions immediately
on either side of the change, to validate that vkd3d-shader is emulating the
same version behaviour.

We then ensure that we are testing at least one version from each set of sm1,
sm4, and sm6.
This commit is contained in:
Elizabeth Figura
2024-12-11 23:15:59 -06:00
committed by Henri Verbeet
parent 067e6deee4
commit 8fcbbfb8b1
Notes: Henri Verbeet 2024-12-17 16:52:41 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1318
12 changed files with 60 additions and 31 deletions

View File

@ -2,7 +2,7 @@
options: backcompat
[pixel shader fail(sm>=6)]
[pixel shader fail(sm>=5.1) todo(sm>=5.1)]
sampler2D sam = sampler_state
{
texture = NULL;
@ -54,7 +54,7 @@ float4 main(): sv_target
}
[pixel shader fail(sm>=6)]
[pixel shader fail(sm>=5.1) todo(sm>=5.1)]
sampler sam[2] =
{
sampler_state
@ -106,7 +106,7 @@ float4 main(): sv_target
}
[pixel shader fail(sm>=6)]
[pixel shader fail(sm>=5.1) todo(sm>=5.1)]
sampler sam = sampler_state
{
texture = NULL;
@ -121,7 +121,7 @@ float4 main(): sv_target
}
[pixel shader fail(sm>=6)]
[pixel shader fail(sm>=5.1) todo(sm>=5.1)]
sampler sam = sampler_state
{
foo = BAR;
@ -135,7 +135,7 @@ float4 main(): sv_target
}
[pixel shader fail(sm>=6)]
[pixel shader fail(sm>=5.1) todo(sm>=5.1)]
// default value initializers make it more permissive but if types don't match
// then the whole initializer is discarded.
float4 f = {
@ -208,7 +208,7 @@ float4 main(): sv_target
shader model >= 5.0
options: backcompat
[pixel shader fail(sm>=6)]
[pixel shader fail(sm>=5.1) todo(sm>=5.1)]
// Default values and sample_state work.
// Requires sm5.