Commit Graph

8536 Commits

Author SHA1 Message Date
Giovanni Mascellani
be31451ae9 vkd3d: Rename the struct vkd3d_device_descriptor_limits fields.
They do not represent the raw Vulkan resource limits, but the
emulated d3d12 limits depending on the Vulkan limits. Therefore
name them according to d3d12.
2025-12-03 15:14:16 +01:00
Giovanni Mascellani
443f4bc056 vkd3d: Remove unused field storage_buffer_max_descriptors from vkd3d_device_descriptor_limits. 2025-12-03 15:12:35 +01:00
Giovanni Mascellani
7c6c176a7c tests: Do not put storage buffer descriptors in the descriptor pool.
They are never used.
2025-12-03 15:11:23 +01:00
Giovanni Mascellani
f9f8b3a5a4 tests/d3dbc: Relax the precision for some nrm tests.
That's needed on my NVIDIA RTX 4060 Mobile.
2025-12-02 14:31:19 +01:00
Henri Verbeet
e0c23624f2 vkd3d-shader/ir: Lower VSIR_OP_LRP instructions. 2025-12-02 14:29:01 +01:00
Henri Verbeet
355a88b564 tests/d3dbc: Add some tests for lrp instructions. 2025-12-02 14:29:01 +01:00
Giovanni Mascellani
63c71efb6e tests/hlsl: Fix the render target format for arithmetic-float-uniform.shader_test. 2025-12-02 14:27:34 +01:00
Giovanni Mascellani
1e4764d555 vkd3d-shader/dxil: Parse the f32 denormalization mode. 2025-12-02 14:26:16 +01:00
Giovanni Mascellani
e99b29d203 tests/hlsl: Test the default denormalized mode. 2025-12-02 14:14:12 +01:00
Giovanni Mascellani
193cf51a59 vkd3d-shader/dxil: Set the attribute group count to zero if allocation fails. 2025-12-02 14:04:24 +01:00
Giovanni Mascellani
90a38d6c0e vkd3d-shader/dxil: Parse parameter attribute records. 2025-12-02 14:02:18 +01:00
Giovanni Mascellani
3058958d8b vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_atomicrmw(). 2025-12-02 13:39:44 +01:00
Giovanni Mascellani
eeb3592379 vkd3d-shader/dxil: Handle allocation failure in sm6_parser_emit_atomicrmw(). 2025-12-02 13:39:44 +01:00
Giovanni Mascellani
9457dc9c75 vkd3d-shader/dxil: Take the record from the function emission state in sm6_parser_emit_atomicrmw(). 2025-12-02 13:39:44 +01:00
Giovanni Mascellani
26f9644fb6 vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_alloca().
I think the main argument for preallocating instructions and
passing them to helpers is that this simplifies error handling.
However it seems that the simplification is close to negligible,
while the current solution makes it harder to use the iterator
abstraction layer for the instruction array, and it also makes
the code harder to read and check.
2025-12-02 13:39:44 +01:00
Giovanni Mascellani
3b9fbe3e4a vkd3d-shader/dxil: Pass function emission state to sm6_parser_emit_alloca(). 2025-12-02 13:39:44 +01:00
Giovanni Mascellani
6a3f360a2b vkd3d-shader/dxil: Move the function emission state outside the opcode switch. 2025-12-02 13:39:44 +01:00
Henri Verbeet
fdfb74b20b vkd3d-shader/ir: Lower VSIR_OP_NRM instructions. 2025-11-27 21:59:34 +01:00
Henri Verbeet
2b31efe03a tests/d3dbc: Add some tests for nrm instructions.
These are adapted from Wine's test_nrm_instruction() d3d9 test by
Paul Gofman.
2025-11-27 21:59:34 +01:00
Giovanni Mascellani
54aa285b30 ci: Set the macOS runner timeout to ten minutes.
This looks more than enough even for MRs with ten commits.
2025-11-26 16:08:38 +01:00
Conor McCarthy
cb8da3125b vkd3d: Implement sampler min/max reduction filtering. 2025-11-26 16:06:24 +01:00
Henri Verbeet
dc7cdec9a5 tests/hlsl: Add a sampler min/max reduction filtering test.
The Metal runner could in principle support this feature using
MTLSamplerDescriptor.reductionMode, but that requires macOS 26.0/Tahoe,
which is newer than my current setup.
2025-11-26 16:06:24 +01:00
Henri Verbeet
1007ba40b5 vkd3d-shader: Introduce vkd3d_shader_string_from_message_context().
It's main advantage over vkd3d_shader_message_context_copy_messages() is
that it can't fail. The original issue this addresses is that
vkd3d_shader_compile() should free its output when
vkd3d_shader_message_context_copy_messages() fails, as spotted by
Giovanni; that likely would have applied to a number of the other uses
of vkd3d_shader_message_context_copy_messages() as well.
2025-11-26 16:05:42 +01:00
Evan Tang
96872b941e tests/d3d12: Add some missing UAV barriers after UAV clears.
Much like e.g. commits a686fa7750 and
93d2bb2d5d.

Direct3D 12 doesn't guarantee any implicit barriers after UAV clears,
but unfortunately missing these is often easy to go unnoticed.
2025-11-25 20:33:52 +01:00
Elizabeth Figura
647482b6f4 vkd3d-shader/hlsl: Avoid creating "index-val" synthetic temps if we can detect the variable was unmodified. 2025-11-25 20:23:19 +01:00