L’une des dernières fonctionnalités pour atterrir dans Mesa 22.3 avant la ramification d’hier et la version Mesa 22.3-rc1 active le cache disque de shader Mesa pour Panfrost, le pilote open source Arm Mali pour les générations Midgard et Bifrost.
Panfrost Gallium3D a apporté les modifications nécessaires dans Mesa 22.3 pour activer le cache disque de shader commun de Mesa. À son tour, cela devrait aider Panfrost à accélérer les temps de chargement du jeu en évitant la recompilation des shaders lors des chargements de jeu suivants, en améliorant les performances de tous les jeux compilant les shaders à la volée, etc. C’est le même cache sur disque Mesa utilisé par d’autres pilotes, juste le des bits d’intégration étaient nécessaires pour le support Panfrost.
Alyssa Rosenzweig de Collabora a travaillé sur la prise en charge du cache disque du shader. Elle l’a résumé comme suit :
Câblez le cache disque du shader Mesa dans Panfrost. Couplé aux précompilations du patch précédent, cela devrait réduire considérablement le jank de recompilation du shader.
Il s’agit d’une implémentation simplifiée. Les travaux futurs évidents incluent :
– Mettre en cache les shaders internes (en dehors de Gallium)
– Implémenter finalize_nir pour réduire la taille du disque des shaders
Dans le cadre de cette fusion est également la possibilité de pré-compiler les shaders au moment de la création du CSO pour essayer d’éviter le « jank au moment du dessin ». La pré-compilation du shader peut être activée à l’aide de la nouvelle option de débogage”precompile”.
Plus de détails sur la prise en charge du cache disque des shaders Mesa pour Panfrost via cette fusion.