Candidate releases Wine 8.0 and vkd3d release 1.6

The testing of the first candidate for the Wine 8.0 releases has begun, an open implementation of the WinAPI. The codebase has been frozen ahead of the release, expected in mid-January. Compared to the Wine 7.22 release, 52 bug reports have been closed and 538 changes have been made.

The most significant changes:

  • The vkd3d package, which implements Direct3D 12 and operates through call translation into the Vulkan graphics API, has been updated to version 1.6.
  • Optimizations have been made to system call converters (thunks) for Vulkan and OpenGL.
  • In WinPrint, support for print processor handlers has been expanded.
  • color perception disorder simulation. The simulation of protanopia, deuteranopia, and tritanopia control panel with the joystick.
  • Support for the 'long' type in the printf function code has been completed.
  • Bug reports related to the operation of the following games have been closed: Tom Clancy’s Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
  • Bug reports related to the operation of the following applications have been closed: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.

Additionally, it is worth noting the publication of the vkd3d 1.6 package, which implements Direct3D 12 and operates through call translation into the Vulkan graphics API. The package includes the libvkd3d libraries implementing Direct3D 12, libvkd3d-shader with a translator for shader models 4 and 5, and libvkd3d-utils with functions to simplify the porting of Direct3D 12 applications, as well as a set of demonstration examples, including the port of glxgears to Direct3D 12. The project 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 this new version, work continues to improve the HLSL (High-Level Shader Language) compiler, provided since DirectX 9.0. Among the improvements related to HLSL:

  • Initial support for compute shaders has been implemented.
  • Support for the initialization and assignment of composite objects, such as structures and arrays, has been improved.
  • The ability to load and save texture resources using unordered access (UAV) has been added.
  • Support for function attributes and built-in functions asuint(), length(), normalize() has been implemented.
  • Support for modules for floating-point calculations has been added.
  • The flag VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS has been implemented to indicate atomic operations on unordered access view (UAV) descriptors.

Source: opennet.ru

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