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

@ -123,7 +123,10 @@ todo draw quad
todo probe (0,0) rgba (416.0, 416.0, 416.0, 111.0)
[pixel shader todo fail(sm>=6)]
% Fails in sm6 because it uses a uniform parameter.
% Fails in sm5.1 apparently because of a compiler bug:
% error X4609: Overflow of resource binding range
[pixel shader fail(sm>=5.1) todo]
Texture2D tex;
struct apple
@ -167,7 +170,11 @@ filter point point point
address clamp clamp clamp
[pixel shader todo fail(sm>=6)]
% Fails in sm6 because it uses a uniform parameter.
% Fails in sm5.1 apparently because of a compiler bug (different from the above!):
% error X8000: D3D11 Internal Compiler Error: Invalid Bytecode: Sampler s3 already declared. Opcode #5 (count is 1-based).
% error X8000: D3D11 Internal Compiler Error: Invalid Bytecode: Can't continue validation - aborting.
[pixel shader fail(sm>=5.1) todo]
Texture2D tex;
sampler sam0; // must reserve s3