The team behind vkd3d has announced the release of version 1.17. Developed and maintained by the Wine project, it’s an open-source library that translates Microsoft’s Direct3D graphics calls to Vulkan, thus allowing Windows applications and games that use Direct3D 12 to run on systems where only Vulkan is available.
One of the most notable additions in this update is initial HLSL support for thread group shared memory, something developers have been waiting on for a while.
On top of that, geometry shader handling sees a boost with better support for multiple output streams, bringing vkd3d’s behavior closer to Microsoft’s own compiler tools, which is key for compatibility.
Another big focus in this release is the experimental Metal Shading Language target. While still under active development, it now supports texture sampling, gather operations, loops, switches, and a wide range of integer and fragment shader features.
Plus, there’s added support for converting DXIL shaders to MSL, which could help broaden cross-platform compatibility for certain applications.
Beyond that, vkd3d 1.17 also delivers improvements to FX shader handling, parser support for features like StructuredBuffer
resources, and expanded SPIR-V capabilities, including debug information output.
The release also introduces a new tx
source type for working with legacy D3DX texture shaders. To show off some of these capabilities, the developers have included a fresh demo: a tessellation-based rendering of Martin Newell’s classic teapot model.
Lastly, as with every vkd3d release, there are also plenty of bug fixes and smaller tweaks. For more information, visit the announcement. vkd3d 1.17’s source code can be downloaded from GitLab’s project page.