Following yesterday's article comparing the AMD Radeon Linux drivers on Ubuntu 12.10
, Marek Olšák looked
into some of the cases where the open-source Radeon Gallium3D driver was much slower than the proprietary Catalyst driver. Already with one patch that touches only two dozen lines of code, Marek was able to quadruple the open-source driver frame-rate for at least one game.
By forcing some buffers to use the video RAM rather than the GART/GTT system memory, Marek managed the 4x OpenGL performance increase on the R600g driver for the Reaction Quake 3
The patch surfaced today on the Mesa mailing list
. "The problem was we set VRAM|GTT for relocations of STATIC resources. Setting just VRAM increases the framerate 4 times on my machine."
For those wondering about other possible performance optimizations for the open-source Mesa/Gallium3D drivers, Alex Deucher of AMD wrote in the forums
that better heuristics for better buffer placement and buffer upload/caching can be a win as well as shader compiler improvements, cached and uncached GART memory usage, and better 1D/2D/linear tiling selection heuristics.
Among the missing OpenGL features for Radeon HD 2000 through HD 4000 graphics cards at the moment include geometry shaders, multi-sample textures, uniform buffer objects, and texture buffer objects, wrote Marek in another post