It's even theoretically possible to use the Asahi Linux hardware Mesa drivers on macOS, though actually doing so would involve hacking around undocumented APIs. I actually thought this was demonstrated before (during early testing) but I can't find it.
Someone else managed to get the RADV AMD driver working on Windows[1]. It is not fully merged upstream yet, but I think they would like to get it merged upstream eventually.
Windows 10 on ARM (maybe Windows 11?) also use Mesa with Microsoft and Collabora's d3d12 backend to run OpenGL and OpenCL applications on top of d3d12, for hardware that does not have proper OpenGL and OpenCL drivers[2].
And of course, it ought to be possible to use llvmpipe/lavapipe with off-screen rendering pretty much anywhere you can get Mesa to build, although in practice I believe SwiftShader usually nets you a lot better performance if it's applicable.
So Mesa is actually not used only on Linux, it can be used pretty much anywhere, actually ships with Windows, and of course many other free software operating systems also ship Mesa.
[1]: https://www.phoronix.com/news/RADV-Windows-XDC-2024
[2]: https://devblogs.microsoft.com/directx/announcing-the-opencl...
Apparently game devs have been doing just fine with middleware solution since the days of Atari.
lawlessone•2h ago
bigyabai•1h ago
pjmlp•16s ago
It is also the only native 3D API designed for managed languages, in Objective-C with Swift bindings.
DirectX is the land of COM, C++, write your own bindings, HLSL isn't quite C++, although is getting there.
Vulkan is the second coming of extension spaghetti, GLSL is stagnant to the point everyone was using HLSL instead, now there is Slang, still outside C and C++, write your own bindings.
LibGNM and LibGMX are basically C and C++ land, and PSGL is an evolution from HLSL.
NVN is a mix of OpenGL and Vulkan, and equally C and C++ land.
Then there are all the MetalKits, that no OS vendor has similar offerings.