Commit Graph

36 Commits

Author SHA1 Message Date
Henri Verbeet
9b98761909 vkd3d-shader/msl: Implement VSIR_OP_IREM. 2025-10-14 15:49:18 +02:00
Henri Verbeet
b6acac49f1 vkd3d-shader/msl: Implement VSIR_OP_UREM. 2025-10-14 15:49:18 +02:00
Henri Verbeet
69879129f8 vkd3d-shader/msl: Implement VSIR_OP_IDIV. 2025-10-14 15:49:18 +02:00
Henri Verbeet
90758b7ca8 vkd3d-shader/msl: Implement VSIR_OP_UDIV_SIMPLE. 2025-10-14 15:49:18 +02:00
Henri Verbeet
8eebc71c13 vkd3d-shader/ir: Require signed operands for IMAX instructions. 2025-09-18 11:30:19 +02:00
Henri Verbeet
9b375b3dae vkd3d-shader/glsl: Implement VSIR_OP_UREM. 2025-09-01 15:15:32 +02:00
Henri Verbeet
d30c992039 vkd3d-shader/glsl: Implement VSIR_OP_UDIV_SIMPLE. 2025-08-28 20:06:32 +02:00
Giovanni Mascellani
3817df1164 tests/shader_runner_metal: Run the Metal shader runner with DXIL shaders. 2025-08-04 14:34:23 +02:00
Giovanni Mascellani
395d456386 tests/hlsl: Test int64 comparisons. 2025-07-14 18:10:20 +02:00
Henri Verbeet
752a48f4ac vkd3d-shader/msl: Implement VSIR_OP_IMAX. 2025-06-25 16:00:34 +02:00
Henri Verbeet
9c987e5a0b tests/shader_runner: Introduce the "u32" probe format. 2025-06-10 17:48:19 +02:00
Henri Verbeet
95cf0a8b2c tests/shader_runner: Introduce the "i32" probe format. 2025-06-10 17:47:32 +02:00
Henri Verbeet
a570932b82 vkd3d-shader/msl: Implement VKD3DSIH_IMUL. 2025-06-10 17:45:06 +02:00
Henri Verbeet
3673b65485 vkd3d-shader/msl: Implement VKD3DSIH_IADD. 2025-06-09 16:20:53 +02:00
Giovanni Mascellani
c82d1aac4d tests: Mark some tests in arithmetic-int-uniform.shader_test as buggy on MoltenVK < 1.2.11.
The bug is already solved on recent MoltenVK versions, but the CI
is stuck with 1.2.9, so it's useful to filter these failures out.
2025-06-04 13:04:53 +02:00
Giovanni Mascellani
308d3aa676 tests/hlsl: Add a test reading from a minimum precision signed integer array. 2025-06-02 20:18:09 +02:00
Giovanni Mascellani
cb1ee9cdd5 tests/hlsl: Test minimum precision 16-bit signed integers. 2025-05-24 20:59:34 +02:00
Francisco Casas
ea99d2c2cd vkd3d-shader/hlsl: Lower integer modulus for d3dbc target profiles. 2025-03-18 15:27:04 +01:00
Francisco Casas
828afe188c vkd3d-shader/hlsl: Don't lower integer MOD and DIV on const passes for d3dbc target profiles.
These bitwise operations are not available in these profiles.
2025-03-18 15:27:03 +01:00
Francisco Casas
e3923876c0 tests/hlsl: Test integer division with big integers.
Similarly to the modulus operator, d3dbc results with constant folding
are different from results when constant folding cannot be applied, and
different from tpf results.
2025-03-18 15:25:41 +01:00
Francisco Casas
080672478d tests/hlsl: Test integer modulus with big integers.
Note that in d3dbc target profiles it gives different results when this
operation is constant folded compared to when it is not.

This suggests that whatever pass lowers the modulus operation to d3dbc
operations doesn't do it before constant folding.

Also note that when constant folded, d3dbc results differ from tpf
results for negative operands, because of the loss of precision that
happens when NEG is constant folded.

So the same integer modulus expression can have 3 different results
depending on the context.
2025-03-18 15:21:43 +01:00
Conor McCarthy
becb749792 tests/hlsl: Add arithmetic int16 tests. 2025-02-10 13:19:16 +01:00
Feifan He
b0646cb427 tests/shader_runner: Introduce a Metal shader runner. 2024-10-31 16:47:26 +01:00
Henri Verbeet
fc8384462f vkd3d-shader/glsl: Implement VKD3DSIH_IMAX. 2024-10-08 22:01:56 +02:00
Elizabeth Figura
d3ba810c98 tests: Stop probing all pixels when drawing a uniform colour.
This is simply unnecessary and wastes time.

As part of this, simply remove the "all" directive. Only for a couple of tests
is it even potentially interesting to validate all pixels (e.g.
nointerpolation.shader_test), and for those "all" is replaced with an explicit
(0, 0, 640, 480) rect.

In all other cases we just probe (0, 0).
2024-06-13 23:55:31 +02:00