3 ms·
OpenGL 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
by gjsman-1000 5y ago
OpenGL 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.
- deleted 5y ago[deleted]
- pier25 5y agoEven before 2012, the OpenGL version included in MacOS was always like 4-5 years old. I don't think Nvidia had anything to do with that.
- gjsman-1000 5y agoMacOS ended on OpenGL 4.1, which was formally spec'd in 2010 but wasn't widely-implemented until 2011 and later (because there's implementation time after the spec is produced). This means that around 2012, Apple would have been most likely working on OpenGL 4.2 (possibly with NVIDIA, and maybe even with NVIDIA's source code) but that's the year their relationship soured. However, depending on the source you read, there are reports their relationship was souring as early as 2009.
- pier25 5y agoI don't think it's related to that. It's been many years, but even on Tiger I seem to remember it shipped with an old OpenGL version. I can't find the actual version anywhere though. Here's a post on Google Groups from 2006 stating that Tiger didn't have full support of 2.0: https://groups.google.com/g/comp.graphics.api.opengl/c/AXFx1lc632U/m/ZflBpuI5JS0J https://groups.google.com/g/comp.graphics.api.opengl/c/AXFx1... OpenGl 2.0 was released in 2004.
- saurik 5y agoThis doesn't compare apples to apples, as the issue isn't really about operating systems but more about platforms and integration philosophy: on Windows, the people who make the graphics hardware are able to build drivers for their hardware that support OpenGL, Vulkan, etc.. On macOS, one of two things happens, depending on the device: either 1) Apple does most of the work to create the graphics hardware, and then refuses to support anything designed by Khronos; or 2) Apple buys most of the graphics hardware from a third party, but doesn't really offer a way for third-parties to develop kernel modules / drivers with the depth of access required to pull off a useful graphics driver. "Part of me wonders if NVIDIA was writing the OpenGL for Apple" <- FWIW, I went to college with two of the people who worked--at Apple--on their OpenGL stack: it wasn't third-party.