Etnaviv Gallium3D Picks Up A NIR Compiler
Landing on Tuesday ahead of this week's Mesa 19.2 feature freeze is an experimental NIR compiler for the Etnaviv Gallium3D driver that provides open-source OpenGL driver support for Vivante graphics IP.
Open-source developer Jonathan Marek merged the support yesterday that allows for a NIR-based compiler as an alternative to its own homegrown compiler infrastructure for dealing with OpenGL shaders. NIR is the "new" Mesa common IR used by the likes of Intel's OpenGL/Vulkan drivers, RADV, optionally for RadeonSI, and other drivers like Freedreno and V3D. By leveraging NIR, this should help in their OpenGL (ES) advancement and potential for squeezing more performance optimizations as the Etnaviv reverse-engineered driver continues maturing.
For Mesa 19.2, the code path for Etnaviv isn't enabled by default but requires setting the ETNA_MESA_DEBUG=nir environment variable. This new shader compiler amounts to over two thousand lines of new code for Etnaviv.
Open-source developer Jonathan Marek merged the support yesterday that allows for a NIR-based compiler as an alternative to its own homegrown compiler infrastructure for dealing with OpenGL shaders. NIR is the "new" Mesa common IR used by the likes of Intel's OpenGL/Vulkan drivers, RADV, optionally for RadeonSI, and other drivers like Freedreno and V3D. By leveraging NIR, this should help in their OpenGL (ES) advancement and potential for squeezing more performance optimizations as the Etnaviv reverse-engineered driver continues maturing.
For Mesa 19.2, the code path for Etnaviv isn't enabled by default but requires setting the ETNA_MESA_DEBUG=nir environment variable. This new shader compiler amounts to over two thousand lines of new code for Etnaviv.
1 Comment