Comment by mardifoufs

Comment by mardifoufs 10 months ago

16 replies

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 10 months ago

Adopting 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 10 months ago

    SPIR-V is not an alternative to HLSL. It's an intermediary format that you compile HLSL (or GLSL) to.

shmerl 10 months ago

Reinvention of the wheel and tax on supporting "yet another thing" for developers who need to deal with it.

Same reason standards have some value.

  • mardifoufs 10 months ago

    I 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.

    • miniupuchaty 10 months ago

      I 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!

      • troupo 10 months 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.

      • mardifoufs 10 months ago

        Ah 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.

    • shmerl 10 months ago

      DX12 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.

  • izacus 10 months ago

    It's Vulkan that was reinventing the DX12 wheel wasn't it though?

    • HideousKojima 10 months ago

      Vulkan is based on Mantle, which predates the release of DX12 by about 2 years.

      • flohofwoe 10 months ago

        The 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).

    • shmerl 10 months ago

      In this case Vulkan is the only option. DX12 is a non starter since it was never intended to be universally available.

    • ekianjo 10 months ago

      DX12 is proprietary. Vulkan is not.