Revised Stack Space Patch For R600 Gallium3D Driver
Posted by Michael Larabel on February 18, 2013
Vadim Girlin on Sunday posted a stack space patch for the AMD R600 Gallium3D driver that he reported to improve Unigine's performance by ~30% for this open-source Radeon graphics driver. He has since revised that patch, but testing has revealed it isn't too incredibly exciting at this point.
In the middle of the night Vadim posted r600g: don't reserve more stack space than required v2. This patch is still about over-cautious stack reservation causing significant loss of performance, but the patch message no longer cites any miracle improvements for Unigine Heaven.
This patch is much different than the one-liner patch originally sent to reduce the used stack space. Already in response to this second patch is that it's causing some corruption issues.
Curious to see if there were any other improvements, I ran a few quick tests this afternoon. Mesa 9.2-devel from Git master was used today as of git-9c1107b and then a separate test run after applying Vadim's v2 patch on this same Mesa Git revision. The Linux 3.8 kernel was in use atop Ubuntu 13.04.
With Vadim having mentioned he was testing atop an Evergreen GPU, I also ran these Linux OpenGL benchmarks from an HD 5000 Evergreen -- a Radeon HD 5750 1GB GPU.
Benchmarks in full from this brief testing can be found within 1302185-FO-MESA92DEV42. As this was just a quick run, one of the basic test suites already installed was used -- some of which aren't using GLSL shaders or other advanced features, but the results embedded below are some of the more demanding cases.
As you can see from these results, and the results on OpenBenchmarking.org, there is no overall big performance improvement from this v2 patch at least for the assortment of Linux OpenGL games that were tested from this AMD Radeon HD 5750 graphics card.