Translating Direct3D 12 to Vulkan for use with Wine makes a huge step forwards, as the Wine team have announced the release today of vkd3d 1.2.
As a refresher, this is another project like DXVK which translates Direct3D 9/10/11 to Vulkan and forms part of Steam Play's Proton compatibility layer. This vkd3d is the official one being developed by the Wine team, which was created by the late Józef Kucia who sadly died last year. Valve also have their own fork, with VKD3D-Proton.
CodeWeavers developer and Wine leader Alexandre Julliard today announced their official vkd3d 1.2 release. They listed the highlights as:
- Availability of libvkd3d-shader as a public library.
- Support for tessellation shaders.
- Version 1.1 root signatures.
- Stream output support.
The full list shows just how much work went into this release, with a lot more Direct3D 12 features features now supported including multi-sampling, reserved resources, indirect indexed draws, depth rendering without a pixel shader, depth clipping, dual-source blending and the list goes on.
New environment variables came with this release too including:
- VKD3D_CONFIG can be used to set options that change the behaviour of libvkd3d.
- VKD3D_TEST_BUG can be used to disable bug_if() conditions in the test suite.
- VKD3D_TEST_FILTER can be used to control which tests are run.
- VKD3D_VULKAN_DEVICE can be used to override the Vulkan physical device used by vkd3d.
What's also interesting in their release notes is that Windows is now a supported target platform. That can be useful for direct testing and comparisons, and like we've seen with DXVK - people do actually use that on Windows as well as it can improve performance there on certain titles.
With the news recently that Microsoft has acquired ZeniMax, who own Bethesda - so think The Elder Scrolls, Fallout, Wolfenstein, DOOM, Dishonored, Quake, Starfield and more - it's going to be quite essential that we have a good Direct3D 12 to Vulkan layer ready considering Microsoft will no doubt push for more lock-in with their own Direct3D as opposed to using Vulkan.