Apple has just announced that OpenGL and OpenCL are deprecated for all Apple platforms, starting with macOS 10.14 and iOS 12. The APIs are still available on these operating systems, but their development tools will apparently start to nag you about using it and, eventually, it could disappear. Instead, Apple wants users to move to their Metal API.
This kinda bites.
I have a couple thoughts about this.
First, of course, relying upon Apple for APIs if you’re expecting to make a timeless work of art… is a bad idea. They are not quite as bad as a console could be, and Microsoft has been flirting with killing Win32 since Windows 8, but you shouldn’t expect that your content will be around forever. They do stuff like this. This is the stuff they do. I know I’ve said it before, but they’ve even sent the Khronos Group a legal notice for attempting to expand the usage of OpenCL, which they own the trademark and several patents for. It’s fine to use Apple products and platforms, but don’t be shocked when stuff like this happens.
Moving on…
Second, I wonder how much of this has to do with the Imagination Technologies announcement from last year. At the time, I said, “Apple already has their own low-level graphics API, Metal, so they might have a lot to gain, although some macOS and iOS applications use OpenGL and OpenGL ES. We’ll find out in less than two years.”
One year later, and it looks like part of Apple’s strategy was, in fact, to deprecate OpenGL and OpenGL ES. I can see a tiny chance that Apple will, in the future, release GPUs that cannot run OpenGL / OpenGL ES / OpenCL software, because they want to own the whole stack from software to hardware. This sounds like something Apple would do, although I’m not sure if owning their own GPU is enough of a draw for them. After all, they will be fighting against an industry that uses PC-compatible hardware, so it runs the risk of stagnating like a lot of RISC companies (except ARM, which was also a battleground of multiple vendors) that just couldn’t keep up to the x86 war.
But it seems like something Apple would do… I don’t know.
Third, this announcement lines up well with recent Valve’s Vulkan-through-Metal (via MoltenVK) release through Dota2. I’m now wondering what Valve was trying to accomplish by pushing that news out five days before Apple pushed against OpenGL. You would think that Valve would have to have known about this, and timed their announcement appropriately… but to what effect?
So those are my three thoughts. What do you think?
depends on how easy it is to
depends on how easy it is to work with could cripple game deployment on mac in the future.
And it’s not all about Games,
And it’s not all about Games, what about all the Open Source Graphics Software that uses OpenGL and OpenCL. As long as there is still driver support for whatever the latest versions of OpenGL and OpenCL that Apple supports then maybe the open source graphics software will still be usable on Apple’s OS products, but it sure looks like Apple wants total control and that’s not good.
Blender 3D sure makes use of OpenGL and OpenCL and how will Apple’s moves affect that.
I can see why Khronos Wants to move all of OpenCL’s feature sets into Vulkan and be done with any Apple tie-ins and limitations. OpenGL, as well as OpenCL will be needed for Blender but maybe The Blender Foundation needs to start looking towards Vulkan more and OpenGL and OpenCL less so they can future proof Blender. Apple is not really interested in Open Source any more Than Microsoft is with regards to windows 10 and UWP apps.
It’s starting to look like in order to run open source software that users will have to also be running an open source OS and Apple is more interested in that 30% cut than it is about anything else.
It looks like the Open Source Graphics software developers will have to provide some form of translation layers or their software may not work in the future in a cross OS platform manner. MoltenVK and some form of OpenGL to Metal and OpenCL to Metal translation layers may be the olny way in the future to work on Mac OS.
It’s Very Depressing also seening that there is no Linux OS laptop OEMs making use of AMD’s Raven Ridge APUs and I still have hope that maybe that will change before 2020 arrives.
So far Windows is fine. UWP
So far Windows is fine. UWP is still not forced, and Windows can run OpenGL, OpenCL and Vulkan.
Apple cutting OpenGL and OpenCL is annoying, although it wasn’t much fun even with them. I had enough trouble with AMD OpenCL drivers on Mac to force OpenCL to run on Intel, and OpenGL is limited to 4.1 (no compute shaders). It’s hard for a small developer to manage cross-platform development with a Mac, and this latest move might end up with us not supporting the Mac.
This is somewhat concerning
This is somewhat concerning about all the compute/graphic software designed to use OpenCL.
What would be a valid replacement for OpenCL these days?
For GPU-based OpenCL? Vulkan
For GPU-based OpenCL? Vulkan fits the bill. For DSPs and stuff, it's still OpenCL.
This is very irritating. I
This is very irritating. I use a lot of cross-platform scientific software; usually written primarily for Linux, but often Mac compatible. GPGPU has been making great strides in speeding things up. So if OpenCL and Vulkan are cut off, I’ll be forced entirely into Linux or lose GPGPU support. (I’m mildly proficient in Linux, so that’s fine, but MacOS certainly is more polished.)
The Valve using Vulkan
The Valve using Vulkan running on Metal thing was actually revealed back in February 2018: https://www.khronos.org/news/press/vulkan-applications-enabled-on-apple-platforms
This is a good thing. Apple’s
This is a good thing. Apple’s open gl implication was horribly broken which is one of the reasons why Apple computers sucked for gaming. Metal like directx is more modern gets direct access to the “metal”. How thinks this is a bad idea?