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?