Jump to content

Apple to deprecate OpenGL

Recommended Posts


Deprecation of OpenGL and OpenCL

Apps built using OpenGL and OpenCL will continue to run in macOS 10.14, but these legacy technologies are deprecated in macOS 10.14. Games and graphics-intensive apps that use OpenGL should now adopt Metal. Similarly, apps that use OpenCL for computational tasks should now adopt Metal and Metal Performance Shaders.

Metal is designed from the ground up to provide the best access to the modern GPUs on iOS, macOS, and tvOS devices. Metal avoids the overhead inherent in legacy technologies and exposes the latest graphics processing functionality. Unified support for graphics and compute in Metal lets your apps efficiently utilize the latest rendering techniques. For information about developing apps and games using Metal, see the developer documentation for Metal, Metal Performance Shaders, and MetalKit. For information about migrating OpenGL code to Metal, see Mixing Metal and OpenGL Rendering in a View

Source: https://developer.apple.com/macos/whats-new/

With the upcoming macOS upgrade, 32 applications such as Steam will no longer be supported. While Valve can (or maybe are) develop a 64 bit build of Steam, the games would need to be too. But that's just the beginning.

Today with their 10.14 update, Apple decided it would be a fantastic idea to start phasing out OpenGL; graphical API that help set up the foundation of computer graphics and provided universal support for multiple platforms with their upcoming OS upgrade.

I'm actually pretty upset about this. I picked up a iMac to tinker with and to see what I can build on it. Back a few years ago, everything looked like it was going the universal route; one codebase for all but now Apple is forcing users to use metal, which means different code if you want to do multiplatform.

And let us not forget that Apple is a trend setter, I will not be surprised if Microsoft pulls a similar stunt. OpenGL might have issues, but the idea of it being not available at all. Well they didn't mention Vulkan, so who knows about that, from what I recall there is no word on that.

I'm interested to see the thoughts of Josh and other developers who are more educated on OpenGL than I am. Also interested to see what will become of projects such as SDL and of course Leadwerks going forward.

Share this post

Link to post

I suspect lots of developers will get angry at this.

This maybe: https://moltengl.com/

Probably valve trying to protect their business.

For SDL2 i think 2.0.8 has already a metal render.


Share this post

Link to post

"Deprecated" doesn't really mean anything except that they would prefer you use Metal. I suspect OpenGL will continue to be supported indefinitely.

It will be interesting to see what Valve does. It's one thing to update Steam but if they drop support for 32-bit apps there goes a lot of the Steam catalog. If anything, Valve's presence on Apple platforms is charity work.

I am sort of tentatively planning to move everything over to Vulkan / Molten but right now I want to focus on other aspects of it.

  • Like 1

Share this post

Link to post

They're just not updating OpenGL drivers to support new revisions of OpenGL past a certain one... I don't remember if that is 4.2, 4.3, 4.5 or what.

Still, I doubt many people will follow this trend and if they do at least you will still have Vulkan. Shame Apple is only planning to support Metal, MoltenVK looks cool though.

(I hear they're planning to make design and build their own processors too... 🙄)

Share this post

Link to post

Apple actually blocked an app from their walled garden due to the fact it used MoltenVK. Of course, if you wanted to release a game on Steam, that's fine so as long Steam works. Overall, it's just dumb.

Share this post

Link to post

I don't think the app was rejected for using MoltenVK exactly, I think it was rejected because of a technical detail ot the MoltenVK library, i.e. using unofficial APIs which might change at any time.

Share this post

Link to post

We are in contact with the app developer about this.

MoltenVK does NOT use any private or undocumented API’s to work it’s magic. Everything comes from Apple’s public frameworks.

IOSurface as a framework on iOS seems to be in some strange middle state...as in recently transitioned from a private to public API…but it is now a documented, public API framework on iOS. As mentioned in Nat's post…we do use one deprecated parameter…but even that is a publicly declared parameter in Apple’s public headers.

If MoltenVK does turn out to be offending something in using IOSurface on iOS…it is certainly unintended…and is easily remedied.

Looking beyond this administrative hiccup...MoltenVK always has...and always will...remain committed to a full implementation using ONLY Apple's approved, documented, and publicly available API's.


  • Confused 1

Share this post

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...