Panfrost driver provides OpenGL 3.1 support for GPU Mali

Collabora Company announced about implementation in Panfrost for OpenGL 3.1 support for GPU Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) and GPU Bifrost (Mali G3x, G5x, G7x), as well as OpenGL ES 3.0 support for GPU Bifrost. The changes will be included in the Mesa 21.0 release, which is currently at release candidate .

It is noted that GPU Midgard and Bifrost share common data structures for fixed functions, but Bifrost uses a fundamentally different instruction set, which makes it difficult to synchronously implement functionality for GPU data. For example, fixed features already implemented for Midgard, such as “transform feedback”, can be carried over to Bifrost without changes, while features such as Multiple Render Targets (MRT) are limited to a few Bifrost-specific changes. However, other operations with shaders, such as unified buffer objects, require implementation from scratch for the Bifrost shader compiler.

Part of the duplication of work was avoided by the use of intermediate representation in the compiler, which, together with code sharing, significantly speeds up development. Moreover, with this approach, the code can be used not only for one GPU family, but also for different drivers. In particular, to implement the OpenGL used on desktop systems in the Panfrost driver, ready-made Mesa components were used, despite the fact that
the proprietary driver for Mali is limited to support only OpenGL ES.

/Media reports.