Mesa Hack Makes Nouveau Faster For Team Fortress 2

Posted by Michael Larabel on January 08, 2013

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. NetBSD 6.1 Brings In More Features
  2. Using Six Monitors With AMD's Open-Source Linux Driver
  3. Benchmarking The Intel P-State, CPUfreq Changes
  4. FreeBSD Still Working On Next-Gen Package Manager
  5. DNF Still Advancing As Experimental Yum For Fedora
  6. Logitech Begins Supporting Linux Users
  7. Modern Intel Gallium3D Driver Still Being Toyed With
  8. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  9. GCC 4.8.1 Compiler Due To Be Out Next Week
  10. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
  11. Linux's "Ondemand" Governor Is No Longer Fit
Latest Forum Talk
  1. Using Six Monitors With AMD's Open-Source Linux...
  2. Logitech Begins Supporting Linux Users
  3. Benchmarking The Intel P-State, CPUfreq Changes
  4. Modern Intel Gallium3D Driver Still Being Toyed...
  5. X3: Albion Prelude Released For Linux Gamers
  6. Linux's "Ondemand" Governor Is No...
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite