4 ms·
What's wrong with d3d12? It works perfectly fine for what it does. In my experience it causes a lot less issues than Vulkan. And it's not really due to windows
by mardifoufs 2y ago
What's wrong with d3d12? It works perfectly fine for what it does. In my experience it causes a lot less issues than Vulkan. And it's not really due to windows not supporting Vulkan correctly, since my experience with Vulkan has mostly been on Linux.
I don't dislike Vulkan either, it's just that I don't see the point of replacing something that works pretty well.
- bobajeff 2y agoAdopting Vulkan doesn't mean removing Direct X 12. Just like adopting spirv doesn't mean removing hlsl. No one said anything about getting rid of anything.
- Narishma 2y agoSPIR-V is not an alternative to HLSL. It's an intermediary format that you compile HLSL (or GLSL) to.
- shmerl 2y agoReinvention of the wheel and tax on supporting "yet another thing" for developers who need to deal with it. Same reason standards have some value.
- izacus 2y agoIt's Vulkan that was reinventing the DX12 wheel wasn't it though?
- HideousKojima 2y agoVulkan is based on Mantle, which predates the release of DX12 by about 2 years.
- flohofwoe 2y agoThe same can also be said about D3D12, it is at least 'heavily inspired' by Mantle. In the end, not much of Mantle has survived in Vulkan either though. Mantle was a much cleaner API than Vulkan because it didn't have to cover so many GPU architectures as Vulkan (Mantle especially didn't have to care about supporting shitty mobile GPUs).
- ekianjo 2y agoDX12 is proprietary. Vulkan is not.
- shmerl 2y agoIn this case Vulkan is the only option. DX12 is a non starter since it was never intended to be universally available.
- mardifoufs 2y agoI don't think it's reinventing the wheel, since Vulkan was ready quite a bit after d3d12 but yeah I guess maybe it could be the standard on windows after d3d12 becomes obsolete... But that's going to be in quite a while since I can't think of an actual feature (for end users) that is missing from one vs the other right now. Everything on Windows already uses d3d12/DirectX basically so it would actually be a huge wheel reinvention to migrate to a standard just for the sake of it.
- shmerl 2y agoDX12 was pushed as NIH, since it was made from Mantle same way as Vulkan was. So to reduce NIH, it only makes sense to unify it all in Vulkan. They already made the first sensible step with SPIR-V here. The next step makes the same sense. And stuff can be translated into Vulkan if it can't be rewritten.
- miniupuchaty 2y agoI think saying that DX was first so it's Vulkan that was reinventing the wheel is incorrect with historical context. AMD and DICE developed a prototype API called Mantle. Which is what both DX and Vulkan are based on. Both Vulkan(glNext back then) and DX12 were announced around the same time. VK came a bit later as standards are usually slower in coming to decisions but it's not like VK was reinventing anything from DX. I remember we were having a laugh reading early DX12 documentation as it was in parts just copied from Mantle with names unchanged in places!
- mardifoufs 2y agoAh you are right, I forgot that they both were announced at around the same time. It just feels like Vulkan took forever. To the point where some teams at my job had to use OpenGL even for greenfield projects for quite a while after Vulkan was first announced (even when they wanted to use Vulkan). I wonder if that means that dx12 and Vulkan could have a good interop/compatibility story, since they both have similar origins.
- troupo 2y ago> DirectX 12 was announced by Microsoft at GDC on March 20, 2014, and was officially launched alongside Windows 10 on July 29, 2015. > Vulkan 1.0 was released in February 2016. What people forget is that Mantle was basically a proprietary AMD API that they wanted and developed until, well, the release of Metal in 2014 and DX 12 in 2015. Only then did they "graciously" donated Mantle to Khronos for the development of modern APIs. Vulkan was not just late. It suffers from the same issues as OpenGL before it: designed by committee, lackluster support from the major players.