Etnaviv Gallium3D Switches Over To NIR By Default
It's been a while since last having any major progress to report on Etnaviv, the open-source Mesa Gallium3D driver supporting Vivante graphics IP. But a rather fundamental change was made this past week in that Etnaviv is now (finally) using NIR by default.
Emma Anholt made the change so that Etnaviv Gallium3D is now using NIR by default rather than TGSI as Gallium3D's long-standing intermediate representation.
Using NIR by default will allow Etnaviv to share more optimizations with other modern Mesa drivers as well as having performance/efficiency gains compared to the TGSI code path. Most Gallium3D drivers have been working on moving over to NIR by default while now this reverse-engineered Vivante driver is comfortable enough having it too be the default.
Already there are plans to drop Etnaviv's TGSI path to exclusively rely on NIR. With this change for Etnaviv, Emma Anholt for her part has been motivated by this 10 month old merge request for replacing the glsl_to_tgsi() call with glsl_to_nir() and nir_to_gsi(), which that route would eliminate around 17k lines of code from Mesa and improve the code in the process.
Emma Anholt made the change so that Etnaviv Gallium3D is now using NIR by default rather than TGSI as Gallium3D's long-standing intermediate representation.
Using NIR by default will allow Etnaviv to share more optimizations with other modern Mesa drivers as well as having performance/efficiency gains compared to the TGSI code path. Most Gallium3D drivers have been working on moving over to NIR by default while now this reverse-engineered Vivante driver is comfortable enough having it too be the default.
Already there are plans to drop Etnaviv's TGSI path to exclusively rely on NIR. With this change for Etnaviv, Emma Anholt for her part has been motivated by this 10 month old merge request for replacing the glsl_to_tgsi() call with glsl_to_nir() and nir_to_gsi(), which that route would eliminate around 17k lines of code from Mesa and improve the code in the process.
6 Comments