• LegoBrickOnFire@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    5 days ago

    If all major APIs use SPIR-V, does it mean that it could become the ISA of some GPUs? Like that time someone made some hardware that executed Java bytecode directly?

  • ramjambamalam@lemmy.ca
    link
    fedilink
    arrow-up
    1
    ·
    5 days ago

    Interesting, so it allows DirectX to use the same shaders as Vulkan? But isn’t the advantage of Vulkan that it has less overhead than DirectX? Does this mean anything for gamers, or does it just make the graphics programmers’ jobs easier when they can use the same shaders for either renderer?

    • fulg@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      2 days 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).