Rude awakening regarding Metal

Agreed; I let my frustration with Apple cloud my judgement. I was so miffed that they broke OpenGL in Mojave, I incorrectly assumed that as 10.11 supports Metal, all the machines it runs on also supports Metal.

You, I and many macOS developers feel this way. The annual updates with a general lack of care have helped to eat away at Apple’s “It just works” reputation. They do themselves no favors with their current hardware either.

This is how a lot of developers feel, so much work, just to keep the app alive, which takes away time from being able to make the application a better product. It’s infuriating.

Technically they already have it for ARM, as it was also in iOS. However they’ve removed it from there also. My feelings on why Apple it removing so much stuff from the OS, is to reduce the workload for the engineers, so that they can reduce the amount of engineers and therefore save costs, and increase ROI.

Because I am not using OpenGL/Metal for 3D scene rendering. I am using it/them as a rendering destination for Core Image, which gives incredible onscreen performance increases.

For the time being, I’ve cobbled together a new canvas subclass that uses CALayers, when OpenGL is selected it creates an CAOpenGLLayer and when Metal is selected it creates a CAMetalLayer. If Metal is supported, it uses Metal, otherwise OpenGL. They’re not directly compatible, so I’ve duct taped some bridge code so that can at least both draw. I’ve removed some functionality, I may add it back in the future, once I can figure out a solution for both.

I’ve also reverted my kernels to use GLSL (as this works on both, for the time being) instead of MTSL.

Hopefully today or tomorrow I can send this out for testing.

Do you want to know something funny? Our much earlier apps; which are pure Xojo & Einhugur picture effects, compiled as 32-Bit CARBON applications (back last decade), still kinda work in Mojave (although not always). Yet an app I wrote last year, using Apple’s image editing API stopped working when Mojave was released. Seems like the moral here is to avoid using Apple’s fancy APIs!