mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-09-13 09:16:14 -07:00
9d4df5e704
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
97 lines
3.5 KiB
Plaintext
97 lines
3.5 KiB
Plaintext
The Wine team is proud to announce that release 1.4 of vkd3d, the Direct3D to
|
|
Vulkan translation library, is now available.
|
|
|
|
This release contains improvements that are listed in the release notes below.
|
|
The main highlights are:
|
|
|
|
- Many improvements to the HLSL compiler.
|
|
- A new descriptor heap implementation using the VK_EXT_descriptor_indexing
|
|
extension.
|
|
- A new fence implementation using the VK_KHR_timeline_semaphore extension.
|
|
|
|
The source is available from the following location:
|
|
|
|
https://dl.winehq.org/vkd3d/source/vkd3d-1.4.tar.xz
|
|
|
|
The current source can also be pulled directly from the git repository:
|
|
|
|
https://source.winehq.org/git/vkd3d.git/
|
|
|
|
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
|
|
for the complete list.
|
|
|
|
----------------------------------------------------------------
|
|
|
|
What's new in vkd3d 1.4
|
|
=======================
|
|
|
|
|
|
*** libvkd3d
|
|
|
|
- A new descriptor heap implementation using the VK_EXT_descriptor_indexing
|
|
extension. In particular, the new implementation is more efficient when
|
|
large descriptor heaps are used by multiple command lists. The new
|
|
`virtual_heaps' configuration option can be used to select the original
|
|
implementation even when the VK_EXT_descriptor_indexing extension is
|
|
available.
|
|
|
|
- A new fence implementation using the VK_KHR_timeline_semaphore extension.
|
|
The new implementation addresses a number of edge cases the original
|
|
implementation was unable to, as well as being somewhat more efficient.
|
|
|
|
- When the VK_EXT_robustness2 extension is available, it is used to implement
|
|
null views. This more accurately matches Direct3D 12 behaviour. For example,
|
|
all reads from such a null view return zeroes, while that isn't necessarily
|
|
the case for out-of-bounds reads with the original implementation.
|
|
|
|
- New interfaces:
|
|
- vkd3d_set_log_callback() allows writing log output via a custom callback.
|
|
This can be used to integrate vkd3d's log output with other logging
|
|
systems.
|
|
|
|
|
|
*** libvkd3d-shader
|
|
|
|
- New features for the HLSL source type:
|
|
- Support for integer arithmetic, bitwise and shift operations.
|
|
- Support for matrix and vector subscripting.
|
|
- Support for the mul() intrinsic function.
|
|
- Support for matrix copying, casting, and entry-wise operations.
|
|
- Support for complex initialisers.
|
|
- Support for the `nointerpolation' modifier. This modifier is applied by
|
|
default to integer variables.
|
|
- Support for the SV_VertexID semantic.
|
|
- Support for matrix-typed varyings.
|
|
- Constant folding for a number of operators.
|
|
- Copy propagation across branches and loops. This allows use of non-numeric
|
|
variables anywhere in a program, as well as more optimised code for
|
|
accessing numeric variables within branches and loops.
|
|
|
|
- The disassembler supports the shader model 5 `msad' instruction.
|
|
|
|
- New interfaces:
|
|
- vkd3d_shader_set_log_callback() allows writing log output via a custom
|
|
callback.
|
|
|
|
|
|
*** libvkd3d-utils
|
|
|
|
- New interfaces:
|
|
- vkd3d_utils_set_log_callback() allows writing log output via a custom
|
|
callback.
|
|
|
|
|
|
*** build
|
|
|
|
- The minimum required version of Vulkan-Headers and SPIRV-Headers for this
|
|
release is version 1.2.139.
|
|
|
|
- The SONAME_LIBVULKAN configure variable can be used to specify the shared
|
|
object name of the Vulkan library. Because vkd3d loads the Vulkan library
|
|
dynamically, specifying this removes the need for a Vulkan import library at
|
|
build time.
|
|
|
|
- The `crosstests' target no longer builds Win32/PE demos or tests when these
|
|
were not enabled at configure time.
|
|
|