Commit Graph

7551 Commits

Author SHA1 Message Date
Giovanni Mascellani
c050c8be75 vkd3d-shader/dxil: Do not touch the parser current value in instruction_dst_param_init_temp_vector().
The stored value is never read, the caller will overwrite it with
the SSA register generated by the whole DXIL instruction.

Since the helper is always used for UINT instructions, change and
rename it accordingly, so we don't have the problem of finding out
which data type to use.
2025-06-02 19:45:54 +02:00
Nikolay Sivov
87ec2d9897 vkd3d-shader/fx: Fix writing fx_2_0 structure parameters.
Currently structure type descriptions get interleaved with variable
length string data. The solution is to write all fixed length fields
first, then append strings.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-05-27 20:24:24 +02:00
Giovanni Mascellani
bb50117747 ci: Really use DXC 1.8.2502 for macOS.
In theory commit 7b07d77396 already
did that, but in practice it ended up picking a commit from the
1.8.2405 branch, where a few of our tests fail. Since I hope to
soon enable DXC for macOS again, it's useful to fix that oversight.
2025-05-27 19:44:27 +02:00
Giovanni Mascellani
365f6d3be9 tests/hlsl: Mark some tests in uav-atomics.shader_test as working on MoltenVK. 2025-05-27 19:32:45 +02:00
Giovanni Mascellani
85dcd03642 tests/hlsl: Mark some tests in wave-ops-int.shader_test as buggy on MoltenVK.
It seems that SPIRV-Cross is generating bad MSL code, and Metal
rejects it.
2025-05-27 19:32:35 +02:00
Giovanni Mascellani
9ab1cadaa5 tests/hlsl: Mark some tests in wave-ops-uint.shader_test as buggy on MoltenVK.
It seems that SPIRV-Cross is generating bad MSL code, and Metal
rejects it.
2025-05-27 19:32:19 +02:00
Giovanni Mascellani
6fe0d71ae1 tests/hlsl: Mark a test in gather-offset.shader_test as buggy on MoltenVK with d3d12.
It seems that SPIRV-Cross is generating bad MSL code, and Metal
rejects it.
2025-05-27 19:31:38 +02:00
Giovanni Mascellani
70c51984c9 tests/hlsl: Mark some tests in clip-cull-distance.shader_test as buggy on MoltenVK with d3d12.
They either use geometry shaders or cull distances, which MoltenVK
doesn't support. However d3d12 has no way to indicate they're
unsupported, so the problem doesn't surface as a failed draw,
but rather as a draw that doesn't do anything.
2025-05-27 19:30:21 +02:00
Giovanni Mascellani
7261b40df7 tests/hlsl: Mark a test in object-references.shader_test as todo on MoltenVK with DXIL.
I haven't investigated what's happening in detail. However vkd3d
emits this message, which makes me think the problem is ours:

    vkd3d:62178588:fixme:spirv_compiler_get_descriptor_binding Could not find descriptor binding for type 0, space 0, registers [0:2], shader type 0.
2025-05-27 19:29:56 +02:00
Giovanni Mascellani
e6267dd6b4 tests/hlsl: Do not test for overflowing 16-bit texture sampling.
The behavior is not uniform across drivers; in my tests AMD
performs as expected by the test, but WARP and NVIDIA return
infinity.
2025-05-27 17:45:09 +02:00
Giovanni Mascellani
bd1b737e4e tests/hlsl: Test minimum precision stride for floating point numbers too. 2025-05-27 17:45:07 +02:00
Giovanni Mascellani
d214f9ebca tests/hlsl: Test minimum precision stride for signed integers too. 2025-05-27 17:43:07 +02:00
Giovanni Mascellani
6a699d2872 tests/hlsl: Test minimum precision floating point numbers. 2025-05-27 17:40:29 +02:00
Giovanni Mascellani
1496ddc52f tests/hlsl: Test native 16-bit floating point numbers. 2025-05-27 17:40:29 +02:00
Giovanni Mascellani
deb3b74c66 tests/hlsl: Test casting 16-bit integers to doubles. 2025-05-27 17:40:12 +02:00
Giovanni Mascellani
adca5a66e7 tests/hlsl: Test casting minimum precision integers to doubles. 2025-05-27 17:20:19 +02:00
Giovanni Mascellani
f7c2fbfe85 tests/hlsl: Test casting doubles to minimum precision integers. 2025-05-27 17:20:14 +02:00
Henri Verbeet
ffafa7fdaa tests/hlsl: Get rid of a MSL todo in geometry.shader_test.
The Metal/MSL runner doesn't support geometry shaders, so the test is
never executed on that runner.
2025-05-27 17:15:10 +02:00
Henri Verbeet
ee85e6b534 tests/hlsl: Require the "geometry-shader" cap for the relevant clip/cull-distance tests. 2025-05-27 17:15:10 +02:00
Henri Verbeet
5581c42a79 tests/shader_runner_d3d11: Direct3D 11 supports geometry shaders. 2025-05-27 17:15:10 +02:00
Henri Verbeet
0a28abd8f6 tests/shader_runner_metal: Try harder to find a suitable device. 2025-05-27 17:12:36 +02:00
Henri Verbeet
e17a98f870 vkd3d-shader: Remove some newlines from vkd3d-shader error messages. 2025-05-27 17:12:13 +02:00
Nikolay Sivov
c4c7f10d99 vkd3d-shader/fx: Fix the total buffer size calculation in write_fx_4_buffer().
The total size should take variable alignment/padding into account.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-05-24 21:32:22 +02:00
Nikolay Sivov
2e40154801 vkd3d-shader/fx: Use the correct field indices when writing structure default values.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-05-24 21:27:01 +02:00
Nikolay Sivov
a06ecb6867 vkd3d-shader/fx: Use the correct value range for bool initializers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-05-24 21:24:59 +02:00