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.

POST A COMMENT

46 Comments

View All Comments

  • BillBear - Tuesday, June 05, 2018 - link

    You can do the same thing that Google did with Chrome on Windows.

    >ANGLE (Almost Native Graphics Layer Engine) is an open sourced graphics engine abstraction layer developed by Google that translates OpenGL calls to Direct3D.

    Microsoft has even created their own fork of the project.
    Reply
  • hosps - Tuesday, June 05, 2018 - link

    This is one of the main reasons I can't get behind Apple. They artificially limit choice by restricting technologies which are widely utilized by others. Limiting choice only hurts the consumer. I can only hope the industry takes notice and doesn't cater to Apple's forced decision. Reply
  • techconc - Tuesday, June 05, 2018 - link

    What choice is artificially limited? It's not like there is no porting effort required just because apps use a common API like OpenGL. There is either a business decision to target Apple's platform or not. Over the past several years, pretty much any application that matters has embraced Metal on Apple's platforms. All of the major gaming engines support it as well.

    OpenGL was fine in it's day, however for many years now, it has held Apple back. It was time to move on.
    Reply
  • PeachNCream - Tuesday, June 05, 2018 - link

    "It's not like there is no porting effort required just because apps use a common API like OpenGL."

    Correct, but now there is _more_ porting effort to bring programs over to Apple which will further marginalize and isolate Apple from mainstream computing. As you implied already porting goes from some other platform to Apple which already indicates where Apple stands in the human centipede of the computer industry as viewed by software developers.

    "Over the past several years, pretty much any application that matters has embraced Metal on Apple's platforms."

    I wouldn't be so quick to speak in absolute terms. It's a perilous matter to presume to speak for everyone else by claiming what matters to them has already been moved to Metal.
    Reply
  • techconc - Friday, June 15, 2018 - link

    I'd suggest that you're also missing some market realities. Cross platform APIs sound like a nice idea, but in practice, take Apple out of the equation and what do you really have? Microsoft has their own DirectX APIs and nobody seems to complain about that. Apple tried very had to champion OpenCL and yet developers have preferred to use the proprietary CUDA. The same goes for Metal. Metal will always be better on Apple's platforms than Vulcan, OpenGL, OpenCL could ever be. Why? Because they can optimize for their specific use cases and hardware. Reply
  • GreenReaper - Tuesday, June 05, 2018 - link

    Oh yeah? Deprecate this! *throws teapot at the wall, shattering it into shards of volcanic metalloids* Reply
  • plopke - Tuesday, June 05, 2018 - link

    So no official Vulkan,OpenGL and off course no DX which is all understandable for their mobile offerings. But all this plus no openCL for macOS. Low level API's are fine but making it the only option?
    The circle continues in the IT-industry , Make something lacking functionality/abstraction -> add functionality/abstraction -> wonder if it is to bloated -> Make something new lacking functionality/abstraction -> .....
    Reply
  • casperes1996 - Tuesday, June 05, 2018 - link

    When coding a Mac or iOS app, you can either work directly with Metal, or use MetalKit, a higher level toolkit based on Metal. So Apple has an abstraction layer above Metal that uses Metal as its foundation Reply
  • Duncan Macdonald - Tuesday, June 05, 2018 - link

    More accurately - it is about locking developers and customers even more tightly to Apple. Smaller developers will not have the resources to support 2 different graphics APIs and so may get locked into Apple thereby providing it with some exclusive games. From Apple's point of view they drop their costs by .001% and get some locked in customers. This is entirely about customer lock-in not about improving the customers experience. Reply
  • baka_toroi - Tuesday, June 05, 2018 - link

    The only way out in this scenario is for multi-platform SDKs (Unity?) to include support for Metal. Reply

Log in

Don't have an account? Sign up now