As 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.

Comments Locked

52 Comments

View All Comments

  • tipoo - Wednesday, June 6, 2018 - link

    True enough since you specified performance per dollar, but that's not the only metric. They optimize for 'niceness' instead and don't fare too badly per dollar there imo. Performance vs size vs battery life vs structural rigidity, plus macOS and the trackpad, etc.
  • BillBear - Tuesday, June 5, 2018 - link

    Am I supposed to be more or less alarmed than I was when Microsoft disallowed OpenGL for Microsoft Store apps and apps on Windows 10 Arm?
  • olafgarten - Tuesday, June 5, 2018 - link

    A lot more, Microsoft disallowed OpenGL only on apps being sold in the Microsoft Store, you can still download an app online and use it. Also, if you need to run OpenGL code, you can use ANGLE which is actively contributed to by Microsoft.

    On the other hand, Apple is most likely completely removing OpenGL from all of their platforms requiring developers to completely rewrite their software. They haven't provided a date for the removal.
  • BillBear - Tuesday, June 5, 2018 - link

    Yes, and just like ANGLE translates OpenGL to Direct3D, there are layers that translate OpenGL to Metal.

    The Vulkan folks have already announced a layer to translate Vulkan to Metal.

    If Apple is doomed because of this, so is Microsoft.
  • AJ_NEWMAN - Tuesday, June 5, 2018 - link

    Forcing software to switch from 32 to 64 lost some software tools and titles from the ecosystem - but in their place will materialise software that is more efficiently using the system resources.

    Forcing Apps to use Metal will have a short term effect of limiting new titles to those with greater resources to develope Metal expertise (or use engines or frameworks that already do themselves). In the long term it could result in less system resources required to do the same task - and/or the system having higher fps,

    AJ

    For Compute, GPU and AR & ML - Apple are ware best place to work out how to hardware accelerate
  • AJ_NEWMAN - Tuesday, June 5, 2018 - link

    err Typo : As Apple have a frenetic SoC Hw development team - and a rapidly expanding GPU / AI / ML team - then perhaps Metal (or OS calls) will be needed in the future to fully utilise the system - in ways that OpenGL & OpenCl cannot keep up with?
  • evilliam - Friday, June 8, 2018 - link

    this.
  • tipoo - Wednesday, June 6, 2018 - link

    They're not expecting everyone to use the low level language, there's MetalKit that bridges the gap to a higher level abstraction. Like GNM vs GNMX.
  • boozed - Thursday, June 7, 2018 - link

    \m/
  • amosbatto - Monday, July 30, 2018 - link

    Apple has taken another step to ensure user lock-in and incompatibility, which allows it to charge very high prices and cultivate an exclusive brand image. Apple seems to have declared war on its own users, yet its users seem to defend its actions at every turn. I almost find it a fascinating it a fascinating psychological study in Stockholm Syndrome where its users endlessly defend their abuser and attack people for pointing out the abuse.

Log in

Don't have an account? Sign up now