NVIDIA GeForce FX / 6 / 7 Series GPUs Get Notable Open-Source Driver Improvement In 2022

Written by Michael Larabel in NVIDIA on 16 February 2022 at 02:49 PM EST. 15 Comments
The NVIDIA GeForce FX "NV30" graphics cards are nearly two decades old while via the open-source, community-driven Nouveau project even these old GPUs still see occasional Linux graphics driver improvements. Hitting Mesa 22.1-devel today is the most notable driver work we've seen in years for the open-source NV30 and NV40 (GeForce 6 / 7 series) graphics cards.

With the latest Mesa code, the NV30/NV40 open-source Gallium3D driver is now making use of the NIR-to-TGSI path by default. This allows making use of the NIR intermediate representation through more of the internal driver handling before going back to the TGSI IR that is then used by the shader compiler -- a step short of adapting rewriting the driver to use NIR itself.

The GeForce 5/FX through GeForce 7 series are affected by this NIR-to-TGSI change in the Nouveau NV30 driver code.

Utilizing NIR allows for benefiting from more of the common optimizations shared among the newer graphics drivers and all-around is much better optimized and suited these days than TGSI as the original Gallium3D IR. It was last year Radeon's R300 driver added NIR-to-TGSI too.

Both last year's R300 NIR-to-TGSI work as well as this NV30 driver activity was handled by longtime Mesa developer Emma Anholt. The modern Mesa GPU drivers all go for NIR and with more of these vintage, seldom-maintained drivers moving to NIR-to-TGSI, it may allow for more code clean-ups and improvements to the code-base moving forward.

NVIDIA's Nalu promotional material from back in the GeForce 6 days.

With the change to use NIR-to-TGSI by default, there still is a debug option for using just TGSI if wanting to compare the performance or bisect regressions. When testing with Shader-DB, using NIR-to-TGSI led to around 13% less instructions needing to be generated for NV30 GPUs and around a 12% savings for NV30. GPR register use in affected shader programs were also around 25% less with using NIR-to-TGSI. A very nice win and incremental improvement for this older Nouveau driver code.
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