Wine vkd3d 1.11 has been released, marking the implementation of Direct3d 12 that works through calls to the graphic API VULKAN. The package includes libraries such as libvkd3d with Direct3D 12 implementations, libvkd3d-shader with a shader model 4 and 5 translator, and libvkd3d-utils with functions to simplify the porting of Direct3D 12 applications. Additionally, a set of demo examples are provided, including a port of glxgears to Direct3D 12. The project’s code is distributed under the lgplv2.1 license.
The Libvkd3d Library supports most of the Direct3d 12 capabilities, including graphics and compute shaders, queues and command lists, descriptors and descriptor heaps, root signatures, unordered access, samplers, command signatures, root constants, indirect rendering, Clear*() and Copy*() methods. Libvkd3D-Shader provides support for shader models 4 and 5 in intermediate representation of SPIR-V. Various types of shaders, serialization of root signatures, arithmetic, atomic and bit operations, and more are also supported.
In the new version:
- The initial support for compilation of old Direct3D bytecode to intermediate SPIR-V shaders has been added.
- Experimental support for compiling effects of Direct3D (FX_2_0, FX_4_0, FX_4_1, FX_5_0) has been included.
- Added experimental support for compiling dxil to represent Spir-v and Assembler instructions for Direct3D shaders.
- HLSL profiles “FX_2_0”, “FX_4_0”, “