Classic OSMesa Retires In Mesa 21.0 As The Worst Of The Software Rendering Paths
While working on some core Mesa cleaning/improvements, Eric Anholt has retired the classic OSMesa support in next quarter's Mesa 21.0.
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."
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."
11 Comments