Wine has published Issue Issue with the release of package vkd3d 1.9. This package includes the implementation of Direct3D 12, which operates through calls to the graphic API Vulkan. It provides LibVKD3D libraries for Direct3D 12, LibVKD3D-SHADER implementations for 4 and 5 models, and LIBVKD3D-UTILS models to simplify Direct3D 12. Additionally, a set of demonstration examples, including the port of GLXGEARS to Direct3D 12, is included. The project’s code is distributed under the license LGPLv2.1.
The Libvkd3d Library supports most of the Direct3D 12 capabilities. It includes support for graphs and calculations, queues and lists of commands, descriptors and descriptor heaps, root signatures, unordered access, samplers, command signatures, and root constants. Furthermore, it supports indirect rendering, methods of Clear*() and Copy*(). The Libvkd3D-Shader provides a broadcast of the bytecode for 4 and 5 models of shaders in the intermediate representation of SPIR-V. Features such as pixel shaders, tessellation shaders, computing shaders, simple geometric shaders, serialization and deserialization of the root signature are also supported. The shader instructions cover arithmetic, atomic and bit operations, comparison and data control operators, Sample, Gather, and Load instructions, as well as unordered access (UAV, Unordered Access View).