DX11 is much more high level while DX12 implements direct control over the GPU. 12 is much more like vulkan.
I guess since this is emulating the device instead of just passing the commands to vulkan it is easier to do DX11, but I could be wrong about this particular implementation.
DirectX 12 isn't just much more like Vulkan, it's so shockingly similar, it's basically Vulkan. It's jarring when you read it for the first time because you ask yourself why it even exists, but a second later, you realize it's so Microsoft can own their own graphics interface, too.
I could be remembering this incorrectly, but that's the impression I remember.
DX12 was over 2 years old by the time Vulkan was released. People in the industry also use DirectX extensively and have for decades (Vulkan is fairly marginal in comparison); many modern graphics API features (mesh shaders, ray tracing) were designed and developed in DirectX, as Microsoft worked with closely with ISVs on these features before they spread to wider audiences and published specifications.
Honestly if you are creating games, with the rise of Proton and vkd3d, there is seemingly less need to target Vulkan today than ever before. Just target x86_64 Windows with DirectX11 or DirectX12 and you will even get Linux support (and some day, probably macOS) "for free". That's just for games, though.
Nope, thanks to AMD giving Mantle to Khronos, Vulkan actually happened, otherwise there would be no Vulkan now, they would still be arguing about OpenGL vNext on those committee meetings.
And only exists in first place because AMD offered Mantle to Khronos, otherwise they would probably be discussing how OpenGL vNext would look like to this day.
While flohofwoe certainly knows this, for the others,
"Khronos is free to take as many pages as it wants out of the Mantle playbook, and AMD will impose no restrictions, nor will it charge any licensing fees."
D3D11 is the by far most used 3D API on Windows (there are thousands of D3D11 games versus hundreds of D3D12 and much fewer Vulkan games), and most games don't actually have better performance with D3D12 or Vulkan anyway. So from a pragmatic 'bang for the buck' point of view, D3D11 both for the frontend and backend makes the most sense.
A pretty healthy proportion of games also shipped a DX11 renderer alongside their DX12 one, since the addressable audience of DX12 was pretty lousy for a long time
Comments
why always only DX11, why not DX12? Parallels and VMWARE can also do only DX11??
DX11 is much more high level while DX12 implements direct control over the GPU. 12 is much more like vulkan.
I guess since this is emulating the device instead of just passing the commands to vulkan it is easier to do DX11, but I could be wrong about this particular implementation.
DirectX 12 isn't just much more like Vulkan, it's so shockingly similar, it's basically Vulkan. It's jarring when you read it for the first time because you ask yourself why it even exists, but a second later, you realize it's so Microsoft can own their own graphics interface, too.
I could be remembering this incorrectly, but that's the impression I remember.
DX12 was over 2 years old by the time Vulkan was released. People in the industry also use DirectX extensively and have for decades (Vulkan is fairly marginal in comparison); many modern graphics API features (mesh shaders, ray tracing) were designed and developed in DirectX, as Microsoft worked with closely with ISVs on these features before they spread to wider audiences and published specifications.
Honestly if you are creating games, with the rise of Proton and vkd3d, there is seemingly less need to target Vulkan today than ever before. Just target x86_64 Windows with DirectX11 or DirectX12 and you will even get Linux support (and some day, probably macOS) "for free". That's just for games, though.
Vulkan existed before with AMD's Mantle or whatever was called.
Nope, thanks to AMD giving Mantle to Khronos, Vulkan actually happened, otherwise there would be no Vulkan now, they would still be arguing about OpenGL vNext on those committee meetings.
They look similar because both D3D12 and Vulkan have been 'influenced' by Mantle (Vulkan more strongly than D3D12 though).
Vulkan was released after both Metal and D3D12 btw.
And only exists in first place because AMD offered Mantle to Khronos, otherwise they would probably be discussing how OpenGL vNext would look like to this day.
While flohofwoe certainly knows this, for the others,
"Khronos is free to take as many pages as it wants out of the Mantle playbook, and AMD will impose no restrictions, nor will it charge any licensing fees."
-- https://www.phoronix.com/news/MTc2Mzc
There's that small thing of DirectX 12 predating Vulkan (and massively predating the useful Vulkan specs).
D3D11 is the by far most used 3D API on Windows (there are thousands of D3D11 games versus hundreds of D3D12 and much fewer Vulkan games), and most games don't actually have better performance with D3D12 or Vulkan anyway. So from a pragmatic 'bang for the buck' point of view, D3D11 both for the frontend and backend makes the most sense.
A pretty healthy proportion of games also shipped a DX11 renderer alongside their DX12 one, since the addressable audience of DX12 was pretty lousy for a long time
DX12 is much more complex to implement. Very different API.