3 ms·
It's because OpenGL is a dying specification based on an outdated, horrible programming model, and Khronos's conformance tests are weird and ridiculous. The con
by Jasper_ 3y ago
It's because OpenGL is a dying specification based on an outdated, horrible programming model, and Khronos's conformance tests are weird and ridiculous. The conformance tests are not open-source (there's a separate "conformance suite" available on GitHub which is based on Google's dEQP, not the Khronos internal test suite), and there can be some pretty major bugs and gaps in your implementation while still getting it "certified standards-compatible".
Apple has committed to support for OpenGL 3.1, and that's it. They even rewrote their OpenGL driver for Apple M1 to be an emulation layer on top of Metal, so that existing applications keep working, but they're not going to implement any newer versions of OpenGL. Nor should they.
I have a lot of criticisms of Apple, and I think they could be doing a lot to make Metal a better API with better tooling, but not caring about OpenGL is a perfectly sane decision here.
- ferbivore 3y agoFor GLES all the relevant tests are open-source, under KhronosGroup/VK-GL-CTS on GitHub. There's a small set of legacy "confidential" tests that you have to pass for GL conformance. They can't be open-sourced for legal reasons. The current CTS working group would like to get rid of them, but it's hard to justify spending time on GL these days... You can definitely pass conformance with a driver that's horribly broken in practice. GL/ES/GLSL are huge and there are holes found in these specs all the time. And it's not like game developers read them anyway; whatever works on their test devices gets shipped.