Ab heute ist mit dem neuesten Mesa 23.2-Entwicklungscode die Umgebungsvariablenoption AMD_DEBUG=useaco verfügbar, um den RadeonSI Gallium3D-Treiber anzuweisen, das ACO-Shader-Compiler-Back-End von Valve anstelle des AMDGPU LLVM-Shader-Compiler-Back-Ends für unterstützte Shader-Typen zu verwenden.

Valve hat jahrelang am ACO-Compiler-Backend als schnellere Alternative zum offiziellen LLVM-basierten Shader-Compiler von AMD gearbeitet, der von RadeonSI, früher von RADV, verwendet wurde, sowie am ROCm-Rechenstapel usw. Das ACO-Compiler-Backend war entscheidend für den Erfolg des RADV-Treibers und hat ihn zu einem großartigen Treiber für Linux-Spieler auf dem Steam Deck und diejenigen auf dem Linux-Desktop gemacht, die die Open-Source-Radeon-Grafik genießen.

Seit Jahren wird darüber gesprochen, ACO auf RadeonSI zu bringen, und langsam wird es umgesetzt. Dank dieser Zusammenführungsanfrage von Qiang Yu ermöglicht das neueste zusammengefügte Puzzleteil die Aktivierung des ACO-Compiler mit der Option AMD_DEBUG=useaco für unterstützte Shader-Typen.

Aber bei dieser ersten Zusammenführung gilt die ACO-Compiler-Unterstützung mit RadeonSI nur für monolithische Pixel-Shader. Qiang erklärte im MR:

„Die ACO-Kompilierung kann mit AMD_DEBUG=useaco aktiviert werden. Derzeit wird nur monolithisches PS unterstützt. Es wäre eine große Änderung, alle Shader auf einmal auf ACO umzustellen, daher habe ich vor, zur einfacheren Überprüfung und Fehlerbehebung einen nach dem anderen zu aktivieren.“

Er hat die bekannten Regressionen durchgearbeitet, die ursprünglich für den ACO-Compiler mit Pixel-Shadern im Vergleich zum LLVM-Compiler-Back-End vorhanden waren.

Es ist schön zu sehen, dass dieser neueste Stapel von ACO + RadeonSI-Code mehrere hundert Zeilen neuen Code umfasst. Hoffentlich funktionieren bald weitere Shader-Typen für ACO mit RadeonSI. Weitere ausstehende ACO-Arbeiten für Mesa finden Sie über diese GitLab-Abfrage.

Categories: IT Info