Commit Graph

709 Commits

Author SHA1 Message Date
Henri Verbeet
970a1a2b35 vkd3d-shader/dxbc: Update the vkd3d_shader_parse_input_signature() documentation for dxbc-dxil shaders. 2025-02-20 15:57:26 +01:00
Henri Verbeet
985d317e0e Release 1.15. 2025-02-19 12:00:00 +01:00
Henri Verbeet
e0df4cdc6d include: Add missing VKD3D_FORCE_32_BIT_ENUM enum elements. 2025-02-19 10:43:39 +01:00
Henri Verbeet
86462db9ed include: Add vkd3d_shader_scan_hull_shader_tessellation_info to the list of chained compilation structures. 2025-02-18 17:48:47 +01:00
Giovanni Mascellani
22d0841412 vkd3d: Support signalling a fence once all outstanding work is submitted to Vulkan.
When the client acquires the Vulkan queue it has to ensure that
it is not submitting work before other work it depends on already
submitted through the Direct3D 12 API but currently in the internal
vkd3d queue. Currently we suggest to enqueue signalling a fence and
than wait for it before acquiring the Vulkan queue, which is
correct but excessive: it will wait not just for the work currently
in the queue to be submitted, but for it to be executed too,
introducing useless dependencies.

By adding a way to enqueue signalling a fence on the CPU side we
allow the client to wait for the currently outstanding work to
be submitted to Vulkan, but nothing more.
2025-01-21 14:02:22 +01:00
Giovanni Mascellani
3264378fa0 tests: Print the file name instead of the test name in test logs.
Some test programs, particularly the shader runner, are built from
many different files nowadays, and a line number is relatively
cumbersome to use if you don't know which file that line comes from.
2024-12-03 12:38:26 +01:00
Elizabeth Figura
d56601c8d0 vkd3d-shader/ir: Implement exponential fog. 2024-12-02 17:12:20 +01:00
Elizabeth Figura
1fbbc82f3a vkd3d-shader/ir: Allow controlling the fog source through a parameter. 2024-12-02 17:12:16 +01:00
Elizabeth Figura
f86d1e72a4 vkd3d-shader/ir: Allow controlling fog through parameters.
Fog requires several parameters to even implement the most basic of
functionality correctly, so this commit is relatively large.
2024-12-02 17:12:06 +01:00
Shaun Ren
e20b63c55e vkd3d-shader: Implement scanning hull shader tessellation information. 2024-11-21 15:03:02 +01:00
Henri Verbeet
5c00766eff Release 1.14. 2024-11-21 12:35:55 +01:00
Henri Verbeet
1f09f4fb3a include: Document the binary effect transformations supported by vkd3d_shader_compile(). 2024-11-21 12:32:17 +01:00
Elizabeth Figura
a492d64fef vkd3d-shader/ir: Allow controlling point sprite through a parameter. 2024-10-22 19:14:02 +02:00
Nikolay Sivov
6801ad9b7a vkd3d-shader/fx: Introduce a parser/disassembler.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-14 15:20:41 +02:00
Elizabeth Figura
1e3c1392bd vkd3d-shader/ir: Allow controlling FFP point size clamping through vkd3d-shader parameters. 2024-10-10 22:44:26 +02:00
Elizabeth Figura
54092286be vkd3d-shader/ir: Allow controlling FFP point size through a vkd3d-shader parameter. 2024-10-10 22:25:09 +02:00
Elizabeth Figura
4400315c4b vkd3d-shader: Allow controlling clip planes through vkd3d-shader parameters. 2024-10-02 21:49:54 +02:00
Nikolay Sivov
799e6105a4 vkd3d-shader/d3dbc: Add an option to treat doubles as floats.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55448
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-23 15:26:35 +02:00
Henri Verbeet
bec7188333 vkd3d-utils: Make D3D12CreateDevice a variadic macro, if possible.
Mostly to make life easier for (external) code invoking this with
IID_PPV_ARGS or similar constructions.
2024-09-20 17:17:30 +02:00
Feifan He
23ba1a5e07 vkd3d-shader: Introduce VKD3D_SHADER_TARGET_MSL. 2024-09-12 17:03:32 +02:00
Elizabeth Figura
f6a8cdf2bb vkd3d-shader: Do not use \ref for parameters. 2024-09-11 14:55:48 +02:00
Elizabeth Figura
304724608a vkd3d-shader: Escape a hash in Doxygen documentation. 2024-09-11 14:55:48 +02:00
Elizabeth Figura
4683186166 vkd3d-shader: Mention the structure name when referring to a struct field. 2024-09-11 14:55:48 +02:00
Anna (navi) Figueiredo Gomes
127ae6cf12 vkd3d: Implement d3d12_command_list_OMSetDepthBounds().
Based on the design document, "The runtime will not clamp or validate
the input, but implementations may clamp to the range [0,1] if necessary.",
so we test for the EXT_depth_range_unrestricted extension, and only clamp if
it's not available (thus, necessary to do so).

NaNs are converted to zero as per "NaNs must be treated as 0, but the runtime
will convert NaNs to 0 on behalf of the implementation.", and a default bounds
are set to 0.0 and 1.0.
2024-09-11 14:53:33 +02:00
Elizabeth Figura
8515fcbc70 vkd3d-utils: Add a D3DCompile2VKD3D() that allows configuring DLL version.
This would allow us to use vkd3d-utils directly in Wine [with the exception of
D3D_COMPILE_STANDARD_FILE_INCLUDE, but we can simply pass the ID3DInclude object
to D3DCompile2VKD3D().]
2024-09-03 15:06:29 +02:00