Una de las últimas funciones para aterrizar en Mesa 22.3 antes de la bifurcación de ayer y el lanzamiento de Mesa 22.3-rc1 está habilitando el caché de disco de sombreado de Mesa para Panfrost, el controlador de código abierto Arm Mali para las generaciones Midgard y Bifrost.
Panfrost Gallium3D ha realizado los cambios necesarios en Mesa 22.3 para habilitar la caché de disco Shader común de Mesa. A su vez, esto debería ayudar con Panfrost en tiempos de carga de juegos más rápidos al evitar la recompilación de sombreadores en cargas de juegos posteriores, ayudando con el rendimiento de cualquier juego que compile sombreadores sobre la marcha, etc. Es el mismo caché en disco de Mesa que usan otros controladores, solo el Se necesitaban bits de integración para el soporte de Panfrost.
Alyssa Rosenzweig de Collabora resolvió el soporte de caché de disco de sombreado. Ella lo resumió así:
Conecte el caché del disco Shader de Mesa a Panfrost. Junto con las precompilaciones del parche anterior, esto debería reducir en gran medida el bloqueo de recompilación de shaders.
Esta es una implementación básica. El trabajo futuro obvio incluye:
-Almacenamiento en caché de sombreadores internos (fuera de Gallium)
-Implementar finalize_nir para reducir el tamaño de disco de los sombreadores
Como parte de esta fusión también es la capacidad de precompilar sombreadores en el momento de la creación de CSO para tratar de evitar el”jak en el momento del sorteo”. La precompilación de sombreadores se puede habilitar mediante la nueva opción de depuración”precompilación”.
Más detalles sobre la compatibilidad con la memoria caché del disco Shader de Mesa para Panfrost a través de esta combinación.