Comment by cogman10
8 days ago
> you've basically got Apple to blame
Yeah, that's the thing that really irks me. WebGPU could have been just a light wrapper over Vulkan like WebGL is (or was, it's complicated now) for OpenGL. But apple has been on a dumb war with Khronos for the last decade which has made everything more difficult.
So now we have n+1 low level standards for GPU programming not because we needed them, but because 1 major player is obstinate.
That would be a problem indeed if Metal wouldn't be a much better designed API than Vulkan. As it stands, Vulkan would do good to 'steal' a few ideas from Metal to make the Vulkan API more convenient to use without sacrificing too much performance.
Or you could build on top of Vulkan and add the convenience features into middleware.
Being simpler is an advantage. It means that 3rd party GPU drivers can more simply implement the interface correctly.
The problem is, for that to happen Vulkan must be convenient and enjoyable enough to use that people are willing to put their free time into such middleware layers, otherwise it mostly won't happen (unless Valve is willing to sponsor the development - because outside of Valve's effort to make Windows games run on Linux via layering D3D on top of Vulkan, Vulkan is actually quite irrelevant).
1 reply →
At least for webgpu, you cant wrap around some of the nonse. Like bindigs. They are an inherently bad concept and the way to go would be bindless, but you cant make a wraper that makes an API that revolves around binding into a bindless API. And there are other things like that, and I'm sure there are plenty between Vulkan and Metal.