Radeon R600 Gallium3D Switches To Modern NIR Backend By Default
Gert Wollny has spent months working on the R600g NIR back-end to use that modern intermediate representation (IR) already use by the newer RadeonSI Gallium3D driver, the Intel drivers, and others. This NIR back-end by default is to replace the TGSI back-end, the conventional IR originally used by the Mesa Gallium3D drivers.
Switching over to NIR allows for utilizing more common IR optimizations, this IR being geared for modern driver needs, and the possibility of better performance over the aging TGSI back-end.
Old AMD GPUs continue to see Linux driver improvements thanks to the code being open-source.
The switch to NIR by default for R600g was merged this morning that all known blocker bugs/issues have been addressed. The plan after Mesa 22.3 is to potentially remove the R600g TGSI support in Mesa 23.0.
With Mesa 22.3 for comparison purposes, the old TGSI back-end can still be reverted to with the R600_DEBUG=use_tgsi environment variable. The SB code path isn't enabled by default with the NIR back-end but that too can be flipped on, for that there is the R600_DEBUG=nirsb environment variable.
AMD developers haven't actively worked on the Mesa R600 Gallium3D driver in a number of years but thanks to the code being fully open-source and passionate developers, this driver for aging pre-GCN AMD graphics processors continues to improve.
Mesa 22.3 stable should be out in late November or December depending upon how the release schedule plays out. I'll need to find the time soon to dust off some old Radeon HD graphics cards supported by R600g for seeing the difference made by this R600g NIR back-end.