Threaded GL Dispatch Code For Mesa Sent Out For Review

For the background to the story, read Mesa Threaded OpenGL Dispatch Finally Landing, Big Perf Win For Some Games. Long story short, the RadeonSI developers are interested in merging the OpenGL threaded dispatch support into core Mesa. The code has been floating around for a few years un-merged but has the potential for affecting some Linux games with greater performance, such as Borderlands 2 as one example where it can be as much as 70% faster.
Since that original revival of the threaded GL dispatch discussion from a few days ago, the Mesa-dev list has been active with upstream developers and other stakeholders debating the idea of merging this code. In particular, the criticism has been that while the threaded dispatch functionality is disabled by default, it regresses some Piglit test runs, some games may crash or perform worse with the code enabled, and whether Mesa should be supporting application/game-specific profiles for automatically turning on/off this and other features. Just how many Linux games this will help also isn't clear, but it is definitely just a smaller sub-set of the modern Linux game portfolio.
There were also concerns the dispatch code hasn't gone through a public review on the Mesa-dev mailing list, but that's why Marek sent out all 26 patches today onto the list for generating additional feedback and reviews. Over the original threaded OpenGL dispatch code from years ago, Marek had added Gallium3D driver support, DRI3 support, and other improvements.
Games/applications making use of an OpenGL 3.3 core profile should work, but Marek is uncertain how many OpenGL 4.4 applications/games would work, while acknowledging a lot of work is still to be done. Marek's patch series also notes our 5 GPU x 5 CPU comparison from this morning for showing how some many Linux games are CPU bound.
28 Comments