The Wine project has released vkd3d 1.12 with Direct3D 12 implementation.

The Wine project has released the vkd3d 1.12 package with a Direct3D 12 implementation working through a call translation to the Vulkan graphics API. The package includes the libvkd3d libraries with Direct3D 12 implementations, libvkd3d-shader with a translator for shader models 4 and 5, and libvkd3d-utils with functions to simplify the porting of Direct3D 12 applications, as well as a set of demonstration examples, including the port of glxgears to Direct3D 12. The project code is distributed under the LGPLv2.1 license.

The libvkd3d library supports most of the capabilities of Direct3D 12, including graphics and compute tools, command queues and command lists, descriptors and heap descriptors, root signatures, unordered access, samplers, command signatures, root constants, indirect drawing, and Clear*() and Copy*() methods. The libvkd3d-shader implements the translation of shader model bytecode to the SPIR-V intermediate representation. Vertex, pixel, tessellation, compute, and simple geometry shaders are supported, including serialization and deserialization of root signatures. Arithmetic, atomic, and bitwise operations, comparison and data flow control instructions, sample, gather, and load instructions, and unordered access operations (UAV, Unordered Access View) are implemented from shader instructions.

In the new version:

  • Direct compilation support into Direct3D shader assembly code and SPIR-V target types has been added to the HLSL compiler.
  • HLSL compiler support for shader model profiles 1, 2, and 3 has been enhanced.
  • Built-in functions for HLSL such as cosh(), determinant(), refract(), sinh(), and tanh() have been implemented.
  • Support for formats DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_B5G5R5A1_UNORM, and DXGI_FORMAT_B4G4R4A4_UNORM has been added to libvkd3d if they are supported in the existing Vulkan API implementation.
  • Support for the ID3D12ShaderCacheSession and ID3D12Device9 interfaces has been added. The ID3D12Device8 interface now includes methods CreateCommittedResource2(), CreatePlacedResource1(), GetCopyableFootprints1(), and GetResourceAllocationInfo2().
  • Validation queries D3D12_FEATURE_D3D12_OPTIONS14, D3D12_FEATURE_D3D12_OPTIONS15, D3D12_FEATURE_D3D12_OPTIONS16, D3D12_FEATURE_D3D12_OPTIONS17, and D3D12_FEATURE_D3D12_OPTIONS18 have been implemented.
  • Experimental support for most methods and instructions of shader model 6 in the DirectX Intermediate Language (DXIL) has been added to libvkd3d-shader.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster