macOS 10.14 Mojave got announced today, but Cupertino also made headlines when they said that they were going to deprecate OpenCL and OpenGL. Apple’s engineers have been promoting the Metal API as a graphics platform for some time with the hopes that coders could use it equally as well on iOS and macOS devices.
This might help to explain the sudden announcement. The OpenGL stack in macOS hasn’t been updated very much in the last several years. In fact, it’s begun to seriously lag behind the upstream advancements published in the official open-source OpenGL 4.x bundles.
Some users were hoping that they might support Vulkan in the future, but Apple seems to have elected to support only the vendor-specific Metal technology. OpenGL and OpenCL-based application bundles that currently work in macOS should continue to work fine in Mojave for the foreseeable future.
Engineers have not yet set a date for when they’re going to completely remove driver support, and it doesn’t look like they even have an official timetable for end-users to purge what they now seem to consider legacy technologies.
Ironically, Apple’s own technologists developed OpenCL in the first place and it should continue to receive support for most other system software implementations. Some critics have expressed concern at the fact that Apple referred to it as legacy technology when the last stable release came out less than 60 days ago.
Cupertino looked to be adopting to a number of open standards, but this marks a shift toward technologies that wouldn’t work with equipment developed by other hardware vendors. Perhaps the most immediate influence will be felt by Safari’s developers.
WebGL relies on similar open standards, and thus Safari needs some of the deprecated packages to act as dependencies. Without these packages, Safari would be unable to render some types of web content, which would put Apple in an extremely unusual position.
What developers might do is author an entirely new stack that allows deployment of WebGL on top of something like the Metal API, but critics of this kind of policy have voiced challenges to this kind of strategy as well since it seems to run contrary to Apple’s open-source commitments.
As of the time of this writing, OpenGL was being maintained while OpenCL is undergoing active development.