165 Commits

Author SHA1 Message Date
Giovanni Mascellani
73be28a252 tests: Use plain skip() when skipping a test in the shader runner.
The context already gives the location in the .shader_test file.
2024-12-03 12:38:26 +01:00
Elizabeth Figura
d56601c8d0 vkd3d-shader/ir: Implement exponential fog. 2024-12-02 17:12:20 +01:00
Elizabeth Figura
1fbbc82f3a vkd3d-shader/ir: Allow controlling the fog source through a parameter. 2024-12-02 17:12:16 +01:00
Elizabeth Figura
f86d1e72a4 vkd3d-shader/ir: Allow controlling fog through parameters.
Fog requires several parameters to even implement the most basic of
functionality correctly, so this commit is relatively large.
2024-12-02 17:12:06 +01:00
Henri Verbeet
92fa68cb07 tests/shader_runner: Slightly simplify dxc handling. 2024-11-13 16:18:36 +01:00
Giovanni Mascellani
7450c4a368 tests: Mark some tests in wave-reconvergence.shader_test as buggy on MoltenVK. 2024-11-06 22:15:09 +01:00
Feifan He
b0646cb427 tests/shader_runner: Introduce a Metal shader runner. 2024-10-31 16:47:26 +01:00
Henri Verbeet
da75582a14 tests/shader_runner: Check whether copy/dispatch/draw succeeded in parse_test_directive(). 2024-10-31 16:46:59 +01:00
Henri Verbeet
b5f1979475 tests/shader_runner: Print "(none)" for an empty caps list in trace_shader_caps().
Like we do in trace_format_cap().
2024-10-31 16:46:59 +01:00
Henri Verbeet
aeae8322da tests: Add a test for actual multisample loads.
The existing test loads from a single sample texture.
2024-10-28 17:58:05 +01:00
Elizabeth Figura
b3eee0a323 tests/shader_runner: Centralize the compile_hlsl() helper in shader_runner.c. 2024-10-28 17:23:10 +01:00
Elizabeth Figura
591ae5e18e tests/shader_runner: Store the dxc_compiler in the shader_runner. 2024-10-28 17:23:10 +01:00
Elizabeth Figura
b492ebc374 tests/shader_runner: Store shader sources as an array. 2024-10-28 17:23:06 +01:00
Elizabeth Figura
d39e840c14 tests/shader_runner: Store shader caps using an array. 2024-10-28 16:20:27 +01:00
Henri Verbeet
d48f7409fe tests/shader_runner: Print the test context in fatal_error().
In particular, this gets us line numbers.
2024-10-24 20:53:45 +02:00
Giovanni Mascellani
8d8e0fd55a tests: Test mismatching RTV and pixel shader output types. 2024-10-22 20:38:18 +02:00
Giovanni Mascellani
dff7c0e7b8 tests: Mark interface packing pipeline creation as todo on MoltenVK.
Most Vulkan drivers are happy to compile a pipeline with interstage
interface mismatches, even if the pipeline will be broken. Metal,
and therefore MoltenVK, instead doesn't and errors out immediately.
2024-10-22 20:32:51 +02:00
Giovanni Mascellani
bc830fa06b tests: Compute the correct value for condition conjunctions.
Currently the value of the last conjunct is returned.
2024-10-22 20:29:25 +02:00
Elizabeth Figura
6fd1a1ce7e tests: Test point sprite. 2024-10-22 19:14:05 +02:00
Giovanni Mascellani
bc351f4b70 tests/shader-runner: Make geometry shaders optional.
This allows the Vulkan runner to execute in environments which do
not support geometry shaders, most notably MoltenVK. In particular,
that enables SM<4 shaders to run in such environments
2024-10-15 16:55:15 +02:00
Elizabeth Figura
cd249a47b8 tests: Test FFP point size clamping. 2024-10-10 22:44:33 +02:00
Elizabeth Figura
ec53e325b6 tests: Test FFP point size. 2024-10-10 22:30:35 +02:00
Henri Verbeet
3ddf46649b tests/shader_runner: Trace the "clip-planes" cap. 2024-10-10 22:28:26 +02:00
Conor McCarthy
d76435cd21 tests: Move the dxc compilation helpers to utils.h. 2024-10-08 20:34:03 +02:00
Giovanni Mascellani
fbd8b1a8c4 tests/shader-runner: Print the WARP driver version.
Since recent versions seem to have more features and possibly
fewer bugs it is useful to know what you're dealing with.

Currently the latest WARP drivers are distributed here:

  https://www.nuget.org/packages/Microsoft.Direct3D.WARP
2024-10-07 17:33:50 +02:00