vkd3d 1.7 has already been released and these are its news

vkd3d

vkd3d, is Wine's Direct3D 12 to Vulkan translation layer

The project wine unveiled A few days ago the launch of the new version of the vkd3d 1.7 package with a Direct3D 12 implementation that works through the translation of calls to the Vulkan graphics API.

The package includes libvkd3d libraries with Direct3D 12 implementations, libvkd3d-shader with shader model translate 4 and 5, and libvkd3d-utils with functions to simplify the migration of Direct3D 12 applications, as well as a set of demos, including a port of glxgears to Direct3D 12.

The libvkd3d library supports most Direct3D 12 features, including graphics and computation, command lists and queues, descriptors and heap descriptors, root signatures, unordered access, samples, command signatures, root constants, indirect representation, Clear*() and Copy*() methods.

Besides it libvkd3d-shader implements translation of bytecode 4 and 5 of the shading models in an intermediate representation of SPIR-V. Supports vertex, pixel, tessellation, computation and simple geometry shaders, root signature serialization and deserialization.

Arithmetic, atomic, and bit operations, comparison and data flow control operators, sample, collect, and load instructions, out-of-order access operations (UAV, out-of-order access view) are implemented from shadowing instructions .

Main new features of vkd3d 1.7

In this new version that is presented of vkd3d 1.7 stands out él continued work to improve the HLSL shader compiler (High-Level Shader Language), as well as adding the ability to call user-defined functions and use arrays as parameters of user-defined functions.

Another of the changes that stands out in the new version is the significantly improved support for profiles shader model Direct3D 1/2/3, Also added initial support for low-precision floating-point types like min16float.

It is also highlighted that added support for SV_DispatchThreadID, SV_GroupID and SV_GroupThreadID parameters and that a public API has been added to parse (vkd3d_shader_parse_dxbc) and serialize (vkd3d_shader_serialize_dxbc) DXBC binary data.

Of the other changes that stand out of the new version:

  • Support for the optional "offset" parameter of the Load() texture object
    method.
  • Support for the intrinsic function all().
  • Support for the distance() intrinsic function.
  • Support for the intrinsic functions exp() and exp2().
  • Support for the frac() intrinsic function.
  • Support for the lit() intrinsic function.
  • Support for the reflect() intrinsic function.
  • Support for the intrinsic functions sin() and cos().
  • Support for the smoothstep() intrinsic function.
  • Support for intrinsic sqrt() and rsqrt() functions.
  • Support for the step() intrinsic function.
  • Support for the intrinsic function transpose().
  • Support for case-insensitive variants of float and dword data
    type
  • Partial support for minimum precision data types such as "min16float". These are currently interpreted as their regular counterparts.
    Improved constant propagation support, in particular to constant propagation via swizzles.
  • The compile option VKD3D_SHADER_COMPILE_OPTION_WRITE_TESS_GEOM_POINT_SIZE can be used to specify whether SPIR-V shaders targeting Vulkan environments should write point sizes for geometry and tessellation shaders if not specified, the point sizes will be written.

Finally, For those interested in knowing more about it, they should know that the project code is licensed under LGPLv2.1 and that they can consult the details of this new release In the following link.

How to install vkd3d 1.7?

For interested in being able to install vkd3d They must know that they must compile the source code, so we must obtain it first, it is important to mention that Vkd3d depends on SPIRV-Headers and Vulkan-Headers (>= 1.2.139).

To carry out the compilation we must open a terminal and in it we will type the following command:

git clone https://gitlab.winehq.org/wine/vkd3d.git

Once this is done, we proceed to enter the recently downloaded directory with:

cd vkd3d

And we proceed to compile by executing the following commands:

./configure

make

make install

Si you want to know more about the compilation of vkd3d you can check the details in this link.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.