vkd3d 1.0 released
Posted on: 05/24/2018 07:03 AM

The Wine team has announced that vkd3d 1.0, the Direct3D 12 to Vulkan translation library, is now available.

vkd3d 1.0 released

This is the first release of vkd3d. A lot of Direct3D 12 features are still
missing and bugs are expected. The current version was tested mainly with demo
applications. A number of features that are being worked on have been deferred
to the next development cycle. This includes in particular geometry and
tessellation shaders support, various shader translation improvements, as well
as various improvements for core Direct3D 12 methods.

The source is available from the following location:


The current source can also be pulled directly from the git repository:


Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.


What's included in vkd3d 1.0

*** libvkd3d

- libvkd3d is the main component of the vkd3d project. It's a 3D graphics
library built on top of Vulkan with an API very similar to Direct3D 12.

- A significant number of Direct3D 12 features are implemented, including:
- Graphics and compute pipelines.
- Command lists, command allocators and command queues.
- Descriptors and descriptor heaps.
- Root signatures.
- Constant buffer, shader resource, unordered access, render target and depth
stencil views.
- Samplers.
- Static samplers.
- Descriptors copying.
- Committed resources.
- Fences.
- Queries and query heaps.
- Resource barriers.
- Root constants.
- Basic support for indirect draws and dispatches.
- Basic support for command signatures.
- Various Clear*() methods.
- Various Copy*() methods.

*** libvkd3d-shader

- libvkd3d-shader is a library which translates shader model 4 and 5 bytecode
to SPIR-V. In this release, libvkd3d-shader is an internal library. Its API
isn't set in stone yet.

- Vertex, pixel and compute shaders are supported. Also, very simple geometry
shaders should be translated correctly. Issues are expected when trying to
translate tessellation shaders or more complex geometry shaders.

- A significant number of shader instructions are supported in this release,
- Arithmetic instructions.
- Bit instructions.
- Comparison instructions.
- Control flow instructions.
- Sample, gather and load instructions.
- Atomic instructions.
- UAV instructions.

- Root signature serialization and deserialization is implemented.

- Shader model 4 and 5 bytecode parser is imported from wined3d.

- Shader model 5.1 is not supported yet.

*** libvkd3d-utils

- libvkd3d-utils contains simple implementations of various functions which
might be useful for source ports of Direct3D 12 applications.

*** demos

- A simple hello triangle Direct3D 12 demo.
- A Direct3D 12 port of glxgears.

Printed from Linux Compatible (https://www.linuxcompatible.org/news/story/vkd3d_1_released.html)