4 ms·
I'm less mad about Metal existing, and more mad about Apple deprecating/abandoning OpenGL. There was no good reason for that, especially for a company with thei
by bogwog 5y ago
I'm less mad about Metal existing, and more mad about Apple deprecating/abandoning OpenGL. There was no good reason for that, especially for a company with their resources.
- fwsgonzo 5y agoI agree. It's the worst decision so far that they've done. OpenGL may not be perfect, but it worked well everywhere. And what about all the thousands of programs that uses OpenGL? Even future programs may use OpenGL - it is not a legacy API.
- pjmlp 5y agoEverywhere not really, given the lack of support for proper OpenGL on game consoles.
- dvt 5y agoTo be fair, I think just about everyone that has done any OpenGL programming absolutely hates it. It uses ancient paradigms that are confusing for neophytes and completely out of sync with modern programming practices. It's also essentially impossible to do multithreaded rendering.
- daniel-thompson 5y ago> It's the worst decision so far that they've done. OpenGL may not be perfect, but it worked well everywhere. I agree with your sentiment. I like OpenGL quite a bit due to its ubiquity. From my perspective as a casual graphics dev, it's relatively easy to use OpenGL to get triangles on the screen, compared to Vulkan (although I know Vulkan has other benefits). > And what about all the thousands of programs that uses OpenGL? Judging on past behavior - Apple isn't shy about breaking compatibility with techs they're no longer interested in.
- mrpippy 5y agoIt may be deprecated, but there’s no sign that support will be removed from macOS (since lots of apps and games still use it). If they wanted to, the Apple Silicon transition would have been the time to remove it, but that didn’t happen. On Apple Silicon it’s enabled by an OpenGL->Metal translation layer.
- Klonoar 5y agoWhere is this OpenGL->Metal translation layer documented? I've seen numerous mentions of it but no actual docs state it clearly. I believe it to be true, based on my own checking, but I'd love to have a link to point people to as this has come up a few times.
- adamnemecek 5y agoIt’s not going to be documented.
- mrpippy 5y agoIt’s not documented anywhere. OpenGL just works like it does on any other Mac, and you won’t notice it unless you find bugs in it (Wine has some oddball OpenGL checks that trigger a Metal assertion on Big Sur)
- Klonoar 5y agoRight, but my question is: do those checks only assert on Big Sur on M1, or is the mapping later from OpenGL -> Metal just Big Sur/Monterey regardless of platform? Just seems a bit odd to me they'd only do this on one architecture.
- babypuncher 5y agoI say this as an avid user of Apple hardware; I have no faith that they will really keep it around forever. They have shown very little willingness to maintain backwards compatibility with software for an extended period of time. Many games released for macOS less than a decade ago simply no longer function. Meanwhile, the Windows PC I built just a few years ago still runs software and games from 25 years ago. This is why I mostly refuse to buy games for my Apple hardware. Until Apple makes some serious commitments (and shows evidence of following through with them), I will not view my MacBook as a viable gaming device. Right now, I'm not even convinced Rosetta 2 will last more than 6 or 7 years.
- raphlinus 5y ago
- gjsman-1000 5y agoOpenGL is a little weird. Windows, for example, does not actually support OpenGL IIRC. It's just that Intel, AMD, and NVIDIA started including OpenGL drivers in their graphics drivers even though Microsoft still does not lift a finger to support OpenGL. [EDIT: Actually, they do, with the OpenGL compatibility pack at https://www.microsoft.com/en-us/p/opencl-and-opengl-compatibility-pack/9nqpsl29bfff?activetab=pivot:overviewtab https://www.microsoft.com/en-us/p/opencl-and-opengl-compatib.... It's new for Windows 10, and it only supports up to OpenGL 3.3, suspiciously around the same compatibility level as macOS...] MacOS, well, Apple got into a huge spat with NVIDIA in ~2012. Around the same time, actually, that Apple stopped updating OpenGL (though they wouldn't formally deprecate OpenGL until 2018). Part of me wonders if NVIDIA was writing the OpenGL for Apple, but then OpenGL just got put on the shelf after the spat. The result though is that neither Windows, nor Apple, supports OpenCL past 1.2 or OpenGL past 3.2/3.3. It's the GPU vendors that have been taking us further. [EDIT 2: Correction, macOS supports OpenGL 4.1, Windows tops out at 3.3 without GPU drivers if you have DirectX 12]
- emersion 5y agoVulkan and OpenGL are provided by drivers, not by the OS. It's a perfectly normal situation, what else _could_ Microsoft do? > OpenGL compatibility pack This is using the Mesa Gallium state tracker with a DirectX backend. It's not meant for vendors with a native OpenGL driver.
- gjsman-1000 5y agoFair enough, but I guess my point is more that, technically speaking, Windows and MacOS are actually identical in their OpenGL and OpenCL support level. The only place this really shows up though in Windows is software rendering - which lacks OpenGL because Windows lacks OpenGL whereas Windows can software-render DirectX AFAIK. Apple didn't allow AMD though to continue updating OpenGL in their MacOS drivers, possibly because (I'm just speculating) they decided to invent Metal to replace OpenGL around the same time as their NVIDIA spat when they stopped updating OpenGL. Metal came out in 2014, the NVIDIA spat + OpenGL abandonment was 2012. Just my suspicion that MacOS's OpenGL is NVIDIA-based.
- gfxgirl 5y agoThere's plenty of reasons for it. For one, OpenGL is arguably a crap API. For another, even with billions of dollars resources are scarce. It's extremely hard to find graphics programmers that want to work on drivers vs work on games etc...