Vulkan was modeled after Mantle, AMD's own API that was basically what was available on consoles but less specific (ie. supporting more than a few custom GPUs). Direct3D 12 was modeled after consoles and Mantle, just like Vulkan. Same for Metal, that was made available in 2014, same year D3D12 was publicly announced.
https://en.wikipedia.org/wiki/Mantle_(API) https://twitter.com/repi/status/446718535616585730
Yes but they all have a similar design around treating the GPU as a buffer store. You’re right about Mantle but that was the inspiration of many. They each took some concepts.
I’m not an expert on driving decisions behind them. Just from my own experience. Vulkan is much more difficult and verbose than the others. This is one of the main hurtles to Vulkan.
WebGPU (wgpu) is another abstraction on top of all of them that I feel is the modern bgfx, that is, a modern abstraction of those buffers and queues that work across DX12, Metal, and Vulkan. If you aren’t in the graphics space, I would skip learning vulkan and learn webgpu wgpu-native.