R500 Texture Semaphores Merged To Master

Posted by Michael Larabel on October 15, 2011

The R500 texture semaphores work, the feature I wrote about and tested earlier this month, has been merged to master. This feature in the R300 Gallium3D open-source driver can provide some impressive performance improvements.

Tom Stellard, the former Google Summer of Code student who has since been hired by AMD, pushed several of his "r300/compiler" patches to mainline Mesa last night. The big one is implementing texture semaphore for Radeon X1000 (R500) hardware.
r300/compiler: Implement the texture semaphore
The texture semaphore allows for prefetching of texture data. On my RV515, this increases the FPS of Lightsmark by 33% (This is with the reg_rename pass enabled, which is enabled in the next commit). There is a new env variable now called RADEON_TEX_GROUP, which allows you to specify the maximum number of texture lookups to do at once. The default is 8, but different values could produce better results for various application / card combinations.

The benchmarks I did earlier this month confirmed these double-digit gains for certain texture-using OpenGL workloads like Lightsmark. Additionally, the RADEON_TEX_GROUP default of eight seemed to be an ideal number for delivering maximum performance.

Tom's other commits last night were allowing for merged instructions to be scheduled on demand, preventing the register allocator from creating non-native swizzles, not pairing output writes with GPR writes in the scheduler, and enabling register rename passing on R500 and using it before running through the optimization process.

The R300 compiler work on mainline Mesa can be viewed from CGit. This performance work will be part of Mesa 7.12/8.0. Read the earlier article for more information.

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. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. The Cost Of Ubuntu Disk Encryption
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
Latest Linux News
  1. A New X.Org-Free Wayland LiveCD Released
  2. Unity 8, Mir Made Progress This Week On Features
  3. LLVM Clang 3.3 RC2 Is Ready For Testing
  4. AMD RadeonSI Gallium3D Begins Simple CL Demos
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Linux Desktop Security Could Be A Whole Lot Better
  7. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  8. New NVIDIA Linux Driver Supports The GeForce GTX 780
  9. Chrome 28 To Offer More Speed Improvements
  10. Digia Announces "Boot To Qt" Project
  11. X.Org Libraries Hit By Round Of Security Issues
Latest Forum Talk
  1. Unity 8, Mir Made Progress This Week On Features
  2. Linux Desktop Security Could Be A Whole Lot Better
  3. AMD RadeonSI Gallium3D Begins Simple CL Demos
  4. A New X.Org-Free Wayland LiveCD Released
  5. X.Org Libraries Hit By Round Of Security Issues
  6. Wayland's Weston Gets Output Scaling Support
  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