Panfrost
Panfrost est un pilote en logiciel libre sous Licence MIT pour les processeurs graphiques développés par la société britannique ARM, sous environnement GNU/Linux, gérant OpenGL 3.1 (version bureau) ainsi que OpenGL ES 3.0, la majorité des fonctions de d'OpenGL 3.2 à 3.3 sont également supportées.

Développé principalement par Alyssa Rosenzweig, initialement appelé Chai et orienté vers le Mali T700, puis a eu pour but de gérer l'architecture Midgard d'ARM (Mali-Txxx) dans son ensemble, puis a fusionné avec le projet Frost qui était orienté vers la série Bitfrost (Mali-Gxx) avec comme premier processeur utilisé pour le développement Mali-G71.

Historique 
En , il possède un compilateur de shaders NIR. Sur son blog, le , l'auteur du pilote dit que le projet est à présent baptisé Panfrost, après la fusion avec le pilote BiOpenly pour architecture Bifrost (Mail-Gxx, initialement développé par Lyude Paul, et qu'elle se concentre maintenant sur le flux de commandes et OpenGL ES 2.0. Elle fait également part de similitudes, découvert par Connor, avec l'architecture Bitfrost (Mali Gxx) d'ARM et le pilote. Cela devrait permettre d'unifier certaines parties des pilotes des 2 architectures. En , la gestion des textures fonctionne, ainsi que les shaders, quelques fonctions de mixages et le test de stencil. Quelques jours après le pilote Mesa permet de faire fonctionner le benchmark es2gears. Lyude Paul est également très active sur ce projet. Début , l'outil de test, performance et validation es2gears fonctionne et glmark2 fonctionne avec la première partie affichant le chat en ombrage de Gouraud ainsi que celui de Phong sur Mali T760 et T860

En  également, Hanetzer commence la préparation à l'intégration de la partie pilote DRM dans le mainline du noyau Linux en se basant sur la version 4.19

En , les auteurs présentent le pilote à la conférence de développeurs X.org (X.org Developer’s Conference). Ils démontrent que sur les benchmarks GLmark2 fonctionnant, le pilote libre est beaucoup plus rapide que le blob propriétaire. différents progrès importants ont été faits, notamment le gestion des textures fonctionne parfaitement, permettant d'afficher la démo Jellyfish de glmark2-es. La gestion de l'« ARM Framebuffer Compression » (AFBC, compression du tampon d'image d'ARM) est ajoutée, gérant les tampons de couleur et de profondeur, et permettant ainsi de faire fonctionner le test de réfraction avec l'objet du lapin de glmark2-es. Enfin, les progrès permettent de faire fonctionner Weston, le compositeur par défaut de Wayland, mais sur un seul processeur graphique pour le moment.

Le , une version initiale du pilote est intégrée au code principal de Mesa.

En , Les performances sont améliorées grâce à l'utilisation du gestionnaire de tuiles du processeur. Le pilote passe également le test de format de texture d'OpenGL ES 2. Kodi fonctionne avec accélération vidéo, SuperTuxKart fonctionne pour des scènes basiques avec quelques petits bugs et Neverball fonctionne avec quelques petits bugs également. Du fait qu'il soit basé sur Gallium, certaines fonctions OpenGL pour bureau sont automatiquement traduite en fonctions OpenGL ES, permettant ainsi de faire fonctionner des applications pour bureau sur architecture Midgard, ce qui n'est pas le cas avec le pilote propriétaire.

Fin , le pilote peut faire fonctionner le bureau GNOME Shell, après avoir amélioré le système de gestion de tuiles de tailles dynamiques.

Fin , 95 % des tests compatibilité avec OpenGL ES 3.0 sont passés avec succès.

En , un pilote pour la série Bitfrost, testé sur le Mali-G31, rempli la majorité des fonctionnalités d'OpenGL ES 2.0 et une partie de celles de 2.1, et permet de faire tourner GNOME, sur Wayland, différents jeux, et les lecteurs vidéos  et Kodi avec accélération matérielle. Son développement permet également d'améliorer les pilotes pour les autres séries de Panfrost.

En , 20 des 27 fonctions spécifiques à OpenGL 3.0 sont supportées par Panfrost.

Début , 21/27 fonctions spécifiques à OpenGL 3.0, 8/11 à OpenGL 3.2, et 9/10 à OpenGL 3.3, ainsi que quelques fonctions d'OpenGL 4.0 à 4.5

Le , toutes les spécifications d'OpenGL 3.0 sont couvertes, il reste un bug de gestion de tampon de textures pour supporter 3.1. Le  OpenGL 3.1 et OpenGL ES 3.0 sont supportés sur BitFrost et Midgard, une implémentation d'OpenCL pourrait également être faite rapidement.

Références

Liens externes 
  (Panfrost)
  (Mesa)

Architecture ARM
Logiciel libre sous licence MIT
Processeur graphique