On 6 February 2017 at 00:11, Marek Olšák <mar...@gmail.com> wrote: > Hi, > > Back in 2012-2013, then-Intel employees Eric Anholt and Paul Berry > wrote this threaded GL dispatch where GL calls are queued and executed > in a different thread. It was supposed to deal with high CPU overhead > of Mesa, but at the time most games used the compatibility profile and > Steam didn't really exist on Linux, so it didn't help many (if any) > apps. > > Things are different today. We have Steam and most games use the GL > core profile. We know of several games that have better performance > with glthread, namely Borderlands 2, and some people reported to me > that some other games also benefit. It's about time we put this into > mainline Mesa. > > My plan is that we merge it as-is or with minor changes, and then > we'll clean it up and improve it while it's in master. It's disabled > by default, so it shouldn't bother anyone who doesn't want it. There > is a drirc option to turn it on (just use the corresponding env var). > All Gallium drivers support it. > > A note on synchronizations. Borderlands 2 has 170 thread syncs per > frame. That means the app thread has to stop and wait 170x per frame. > Despite that, it still has 70% higher performance in some cases. My > theory is that if you have a lot of draw calls, you can have a lot of > syncs, because the sheer amount of draw calls will just make those > syncs irrelevant. 200 syncs per 4k draw calls is like 1 sync per 20 > draw calls. > > Here it is: https://cgit.freedesktop.org/~mareko/mesa/log/?h=glthread > > The plan is to merge everything up to the gallium commit (without the > Intel commits, I'll let Intel decide what to do with them). I can send > the whole series to the list if that's preferable. > Please send the lot to the list - it would be mostly an "ack, fine with me" case. Do CC Mauro for the patches that affect build systems, so he can address the Android side.
Thanks Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev