Commit Graph

2588 Commits

Author SHA1 Message Date
Francisco Casas
bc63aaf52d tests/shader_runner_gl: Enable used GL_CLIP_DISTANCEs.
Here I am just printing a trace message on the rare situation where
GL_MAX_CLIP_DISTANCES is less than we need.

The maximum in Direct3D is given by D3D#_CLIP_OR_CULL_DISTANCE_COUNT which
is 8, which seems expectable here.

Alternatively we could add a clip-distance capability and only enable
it if gl_maxClipDistances is >= 8.

Another potential problem is that OpenGL expects the gl_ClipDistance[]
array to be the same size on every shader it is declared, which is a
restriction I am not sure Direct3D has with its SV_ClipDistance
components.

Co-authored-by: Anna (navi) Figueiredo Gomes <agomes@codeweavers.com>
2025-10-29 13:13:44 +01:00
Francisco Casas
ca5bc63e5e tests/hlsl: Add a simpler clip/cull distance test. 2025-10-29 12:26:33 +01:00
Francisco Casas
cb7dac4d65 tests/shader_runner: Introduce a "cull-distance" capability. 2025-10-29 12:24:50 +01:00
Giovanni Mascellani
d3f658d410 tests/hlsl: Skip a tessellation test that is buggy on WARP with SM>=6. 2025-10-28 16:51:20 +01:00
Giovanni Mascellani
84c4a4f835 tests/hlsl: Do not test overflowing a float-to-half typed buffer read.
Native implementations do not behave consistently.
2025-10-28 16:48:21 +01:00
Giovanni Mascellani
dedb14e55e tests/hlsl: Tweak hyperbolic functions tests on WARP.
WARP seems to be completely off for large argument values. The
difference quickly becomes of order of magnitudes, not ULPs. So
we ensure we test hyperbolic functions mostly for small arguments,
and skip WARP for large arguments.
2025-10-27 19:01:09 +01:00
Giovanni Mascellani
ca81ffe088 tests/hlsl: Add SM6 behaviour in sm1-const-folding.shader_test.
Which fortunately looks saner than previous shader models.
2025-10-27 19:01:00 +01:00
Giovanni Mascellani
f72307fc9f tests/hlsl: Evaluate asin() with larger error tolerance on SM6.
It currently fails with WARP.
2025-10-27 18:59:13 +01:00
Giovanni Mascellani
85a1fb6e47 tests/hlsl: Use explicit infinities in half.shader_test.
We used to need workarounds when we used scanf() to parse float
numbers, but now we use strtof() which supports "inf" properly.
On the other hand, on some platforms it is the workaround that
now fails with a range error.
2025-10-27 18:57:37 +01:00
Giovanni Mascellani
2b68f488f4 tests/hlsl: Do not test some details of float-to-half conversion.
Native implementations do not behave consistently.
2025-10-27 18:55:58 +01:00
Giovanni Mascellani
303790875b tests/hlsl: Use explicit infinities in cast-to-half.shader_test.
We used to need workarounds when we used scanf() to parse float
numbers, but now we use strtof() which supports "inf" properly.
On the other hand, on some platforms it is the workaround that
now fails with a range error.
2025-10-27 18:53:38 +01:00
Elizabeth Figura
6633c220b7 tests: Add bump mapping tests. 2025-10-27 18:41:26 +01:00
Elizabeth Figura
6b5fe9daaf tests: Set tags in the d3d9 runner. 2025-10-27 18:23:25 +01:00
Elizabeth Figura
27e87ff0f3 tests: Allow RTV -> SRV blits in the d3d9 runner. 2025-10-27 18:23:25 +01:00
Shaun Ren
b5e2e1dd06 vkd3d-shader/ir: Determine the correct writemask for destinations with fixed masks. 2025-10-16 14:27:29 +02:00
Shaun Ren
e5081a1bf9 tests/shader_runner: Add a "compile shader model" require directive.
This directive requires specific shader models to be tested for
compilation, bypassing the default behaviour where only one version from
each shader model set (SM1-3, SM4-5, SM6) is compiled.
2025-10-16 14:26:47 +02:00
Giovanni Mascellani
a7e56beb19 ci: Run the Windows tests with WARP version 1.0.16.1.
Many tests fail or even segfault with the older WARP version
provided by the current CI Windows environment.
2025-10-16 14:25:07 +02:00
Giovanni Mascellani
a6c6ba6eda tests/hlsl: Check the result for attribute evaluation tests more sharply.
Those tests are meant to check that each single sample computes the
right value during a multi-sampled rendering operation. Checking whether
the result is correct after multi-sample resolution isn't enough,
because errors at different samples belonging to the same pixel might
have cancelled out.

Instead, for each shader invocation we compute the expected result and
return the absolute value of the difference between the expected and
computed value. This way errors at different samples cannot cancel out,
but add up.
2025-10-16 14:16:43 +02:00
Giovanni Mascellani
085ba17c4c tests/d3d12: Use D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE in test_stencil_load().
The texture is also accessed by a compute shader.
2025-10-16 14:03:08 +02:00
Giovanni Mascellani
6d4df71f61 tests/d3d12: Use D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE in test_depth_load().
The texture is also accessed by a compute shader.
2025-10-16 14:03:01 +02:00
Giovanni Mascellani
beed3f0e15 tests: Print ANSI colour codes in the Windows test driver.
That program is only meant to be used in the specific context of the CI,
so we don't care about querying the terminal or honouring environment
variables.
2025-10-16 14:01:01 +02:00
Elizabeth Figura
507990d3c5 vkd3d-shader/d3dbc: Fix writing vertex input semantics. 2025-10-15 12:55:16 +02:00
Elizabeth Figura
cb514ef6e0 tests: Test a shader with many semantics. 2025-10-15 12:54:52 +02:00
Henri Verbeet
e7f258c622 vkd3d-shader/d3dbc: Get the resource/sampler index from the destination operand in vsir_program_lower_texld_sm1(). 2025-10-15 12:45:39 +02:00
Henri Verbeet
1b491a657c tests: Test that ps_1_4 texld samples from the sampler corresponding to the destination operand. 2025-10-15 12:45:39 +02:00