Commit Graph

7551 Commits

Author SHA1 Message Date
Nikolay Sivov
11d4fcff46 vkd3d-shader/fx: Handle nameless structure types.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-05-24 21:19:42 +02:00
Shaun Ren
a4e43402e5 vkd3d-shader/hlsl: Support void pass-through hull shader control point functions. 2025-05-24 21:13:00 +02:00
Shaun Ren
e7b2ca28ab vkd3d-shader/hlsl: Fix the register string for patch arrays in debug_register(). 2025-05-24 21:03:56 +02:00
Elizabeth Figura
f5e0c47811 vkd3d-shader/ir: Use add_signature_element() to add clip planes.
In particular, ensure that the semantic name is not NULL. This is necessary to
avoid a crash when a later pass using vsir_signature_find_element_by_name(),
e.g. vsir_program_insert_vertex_fog(), iterates over the signature including the
new element.
2025-05-24 21:02:17 +02:00
Giovanni Mascellani
3fb662c9e7 tests/hlsl: Remove some tests from minimum-precision.shader_test.
Most of them fail on any native implementation I can put my hands
on, including the CI. Equivalent, but hopefully better, tests
were added to arithmetic-uint.shader_test and
arithmetic-int-uniform.shader_test.
2025-05-24 21:00:32 +02:00
Giovanni Mascellani
cb1ee9cdd5 tests/hlsl: Test minimum precision 16-bit signed integers. 2025-05-24 20:59:34 +02:00
Giovanni Mascellani
a477502a05 tests/hlsl: Test minimum precision 16-bit unsigned integers. 2025-05-24 20:57:42 +02:00
Giovanni Mascellani
fdc173506e tests/hlsl: Test minimum precision stride in constant buffers. 2025-05-24 20:54:42 +02:00
Giovanni Mascellani
bd6dbd096f vkd3d-shader/dxil: Reimplement aggregate indexing using specialized value types.
As opposed to just touching the vsir register description, which
should be removed soon.
2025-05-24 20:44:45 +02:00
Giovanni Mascellani
6a85df013b vkd3d-shader/dxil: Pass a reference to the SM6 parser to sm6_register_from_value(). 2025-05-24 20:44:45 +02:00
Giovanni Mascellani
b0940729ff vkd3d-shader/dxil: Pass a reference to the SM6 parser to src_param_init_from_value(). 2025-05-24 20:44:45 +02:00
Giovanni Mascellani
6b9df6b7a5 vkd3d-shader/dxil: Pass a reference to the SM6 parser to src_params_init_from_operands(). 2025-05-24 20:44:45 +02:00
Henri Verbeet
fe747b065f vkd3d-shader: Also output vkd3d_shader_vnote() messages using WARN. 2025-05-24 20:41:39 +02:00
Henri Verbeet
ef3e10a14e vkd3d-shader: Also output vkd3d_shader_vwarning() messages using WARN. 2025-05-24 20:41:39 +02:00
Henri Verbeet
9156de0593 vkd3d-shader: Also output vkd3d_shader_verror() messages using WARN. 2025-05-24 20:41:39 +02:00
Shaun Ren
4eab50755e tests: Test signature reflection for geometry shader outputs. 2025-05-24 20:38:36 +02:00
Shaun Ren
a58b1f7011 vkd3d-shader/hlsl: Implement output semantics for geometry shaders. 2025-05-24 20:38:36 +02:00
Shaun Ren
18ec4caded vkd3d-shader/tpf: Read the DCL_OUTPUT_SGV instruction.
Introduce VSIR op VKD3DSIH_DCL_OUTPUT_SGV.
2025-05-24 20:38:36 +02:00
Henri Verbeet
a93d258a86 Release 1.16. vkd3d-1.16 2025-05-20 11:35:48 +02:00
Henri Verbeet
379b297d2c build: Add the Objective-C API JSON to the distribution. 2025-05-15 14:13:07 +02:00
Henri Verbeet
07d8fe0462 build: Add the SPIR-V grammar JSON to the distribution. 2025-05-15 14:13:07 +02:00
Giovanni Mascellani
129b3a8c4b tests: Check that shader-visible descriptor heaps have a valid GPU descriptor handle start.
We currently check that non-shader-visible heaps have a NULL
handle, but that doesn't seem to be guaranteed: beside WARP, also
NVIDIA drivers still return a valid pointer. And that's a pretty
useless check anyway; rather, check that shader-visible heaps
have a valid pointer, which is more interesting.
2025-05-15 14:11:10 +02:00
Giovanni Mascellani
1aa33ebc80 tests: Allow creating GPU upload heaps.
They are write-combine heaps on L1 memory, and were introduced
recently in Direct3D 12.
2025-05-15 14:10:53 +02:00
Giovanni Mascellani
d5410e3115 tests: Expect success when creating resources in certain cases.
Currently the tests expect that creating buffers in COMMON or
COPY_SOURCE state on UPLOAD heaps or in COMMON state on READBACK
heaps leads to a failure. I tested WARP, AMD and NVIDIA, and in
all cases the operations is successful.

I think the D3D12 runtime used reject resources created in the
configurations detailed above, but it doesn't any more (both
using the latest Agility SDK and the runtime distributed with
an updated Windows 11 system). However the CI still uses an
earlier runtime, so the old behavior is still allowed as
broken.
2025-05-15 14:09:23 +02:00
Henri Verbeet
f5a26fd2b8 vkd3d-shader/dxil: Document the supported dxbc-dxil transformations. 2025-05-14 15:10:44 +02:00