Wine 8.0 release candidate and vkd3d 1.6 release

Testing of the first release candidate Wine 8.0, an open implementation of WinAPI, has begun. The codebase has been put on hold ahead of the release, which is expected in mid-January. Since the release of Wine 7.22, 52 bug reports have been closed and 538 changes have been made.

The most important changes:

  • The vkd3d package with the Direct3D 12 implementation working through call translation to the Vulkan graphics API has been updated to version 1.6.
  • Optimization of system call converters (thunk) for Vulkan and OpenGL.
  • WinPrint has extended support for print processors.
  • Improved joystick control panel.
  • We have completed support for the 'long' type in the printf function code.
  • Closed bug reports related to the operation of games: Tom Clancy's Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
  • Closed bug reports related to the operation of applications: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.

Additionally, we can note the publication by the Wine project of the vkd3d 1.6 package with the implementation of Direct3D 12, which 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 translator 4 and 5, and libvkd3d-utils with functions to simplify porting Direct3D 12 applications, as well as a set of demos, including a port of glxgears to Direct3D 12. The project code is distributed licensed under LGPLv2.1.

The libvkd3d library supports most of the Direct3D 12 features, including graphics and compute, command queues and lists, descriptors and heap descriptors, root signatures, unordered access, Samplers, command signatures, root constants, indirect rendering, Clear methods *() and Copy*(). libvkd3d-shader implements translation of bytecode 4 and 5 of shader models into an intermediate representation of SPIR-V. Supports vertex, pixel, tessellation, compute and simple geometry shaders, root signature serialization and deserialization. Arithmetic, atomic and bit operations, comparison and data flow control operators, sample, gather and load instructions, unordered access operations (UAV, Unordered Access View) are implemented from shader instructions.

The new version continues work on improving the shader compiler in HLSL (High-Level Shader Language), provided since DirectX 9.0. HLSL-related improvements include:

  • Implemented initial support for compute shaders.
  • Improved support for initialization and assignment of compound objects such as structures and arrays.
  • Added the ability to load and save texture resources using unordered access (UAV).
  • Added support for function attributes and implemented built-in functions asuint(), length(), normalize().
  • Added support for modules for floating point calculations.
  • Implemented the VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS flag to indicate atomic operations on unordered access representation (UAV) descriptors.

Source: opennet.ru

Add a comment