The Wine project has released Vkd3d 1.7 with Direct3D 12 implementation

The Wine project has released version vkd3d 1.7 with Direct3D 12 implementation, operating through call translation in the Vulkan graphics API. The package includes libvkd3d libraries with Direct3D 12 implementations, libvkd3d-shader with compiler support for shader models 4 and 5, and libvkd3d-utils with functions for simplifying the porting of Direct3D 12 applications, alongside a set of demonstration samples, including the port of glxgears to Direct3D 12. The project's code is distributed under the LGPLv2.1 license.

The libvkd3d library supports most capabilities of Direct3D 12, including graphics and compute tools, queues and command lists, descriptors and heap descriptors, root signatures, unordered access, samplers, command signatures, root constants, indirect rendering, and Clear*() and Copy*() methods. The libvkd3d-shader implements the translation of bytecode from shader models 4 and 5 to an intermediate representation SPIR-V. It supports vertex, pixel, tessellation, compute, and simple geometry shaders, as well as serialization and deserialization of root signatures. Shader instructions include arithmetic, atomic, and bitwise operations, comparison operators, and flow control, along with sample, gather, load instructions, and unordered access operations (UAV, Unordered Access View).

In the new version:

  • Work continues on improving the HLSL (High-Level Shader Language) shader compiler:
    • Added support for invoking user-defined functions and using arrays as parameters for user-defined functions.
    • Support for parameters SV_DispatchThreadID, SV_GroupID, and SV_GroupThreadID has been added.
    • Built-in functions all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt(), step(), and transpose() have been added.
    • Initial support for low-precision floating-point types such as 'min16float' has been added.
  • Significantly improved support for Direct3D 1/2/3 shader model profiles.
  • A public API for parsing (vkd3d_shader_parse_dxbc) and serializing (vkd3d_shader_serialize_dxbc) binary DXBC data has been added.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster