• @fulg
    link
    32 months ago

    Vulkan and DirectX could already share shaders, because the input for both was already HLSL. The difference is the intermediate representation of the compiled shaders that will now be the same in the future (SPIR-V for both).

    The real winners here are driver programmers at NVIDIA/AMD/Intel, since they will no longer have to develop support for both DXIL and SPIR-V (which are similar in concept but different in implementation). How much of that will be true in practice remains to be seen, but I am hopeful.

    There are tools to analyze, process and transform SPIR-V bytecode already, presumably those will work for DX12 shader model 7 too. It might make performance analysis easier, same with debugging via a tool like RenderDoc that supports SPIR-V but not DXIL.

    As for the overhead of DirectX, with DX12 this is largely not true anymore, both are high performance APIs with comparable overhead (i.e. as little as possible).