Radeon Linux Driver Has A Huge Optimization Two Decades Later For ATI R300~R500 GPUs

Written by Michael Larabel in Mesa on 9 December 2021 at 04:08 PM EST. 28 Comments
While earlier this year AMD dropped pre-Polaris support from their mainline Radeon Software Windows driver, under Linux with open-source software older GPUs can live on much longer with superior driver support... Pending for Mesa 22.0 and as a surprise Christmas gift for those with nearly two decade old GPUs, a big optimization is pending for those with ATI Radeon R300/R400/R500 series graphics cards still in operation.

The change by longtime open-source graphics driver developer Emma Anholt is for the ATI R300 Gallium3D drivers to request NIR shaders from the Mesa state tracker and to use the NIR-to-TGSI path.

Ruby is alive and well on open-source in 2021...

By having the old R300g driver use NIR shaders, this brings the driver closer to parity with the other (newer) drivers and allows for sharing of many performance optimization passes across the drivers thanks to the common NIR intermediate representation. In turn those running the newest open-source driver code on the old ATI GPUs should see faster shader load times and in most cases more efficient shaders that should yield for better gaming performance -- for whatever OpenGL games / applications you still enjoy that can run on such vintage GPUs.

Dug out the old R300/R500 cards... Christmas benchmark battle given this latest Mesa activity?

Shader-DB shader testing results with this NIR'ing of R300g is showing very nice improvements.

This should yield better performance for old Radeon 9500/9700/9800 (R300) era graphics cards up through the Radeon X1000 series (R500) graphics cards. It was with the Radeon HD 2000 series where the Mesa R600g driver was introduced for handling the HD 2000 (through HD 6000) series OpenGL driver support while R300g spans R300/R400/R500 generations.

There is some talk of potentially restricting this NIR usage to just the R500 / X1000 series graphics cards though since R300/R400 is already more pressed at its hardware limits. The pending patches also introduce a "use_tgsi" debug option for forcing the older code path for debugging/comparison purposes.

See this merge request for the details of this R300g driver change. Anholt is hoping to land this big improvement for Mesa 22.0 but is hoping to see the community carry out some additional testing to ensure everything is in order for this big improvement to R300g nearly twenty years after the ATI Radeon R300 graphics cards first launched.

Update: Merged
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