Reverse-Engineering of ARM Mali "Midgard" Now Has A Working NIR Shader Compiler
Earlier this year work on the "Chai" open-source Mali T700 GPU driver resumed with an aim to get a working Mesa driver for this "Midgard" graphics architecture. There's still a long battle ahead, but their NIR shader compiler is beginning to work.
Alyssa Rosenzweig remains the main developer working on this Chai driver effort but with using some remnants done by Luc and Connor during the Lima driver days. Her focus lately has been on assembler and shader support for this reverse-engineered driver for ARM Mali graphics.
She is reporting this week that she has now hit the milestone of the Chai NIR compiler being able to generate reasonably efficient code for fragment and vertex shaders. Simple shaders should now be able to compile from GLSL through NIR and into the working Midgard assembly code.
There is room for improvement but this shader compiler is beginning to work and it's already housed within the project's Mesa code fork. They still need to write their actual Mesa/Gallium3D driver still, but it appears to be a step in the right direction. More details on Alyssa's blog.
Alyssa Rosenzweig remains the main developer working on this Chai driver effort but with using some remnants done by Luc and Connor during the Lima driver days. Her focus lately has been on assembler and shader support for this reverse-engineered driver for ARM Mali graphics.
She is reporting this week that she has now hit the milestone of the Chai NIR compiler being able to generate reasonably efficient code for fragment and vertex shaders. Simple shaders should now be able to compile from GLSL through NIR and into the working Midgard assembly code.
There is room for improvement but this shader compiler is beginning to work and it's already housed within the project's Mesa code fork. They still need to write their actual Mesa/Gallium3D driver still, but it appears to be a step in the right direction. More details on Alyssa's blog.
7 Comments