Mesa Hack Makes Nouveau Faster For Team Fortress 2

Written by Michael Larabel in Mesa on 8 January 2013 at 01:30 PM EST. 3 Comments
MESA
Two performance-related commits were made today to Mesa for the Nouveau Gallium3D driver.

Christoph Bumiller pushed some new Mesa commits today concerning Nouveau. The first one is nouveau: increase max order of suballocated buffers by 1. This commit can make Nouveau run at 70 FPS now for Team Fortress 2 compared to 20 FPS prior to the commit, but unfortunately it's a hack.

The commit description says, "This is really a hack to make TF2 (considerably, up to 20 -> 70 fps at low res) faster." One of the code comments goes on to say, "TODO: Higher orders can waste a lot of space for npot size buffers, should add an extra cache for such buffer objects. HACK: Max order == 21 to accommodate TF2's 1.5 MiB, frequently reallocated vertex buffer (VM flush (?) decreases performance dramatically)."

The other commit improves buffer transfers for Nouveau. "Save double memcpy on uploads to VRAM in most cases. Properly handle FLUSH_EXPLICIT. Reallocate on DISCARD_WHOLE_RESOURCE to avoid sync." This commit is larger and introduces around 500 lines of new code.

A few other Nouveau code commits were made today to mainline Mesa, but nothing else that is overly exciting.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week