L’ACO”Amd COmpiler”lancé par Valve pour le pilote Mesa RADV Vulkan a montré qu’il peut faire des merveilles pour les performances de jeu Linux et réduire les temps de chargement du jeu par rapport au back-end officiel du compilateur de shader AMDGPU LLVM d’AMD. Récemment, grâce au travail de Qiang Yu, il y a eu beaucoup de travail en amont de Mesa pour commencer à activer l’utilisation du compilateur ACO par le pilote RadeonSI Gallium3D.
Depuis quelques semaines, il est possible d’utiliser le compilateur ACO pour certains shaders avec RadeonSI et peut être activé par la variable d’environnement AMD_DEBUG=useaco comme alternative à l’utilisation du compilateur AMDGPU LLVM. Initialement, la prise en charge concernait les shaders de pixels monolithiques, tandis que Mesa 23.2-devel a un peu élargi cette portée.
Avec le nouveau code fusionné de cette semaine, radeonSI ACO peut désormais également être activé pour les vertex shaders (VS) autonomes monolithiques. Voir cette demande de fusion pour la dernière activité RadeonSI ACO.
En dehors de RadeonSI, d’autres améliorations du compilateur ACO continuent de se produire et il y a à peine deux jours, un autre ajout d’un VOPD planificateur a été ouvert. ACO continue de très bien fonctionner pour RADV alors que dans le cadre de RadeonSI, il arrive avec des années de retard et à un moment où la plupart des jeux Linux ciblent directement ou indirectement (via DXVK/VKD3D-Proton) Vulkan, OpenGL ayant un rôle beaucoup plus limité ces jours-ci sur le bureau Linux.