Skip to content

Delete classic OSMesa

Emma Anholt requested to merge anholt/mesa:osmesa into master

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.

  • Delete osmesa_find_buffer() (invalid for multiple contexts across threads) and instead glFinish() the old OSMesa context allocate the buffer in the context, copying pixel data out of the old context if any to its buffer and current user
  • Fix OSMesaGetDepthBuffer() to flip y like flush_front does.
  • Fix OSMesaGetDepthBuffer to return a valid pointer attached to the context instead of giving the user a use-after-freed transfer_map pointer.
  • Fix any remaining leaks.\
  • Fix the list of GL symbols for windows
Edited by Emma Anholt

Merge request reports