Today, the Wine developers officially announced that vkd3d for translating Direct3D 12 to Vulkan in Wine has reached 1.0.
Here's what they said in the release announcement:
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.
vkd3d includes libvkd3d, which is the main component. It's the 3D graphics library built on top of Vulkan and they say it has an "API very similar to Direct3D 12". They've already implemented a lot of Direct3D 12 features including Graphics and compute pipelines, Command lists, command allocators and command queues, Descriptors and descriptor heaps and so on.
It also includes libvkd3d-shader, a library which will do the translation of shader model 4 and 5 bytecode to SPIR-V. They say the API for it is not yet set in stone. Again, plenty of work has been done and a lot is already supported, but they do specifically mention that Shader model 5.1 is not yet supported.
It also includes libvkd3d-utils, which they say has simple implementations of many functions which could be useful for source ports of Direct3D 12 applications.
So many fun things going on with Wine right now it's hard to keep track of it all.
You can see their release announcement here.