Apple Deprecates OpenGL Across All OSes; Urges Developers to use Metal
by Ryan Smith on June 5, 2018 9:30 AM ESTAs has long been the story at One Infinite Loop, what Apple giveth is what Apple taketh, and Apple’s latest rendition of OSes is going to be no exception. Listed in the developer release notes for both iOS and macOS, Apple is deprecating support for what are now their legacy graphics and compute APIs: OpenGL, OpenGL ES, and OpenCL. Instead, Apple is strongly encouraging developers to use their proprietary Metal API, which has been available for a few years now.
Apple’s lack of interest in Khronos’s Open APIs has not gone unnoticed over the years. Apple never added support for OpenGL ES 3.1 or later on iOS, and similarly macOS doesn’t go beyond OpenGL 4.1 (Khronos is up to 4.6 now). Instead, Apple has been pushing developers to Metal almost as soon as it became available. And now by deprecating support for these older APIs, Apple is signaling that they are reserving the right to remove them entirely in the future.
And unlike other OS vendors who may keep deprecated APIs around for years (if not forever) in the name of backwards compatibility, Apple has proven it has no such qualms. The company has already excised 32-bit apps from iOS and is in the process of doing the same for macOS, despite the number of applications (and games!) that will break. So Apple’s threats are generally credible: if these APIs are being deprecated now, then they likely aren’t going to be available much longer.
Which means that with the loss of OpenGL support across the Mac and iOS ecosystem, so too will go support for the only truly common cross-platform graphics API across the industry. OpenGL ES in particular will run on every Mac, iOS device, Android device, Windows device, and Linux device. And while the other vendors have rallied around (or at least supported) the successor Vulkan API, Apple has not. So once the deprecation becomes a removal, the only graphics and compute API supported in the Apple ecosystem will be their proprietary Metal.
As an aside, this announcement goes for GPU compute as well as graphics. Nearly a decade ago, Apple was the big supporter of OpenCL, kickstarting the whole initiative. OpenCL never saw the success it needed, and like the other vendors, Apple has essentially rolled GPU compute into their graphics API. Still, it’s an interesting turn of events when the first vendor to drop support for OpenCL is the vendor that originally championed it to being with.
52 Comments
View All Comments
tipoo - Tuesday, June 5, 2018 - link
Deprecating their sad 5 year old OpenGL implementation is ok, but I wish they natively supported Vulkan now that they're doing that. There's a Vulkan over Metal bridge but it has limits, and then there's the install base issues.MajGenRelativity - Tuesday, June 5, 2018 - link
I can't possibly see how this makes sense. Removing all cross-platform support for graphics APIs is insanejameskatt - Tuesday, June 5, 2018 - link
It isn't about being cross-platform. It is all about giving Apple's customers the best experience. And Metal simply is better. It doesn't have to make compromises for other platforms. It can concentrate on creating the best graphics and compute API for Apple's operating systems and hardware. Apple can quickly modify Metal as it sees fit to improve performance. Apple cannot modify OpenCL as easily since it requires a committee decision. Apple is going for custom hardware, custom software to get the best performance. Just witness how far ahead Apple is in Smartphone processing speed compared to its competitors. It is Apple's combination of deep hardware and software integration that makes it possible. Apple is about creating a fully custom platform that pleases its customers.MajGenRelativity - Tuesday, June 5, 2018 - link
I mean, you're not technically wrong. However, if it is only for one platform, developers are less likely to use it, which hurts consumers.baka_toroi - Tuesday, June 5, 2018 - link
"if it is only for one platform"What a weird way to phrase what you mean. It's the most lucrative mobile platform. It's not "only for one platform." Your choice of words is even more so odd because there are only two relevant mobile platforms.
MajGenRelativity - Tuesday, June 5, 2018 - link
This isn't just for mobile platforms. It affects desktops too.T2k - Tuesday, June 5, 2018 - link
"It's the most lucrative mobile platform." Huh? Android has an 85% market share against iOS worldwide but even in the US Android commands a decent 53-to-42 (10%+) lead against Apple.niva - Tuesday, June 5, 2018 - link
Yeah, but despite that lead iOS commands the "lucrativeness" and "exclusivity" aspects because it's customers don't mind paying a ton of cash, and regularly do, for things Android users get for free.Don't get me wrong, I think this move by Apple to ditch OGL in favor of their own implementation is bad, but it also makes sense from their standpoint. We will see what the long term outcome will be.
Strunf - Tuesday, June 5, 2018 - link
Yeah, well that "deep hardware and software integration" locks people in their ecosystem and while on the smartphone they are on the high end of performance with very little if any lead compared to high end Androids on the PC side they are just above average... and 0 upgrade path.baka_toroi - Tuesday, June 5, 2018 - link
You make it seem their consumers care about the locked-ecosystem approach. The only upgrade path for an iPhone user is the next iPhone.