Latest Release of vkd3d 1.17 brings Direct3D 12 Implementation
Wine has recently published the package vkd3d3d3d 1.17 with the implementation of Direct3D 12, which operates through the translation to the graphic API Vulkan. The package consists of LibVKD3D libraries for Direct3D 12, LibVKD3D-SHADER implementations for models 4 and 5, and LibVKD3D-UTILS to simplify Direct3D 12. It also includes a set of demonstration examples, such as the port of GLXGEARS on Direct3D 12. The project’s code is distributed under the lgplv2.1 license.
The latest version of vkd3d maintains most of the capabilities of Direct3D 12, including graphics and compute pipelines, command queues and lists, descriptors and heaps, root signatures, unordered access views, samplers, command signatures, root constants, and indirect Clear*() and Copy*() functions. The Libvkd3D-Shader implements translation of shader model byte code to an intermediate representation of SPIR-V, supporting various types of shaders and operations.
The new version of vkd3d 1.17 brings several improvements:
- Implementation of HLSL language, initial support for separated memory groups, and expanded support for geometric shaders.
- Development of MSL (Metal SHADING LANGUAGE) shaders used by Apple in the METAL graphic API, including support for cycles, indirect addressing of constant buffers, texture sampling, and various integer arithmetic and comparison operations.
- Addition of Enumeratemetacommands() in the Libvkd3D library for the ID3D12DEVICE5 software interface implementation.
- Inclusion of a new type of shader “TX” (VKD3D_SHADER_SOURCE_TX) for shader loading.