Why The Radeon Gallium3D Performance Is Down
After yesterday's article about the Grinch that stole the Radeon Gallium3D performance, here's three offending commits since Mesa 7.10 that are causing the open-source Radeon Gallium3D driver to run slower than it should.
As shown in yesterday's article, for some games (such as those based on ioquake3 as well as Nexuiz) the current state of Mesa is worse-off performance wise and even when comparing Mesa 7.10 to 7.11 there were also some performance drops discovered with the R300g open-source driver that supports up through the Radeon X1000 (R500) series. The frame-rate drops with the OpenGL games were confirmed on two independent Linux systems.
When seeing the noticeable drops in frame-rate on multiple games and multiple setups, I dug a bit deeper... Well, I fired up the Phoronix Test Suite and put it to work. The Phoronix Test Suite can automatically bisect performance and functional regressions and can be adapted to work for anything -- from the Linux kernel to Mesa to anything else. It can interface with git-bisect and can hook into any test profile for fully automating the process. It also works for finding power regressions and other Linux issues.
The Phoronix Test Suite stack went to work by first finding the cause of the OpenArena performance drop in the Mesa 7.12-devel code-base... Thanks to the fully automated process, I meanwhile enjoyed a wonderful Weißbier while taking care of other Phoronix work. The cause of the OpenArena performance drop was successfully located and is shared on the next page.