Hacker News new | ask | show | jobs
by thewebcount 1135 days ago
So much this. Metal is so elegant to use. I've tried reading through Vulkan docs and tutorials, and it's so confusing.

Also, this seems like some major revisionist history:

>This leads us to the other problem, the one Vulkan developed after the fact. The Apple problem. The theory on Vulkan was it would change the balance of power where Microsoft continually released a high-quality cutting-edge graphics API and OpenGL was the sloppy open-source catch up. Instead, the GPU vendors themselves would provide the API, and Vulkan would be the universal standard while DirectX would be reduced to a platform-specific oddity. But then Apple said no. Apple (who had already launched their own thing, Metal) announced not only would they never support Vulkan, they would not support OpenGL, anymore.

What I remember happening was that Apple was all-in on helping Khronos come up with what would eventually become Vulkan, but Khronos kept dragging their feet on getting something released. Apple finally got fed up and said, "We need something shipping and we need it now." So they just went off and did it themselves. Direct X 12 seemed like a similar response from Microsoft. It always seemed to me that Vulkan had nobody but themselves to blame for these other proprietary libraries being adopted.

4 comments

> What I remember happening was that Apple was all-in on helping Khronos come up with what would eventually become Vulkan, but Khronos kept dragging their feet on getting something released. Apple finally got fed up and said, "We need something shipping and we need it now." So they just went off and did it themselves.

This is not really how it happened. AMD released Mantle back in 2013 based off their experience with game console specific APIs. From what I remember, AMD expressed some interest in Mantle becoming a cross-vendor standard, but were a bit wishy-washy early on. GDC 2014 then saw some AMD talks on Mantle, the announcement of DirectX 12 from Microsoft and the AZDO talk. Apple then announced Metal in June of that year. The "Next Generation OpenGL Initiative" kicked off around that same time with a public call for participation in August. Apple did join the working group at some point (they're one of the many companies listed in a slide from the announcement presentation), but I don't see any evidence that they were ever a major player in the standard.

Now obviously, Vulkan was not an option for Apple in 2014 when they announced Metal since the project hadn't really gotten started yet, but I don't see any evidence that they pushed Khronos to get started on a replacement for OpenGL earlier either. They were also lagging behind on OpenGL support for years before they announced Metal (they stopped at 4.1 which was released in 2010) and notably almost none of the techniques presented in the AZDO talk worked on Mac OS for this reason. I'm sure part of the reason they decided to go their own way with Metal is that you can move faster as a single company, but I think it would be naive to assume that making cross-platform development between iOS and Android harder wasn't a factor.

Additionally given how Long Peaks went, had it not been for AMD giving Mantle to Khronos, they would still be arguing to this day how OpenGL vNext was supposed to look like.
I think your doing your own revionist history here. The rumors are all that Apple is the one that blocked Khronos' initial attempts with the "Long Peaks" proposal that was supposed to become OpenGL 3.

And while Metal was released in 2014, Apple had already stopped updating OpenGL way back in 2010.

Apple is also supposedly engaged in a legal dispute with Khronos, which is why they so vehemently rejected SPIR-V in webgpu.

Mantle (which is what became Vulkan) also came out before Metal did (2013 vs. 2014)

> Direct X 12 seemed like a similar response from Microsoft

That seems like a stretch since nobody ever expected Microsoft to do anything aligned with Khronos. They'd been doing their own thing for a decade+, why would you think DX12 was anything different?

Caused by how Khronos mismanaged OpenCL.
> What I remember happening was that Apple was all-in on helping Khronos come up with what would eventually become Vulkan, but Khronos kept dragging their feet on getting something released. Apple finally got fed up and said, "We need something shipping and we need it now."

Is there any evidence for this?

> Is there any evidence for this?

Timeline? Metal first came out 2 years before Vulkan.

How is that evidence that Apple ever tried to engage with Khronos on a Metal-like API, though?

Seeing as Apple had already stopped updating OpenGL versions about 4 years before the release of Metal, it seems more likely that Apple never planned on working with Khronos on anything.

Well, knowing that Apple is member of the Khronos group, it would be very surprising that they did not get involved with Vulkan.
Do a search for Apple & Khronos and you'll find a lot more examples of spats between them over the last decade than anything else. Including an ongoing legal dispute.

You also won't find any hint of involvement from Apple in anything Vulkan-related. Or really anything else Khronos-related. They've even pulled out of OpenCL - the thing that only Apple ever cared about in the first place.

No idea why they are still a member of the group. Possibly they just haven't been kicked out yet, possibly they still want to retain voting input for something (like webgl).

For the same reason Sony, Nintendo and Microsoft are, they care about specific parts of Khronos, not all of it, not for all their products.

Sony cares about Khronos on Android phones, not so much on Playstation.

Nintendo supports OpenGL 4.6 and Vulkan on the Switch, with NVN as the main API. During the previous generations they started to support GL like APIs, not really 1:1 to the standards.

Microsoft was the main contributor to the initial set of GlTF 2.0 improvements, and BabylonJS is the first browser engine to driver most of the WebGPU efforts, and they care about Khronos APIs in the context of WSL.

Apple once cared about Quickdraw 3D, OpenGL was the path out of the tiny market they were in and what NeXTSTEP used anyway, nowadays all relevant game engines support Metal anyway.

Apple is a member of lots of groups. They were part of the Blu-ray consortium but never ever shipped a Blu-ray drive or blu-ray authoring support
I know people below are disputing your retelling based on how they externally viewed development, but from talking to people who were in the development committees at the time, your retelling is the one that matches up best.