Panfrost Gets First 3D Renders on Bifrost GPU (Mali-G31) including Basic Texture Support

Collabora has been working on Panfrost open-source Arm Mali GPU driver for over a year. The drive aims to support both Midgard and Bifrost families. But so far, the company had mostly focused on Midgard (Mali-T6xx/T7xx) GPUs with for example experimental OpenGL ES 3.0 support announced last February.

Collabora engineers, such as Alyssa Rosenzweig, have now started to work on Bifrost support, and some good progress has been made since they managed to have Panfrost render the first 3D graphics with basic texture support using a platform with an Arm Mali-G31 GPU.

Panfrost Bifrost

Alyssa notes that while Midgard and Bifrost have a similar command stream requiring a few changes, the Bifrost instruction set is completely different and required building a new compiler from scratch. This leads to changes to the Intermediate Representation (IR), 16-bit data support, a different register allocation mechanism due to adapt to irregular vector architectures, and the latter also made packing (final code generation) much more complicated than with Midgard Panfrost implementation. If you want to find out more about the nitty-gritty of Panfrost Bifrost implementation, read the announcement.

Now that’s good progress, but that does not mean we have a working driver just yet, and Collabora will now work on adding support for more complex instructions and scheduling to support more complex shaders. Note that GPUs are incredibly complex, and development will take time. In April 2019, Robert Foss, a graphics developer at Collabora, estimated that a stable, fully-compliant Panfrost GPU driver may take two to four more years to have the stability and features of Freedreno.

Support CNX Software! Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

Subscribe
Notify of
guest
1 Comment
oldest
newest
rooted
rooted
1 year ago

I’m glad to see them continue with the process instead of giving up halfway through due to complexity.

Advertisements