Show Your Support: Did you know that you can get Phoronix Premium for under $4 per month? Try it today to view our site ad-free, multi-page articles on a single page, and more while the proceeds allow us to write more Linux hardware reviews. At the very least, please disable your ad-blocker.
Classic OSMesa Retires In Mesa 21.0 As The Worst Of The Software Rendering Paths
Those wanting Mesa software rendering in 2020 and beyond should really be using LLVMpipe or otherwise Softpipe should LLVM not be available for your software/hardware platform. LLVMpipe offers much better performance not to mention OpenGL 4.6 and is actually maintained. With classic OSMesa code just rotting and being of minimal use these days for off-screen rendering, the classic code has been gutted.
Eric Anholt outlined in the pull request, "I've been rooting around in mesa core working on formats stuff, and I was really bothered by the existence of classic OSMesa. src/mesa/swrast sucks and we shouldn't encourage people to use it. However, OSMesa is under-tested, and it turns out the gallium version has a bunch of bugs. Given that we want people using softpipe/llvmpipe instead (if they insist on using osmesa at all), we should fix the known bugs and delete the classic variant."
Those known bugs around OSMesaGetDepthBuffer, leaks, and the list of GL symbols for Windows were addressed so Anholt went ahead and deleted classic OSMesa. The end-user impact should be small, as Anholt noted in the commit, "In my survey of OSMesa users, debian was the remaining holdout with classic OSMesa in use on hurd and some rare non-LLVM-supported architectures (sh4, alpha, etc.). As of today, they've switched to softpipe-based gallium OSMesa for them. To prevent people from running the wrong OSMesa (to the extent that running OSMesa can ever be the right thing), delete the classic version."