Latest Wine Package Vkd3d 1.16 Released with Direct3D 12 Implementation
Wine announced the release of package vkd3d 1.16 that includes the implementation of Direct3D 12, working with the Vulkan graphics API. The package consists of LibVKD3D libraries for Direct3D 12, LibVKD3D-SHADER implementations for various shader models, and LIBVKD3D-UTILS to simplify Direct3D 12, along with demonstration examples like the GLXGEARS port on Direct3D 12. The project code can be accessed here and is distributed under the lgplv2.1 license.
The Libvkd3d Library supports most Direct3D 12 capabilities, including graphics and calculation tools, command lists, descriptors, heap descriptors, root signatures, unordered access, samplers, command signatures, root constants, and more. LibVKD3D-Shader provides support for broadcasting shader models to SPIR-V intermediate representation, along with various shader instructions and operations.
In the latest version:
- Default support for DXIL shaders and stabilizing shaders
- Compiler support for geometric shaaders in HLSL language, including shader models 1.2.3
- Enhanced support for shader model 6.0 and ID3D12Device1 software interface implementation
- Addition of Vulkan extension vk_khr_zero_initialize_workgroup_memory and other mandatory Vulkan broadcasts
- Experimental support for indirect addressing of permanent buffers in GLSL
- Enhanced support for Metal Shader Language (MSL) used by Apple
- Added support for HLSL built-in functions and flags implementation