A rather simple patch by Vadim Girlin has led to a reported significant performance improvement within the R600 Gallium3D graphics driver.
Last week Vadim revived his shader optimizations branch of R600g
. The consensus among the open-source AMD developers were that the work is interesting but the R600 LLVM back-end is the future and what they're investing in, however, Vadim's work was an interesting experiment and he may have gained some valuable knowledge out of this shader optimization back-end work.
While that work likely won't be merged, on Sunday night Vadim posted an interesting patch for the current R600g driver implementation. Due to over-cautious stack reservation, there's a "significant loss of performance" says Vadim. His simple one-liner patch sees that the driver doesn't reserve more stack space than actually required.
Vadim's patch description notes that this simple patch "adds more than 30% FPS for Unigine Heaven." He's been testing this from a Radeon HD 5000 "Evergreen" series graphics card and doesn't see any regressions. Unfortunately there's only the noted performance improvement for Unigine Heaven and not any of the other Linux OpenGL demos.
This current performance optimization patch is currently floating on the mesa-dev list