Reverse-Engineering of ARM Mali "Midgard" Now Has A Working NIR Shader Compiler
Written by Michael Larabel in Mesa on 19 March 2018 at 05:43 AM EDT. 7 Comments
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.
Related News
About The Author
Author picture

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter or contacted via

Popular News This Week