Hacker News new | ask | show | jobs
by dkonofalski 3418 days ago
Pardon my ignorance, but what do you mean by "not supporting Vulkan on their platforms"? I thought Vulkan was an API that software developers used for graphics... Isn't that a part of OpenGL? Is Apple actively blocking something or have they just left something out?
1 comments

Vulkan is a new API distinct from OpenGL. It's lower level but has a nicer API in some respects. https://en.wikipedia.org/wiki/Vulkan_(API)

Apple decided to not support Vulkan as it had been developing a competing API called Metal at around the same time. I don't know why they don't also support Vulkan.

https://en.wikipedia.org/wiki/Metal_(API)

But Microsoft isn't supporting Vulkan in Windows either, so why is there only a fuss about Apple's support for it? Both companies have competing API's (Direct X and Metal), but Apple is the only one getting flack for it. Why is that?
For Windows I install a graphics driver by the GPU maker and get Vulkan support (according to wikipedia that is the case for Nvidia, AMD and Intel), since Windows allows drivers to offer such APIs without any specific support by Microsoft. With a Mac all the drivers come via Apple, without support for it.
Not just Mac. A big deal is ios' missing support.
Two major reasons:

1) Windows allows the GPU manufacturers to ship their own Vulkan support; AMD, Nvidia and Intel all do this, which covers 99.99999999999999% of all Windows machines where this is an issue. It's not as good as native support, but it's good enough.

2) Windows has over 90% market share on desktop. macOS has far, far less. It's a lot easier to get people to support your API when you have that kind of market share. iOS doesn't have enough market share for devs to ignore Android.

>which covers 99.99999999999999% of all Windows machines where this is an issue.

TIL Matrox only has <00.00000000000001% of the market. :(

Apple allows GPU manufacturers to ship their own Vulkan support as well.

It's likely not worth the vendor's effort but still.

If they were, say, actively revoking the certs of people trying to do this then it would be a different question, but it seems like the answer is the same for why anything gaming-related works worse or doesn't work at all on macOS: most gamers use Windows.
Saying it is around the same time is to ignore the history.

Metal is available since Jun 2014. Vulkan announced on 2015 and the initial release is on 2016.

You're right. And Vulkan is based on Mantle which was already available in 2013 (in drivers; with api docs available in 2015 for some reason[1]). Why Kronos/Valve/etc didn't use Metal as a starting point, I don't know.

[1] http://www.anandtech.com/show/9095/amd-mantle-api-programmin...

Metal in 2014 is a different animal than Metal in 2016.

In 2014, it assumed that the GPU has unified memory architecture, for example (i.e. the GPU can access a memory buffer that you have a pointer to). That's why it was introduced on iOS only.