Raspberry Pi's VC4 Gallium3D Driver Switches To Using NIR
With the latest Git code for Mesa 10.6 development, the Raspberry Pi VC4 Gallium3D driver has switched to using the NIR intermediate representation.
Intel's been working toward NIR usage in their driver (currently hidden by an environment variable) while Eric Anholt at Broadcom has also been pursuing NIR support. With the newest code this week, the VC4 driver by default has become a NIR consumer.
The VC4 driver uses a conversion pass to turn Gallium3D's IR (TGSI) into NIR that is then handled by the VC4 driver. Using NIR means better optimizations, the possibility to share IR optimizations between the different drivers, and other features not possible if sticking to TGSI or GLSL IR.
The conversion to consuming NIR by this Broadcom Gallium3D driver was around 700 lines of code changed. Details via this Git commit.
Intel's been working toward NIR usage in their driver (currently hidden by an environment variable) while Eric Anholt at Broadcom has also been pursuing NIR support. With the newest code this week, the VC4 driver by default has become a NIR consumer.
The VC4 driver uses a conversion pass to turn Gallium3D's IR (TGSI) into NIR that is then handled by the VC4 driver. Using NIR means better optimizations, the possibility to share IR optimizations between the different drivers, and other features not possible if sticking to TGSI or GLSL IR.
The conversion to consuming NIR by this Broadcom Gallium3D driver was around 700 lines of code changed. Details via this Git commit.
6 Comments