Posted by ZenithExtreme 4 days ago
Vulkan is more than adequate to handle things for the hardware on the API side so I don't buy the claim that they are somehow "closer than close" to be better.
If you’re making a PS game you’re already doing tons of bespoke PS stuff. If you don’t want to deal with it there are plenty of pieces of middleware out there to help.
Honestly these “where’s Vulkan” posts on every bit of 3D capable hardware feel like a stupid meme at this point as opposed to a rational question.
Maybe they should just ship DX12. That’s multi-platform too.
Vulkan came to be as a low-overhead rendering API targeted at 3D video games made originally, as Mantle, by both AMD and DICE.
If anything, I'd see any console or game people involved with this as a bad signal, considering what a travesty Vulkan came to be and that one originated from such a group.
Honestly any idea that defends NIH like this belongs with dinosaurs. NIH is a stupid meme, not the opposite of it.
That is how good Khronos "design by commitee APIs" end up being.
However please don't undersell what they got right. Because what they got right, they got _very_ right.
Barriers. Vulkan got barriers so absolutely right that every competing API has now adopted a clone of Vulkan's barrier API. The API is cumbersome but brutally unambiguous compared to DirectX's resource states or Metal's hazard tracking. DirectX has a rats nest of special cases in the resource state API because of how inexpressive it is, and just straight up forgot to consider COPY->COPY barriers.
We also have SPIR-V. Again, D3D12 plans to dump DXIL and adopt SPIR-V.
The fundamentals Vulkan got very right IMO. It's a shame it gets shackled to the extension mess.
Microsoft adopting SPIR-V as DXIL replacement is most likely a matter of convenience, the format got messy to maintain, is tied to an old fork of LLVM, and HLSL has gotten the industy weight, even favoured over GLSL for Vulkan (which Khronos acknowledge at Vulkanised 2024 not doing any work at all, zero, nada), so why redo DXIL from scratch, when they could capitalize on existing work to target SPIR-V from HLSL.
DXIL is also a useless intermediate representation because parsing it is so bloody difficult nobody could actually do anything with it. DXIL was, and still is, functionally opaque bytes. You can't introspect it, you can't modify it or do anything of use with it. SPIR-V is dead-simple to parse and has an array of tools built around it because it's so easy to work with.
I don't really see how the OpenCL history is relevant to Vulkan either. Khronos losing the OpenCL game to Nvidia, certainly no thanks to Nvidia's sabotage either, doesn't change that SPIR-V is a much more successful format.
[0] https://themaister.net/blog/2022/04/24/my-personal-hell-of-t...
could you elaborate more on this? sounds interesting
OpenCL history is more than relevant, without SPIR, there would not exist SPIR-V.
People love to blame NVidia for AMD and Intel failures pushing OpenCL into the industry, and Google completly ignoring it for mobile devices, pushing their own RenderScript dialect instead, even if Apple would have behave differently regarding their platforms, the other 80% market has completly ignored it.