Mesa's "Dozen" Close To Providing Vulkan Over Direct3D 12

Engineers from Collabora working under contract for Microsoft have been working on Dozen as an implementation of the Vulkan API atop Direct3D 12. Like Microsoft's D3D12 Mesa code, this is to benefit Windows users and isn't about the reverse like getting D3D12 over Vulkan (there's VKD3D / VKD3D-Proton for that) or anything to really benefit Linux users unless you also happen to be using Windows Subsystem for Linux.
This new Dozen code from Boris Brezillon is based on the work started last year by Erik Faye-Lund for Vulkan on D3D12. While still in its early form, it's closer to working shape now after months of wrangling. Boris commented in the MR, "We're almost 6 months later, and a lot of basic features have been added to the driver, some of the limitations have been worked around, and the code has been cleaned up. That's not to say this driver is production ready (at least not yet), but our progress leads me to think that now is a good time to merge what we have and continue the development in-tree."
Now that Mesa 22.0 is branched, it's possible we will see this initial "Dozen" code merged soon for beginning to bring-up Vulkan over Direct3D 12 while concurrently Microsoft's D3D12 code continues maturing for implementing more of OpenGL 4.x over D3D12 (as well as OpenGL ES 3.1 in Mesa 22.0).
Dozen adds around 16k lines of new code to Mesa while also building upon some of the existing Microsoft code in Mesa like their SPIR-V to DXIL path and other compiler code that can be re-used from the OpenGL/OpenCL on D3D12 work.
32 Comments