Elizabeth Figura
bdb31a4983
vkd3d-shader/hlsl: Use replace_ir() for hlsl_fold_constant_swizzles().
2025-10-28 16:30:49 +01:00
Elizabeth Figura
deb7a67d67
vkd3d-shader/hlsl: Introduce hlsl_block_add_constant().
2025-10-28 16:30:49 +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
Giovanni Mascellani
6654b88407
vkd3d-shader/ir: Check that no modifier is added to a vsir program after lowering.
2025-10-27 18:48:33 +01:00
Giovanni Mascellani
b41e99c036
vkd3d-shader/ir: Use VSIR_OP_SATURATE in insert_fragment_fog_before_ret().
2025-10-27 18:43:33 +01:00
Giovanni Mascellani
d503fbfd79
vkd3d-shader/ir: Use VSIR_OP_SATURATE in vsir_program_normalise_ps1_output().
2025-10-27 18:43:33 +01:00
Giovanni Mascellani
617ebb9826
vkd3d-shader/ir: Explicitly assert that vsir_program_normalise_ps1_output() runs before I/O normalization.
2025-10-27 18:43:33 +01:00
Giovanni Mascellani
c1991ba785
vkd3d-shader/ir: Use VSIR_OP_SATURATE in vsir_program_lower_texcoord().
2025-10-27 18:43:33 +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
Elizabeth Figura
98ca1ecbda
vkd3d-shader: Lower TEXBEML instructions.
2025-10-27 18:23:20 +01:00
Elizabeth Figura
02b0a754bd
vkd3d-shader: Lower TEXBEM instructions.
2025-10-27 18:14:13 +01:00
Elizabeth Figura
5363730e17
vkd3d-shader: Lower BEM instructions.
...
This requires an interface to specify bump mapping constants.
2025-10-27 18:06:26 +01:00
Elizabeth Figura
24d84e2ee2
vkd3d-shader/spirv: Allow swizzling parameters.
...
This was previously not a concern, since all of our parameter usage involved
trivial swizzles and write masks, but bump parameters will not.
2025-10-27 17:35:14 +01:00
Giovanni Mascellani
86b8f2de35
vkd3d-shader/ir: Error out on unsupported source modifiers.
2025-10-16 15:15:05 +02:00
Giovanni Mascellani
c99c729513
vkd3d-shader/ir: Error out on unsupported destination modifiers.
2025-10-16 15:10:39 +02:00
Giovanni Mascellani
8a100fa06d
vkd3d-shader/ir: Ignore and drop PARTIALPRECISION modifiers.
2025-10-16 14:57:56 +02:00
Giovanni Mascellani
8ec4f75654
vkd3d-shader/ir: Process all destinations when lowering SATURATE modifiers.
...
The instruction iterator should not be advanced when iterating
over more than one destination.
2025-10-16 14:56:30 +02:00
Giovanni Mascellani
737158e7b8
vkd3d-shader/ir: Remove SATURATE modifiers after lowering them.
2025-10-16 14:55:51 +02:00