Radeon R600 Gallium3D Lands NIR Support In Mesa 20.1
While not yet suitable for gamers or serious end usage, the Radeon "R600" Gallium3D driver that supports the Radeon HD 2000 through HD 6000 (pre-GCN) graphics cards now has an experimental NIR back-end.
Independent developer Gert Wollny has been working on this R600 NIR support, similar to the RadeonSI NIR support that materialized nicely last year and is now used by default as part of RadeonSI's OpenGL 4.6 enabling with Mesa 20.0. But in the R600g case, it's NIR support for that vintage graphics driver not seeing much attention these days besides a few rare commits and what is pursued by community developers.
In the case of the R600 NIR support, besides all the usual caveats in using a new compiler back-end, this back-end doesn't yet support tessellation shaders, compute shaders, image loads/stores, work-group shared volumes, or SSBO atomics. There are also a variety of optimizations still missing from this NIR support compared to the existing and default TGSI code-path.
From the hardware side, currently the NIR code is only known to work with Evergreen GPUs: the Radeon HD 5000 series.
So while the R600 NIR support was merged today, it was done to aide in developing in mainline now as opposed to carrying many patches out-of-tree and continually needing to re-base. But for end-users it will still likely be a while before it's ready, all while the R600 Gallium3D usage is on the decline with the GPUs becoming quite old and more software depending on Vulkan or GL4 functionality not present for these pre-GCN parts.
Independent developer Gert Wollny has been working on this R600 NIR support, similar to the RadeonSI NIR support that materialized nicely last year and is now used by default as part of RadeonSI's OpenGL 4.6 enabling with Mesa 20.0. But in the R600g case, it's NIR support for that vintage graphics driver not seeing much attention these days besides a few rare commits and what is pursued by community developers.
In the case of the R600 NIR support, besides all the usual caveats in using a new compiler back-end, this back-end doesn't yet support tessellation shaders, compute shaders, image loads/stores, work-group shared volumes, or SSBO atomics. There are also a variety of optimizations still missing from this NIR support compared to the existing and default TGSI code-path.
From the hardware side, currently the NIR code is only known to work with Evergreen GPUs: the Radeon HD 5000 series.
So while the R600 NIR support was merged today, it was done to aide in developing in mainline now as opposed to carrying many patches out-of-tree and continually needing to re-base. But for end-users it will still likely be a while before it's ready, all while the R600 Gallium3D usage is on the decline with the GPUs becoming quite old and more software depending on Vulkan or GL4 functionality not present for these pre-GCN parts.
4 Comments