Someone please define threaded gl dispatch. Googling that without quotes gives nothing relevant, with quotes it only has phoronix results.
Printable View
Someone please define threaded gl dispatch. Googling that without quotes gives nothing relevant, with quotes it only has phoronix results.
GL applications call into Mesa using the standard gl* functions, many of which have to validate internal state. Currently, all of that processing happens in the main thread, so while your application would like to be doing physics calculations or something, it's stuck waiting for Mesa to validate GL state.
Threading the GL API functions means that when you call a gl* function, that function queues up some work for the render thread to do. The render thread will do all the state checking on another core, and allow the gl* functions to return almost immediately back to the application, allowing the application do get to other things.
So deferring the work to another thread, ok. But how does that work when the call needs to return an error?
After every call in apitrace ;)