Als Teil der Während der Arbeit am Mesa Radeon Vulkan „RADV“-Treiber entwickelten Valve-Ingenieure das „ACO“-Compiler-Backend, das jetzt standardmäßig für RADV verwendet wird und zumindest für RADV eine bessere Leistung liefert als die Verwendung von AMDs offiziellem AMDGPU LLVM-Shader-Compiler zurück-Ende. Es wurde lange darüber gesprochen, RadeonSI ACO-Unterstützung hinzuzufügen, während es in den letzten Wochen neue Code-Aktivitäten an dieser Front gab.

David Airlies monatealte Zusammenführungsanfrage von aco/radv: Refactor Shader Binary Build Interface war wurde heute in Mesa 22.2-devel zusammengeführt.

Diese Umgestaltung der Shader-Binär-Build-Schnittstelle verschiebt einen Teil des Codes aus ACO und”macht die radeonsi-Schnittstelle hoffentlich etwas einfacher”, so Airlie.

Airlie fügte zu diesem jetzt zusammengeführten Code hinzu: „radv speichert die Shader-Binärdatei als lineare Einzelzuordnung, während radeonsi es vorzieht, einige Zeiger auf verschiedene Zuordnungen zu speichern. Ich denke, dies sollte genügend Flexibilität bieten haben beide funktioniert. Es könnte möglich sein, radeonsi später umzugestalten, um etwas Ähnliches zu verwenden, aber es war mir zu diesem Zeitpunkt nicht klar, wie das aussehen könnte.

Dieses ACO-Refactoring ist jetzt Teil von Mainline Mesa. Neben den RadeonSI-Erwähnungen ist über Airlies persönlichen Mesa-Git-Fork der”radeonsi-aco-clover”Branche, an der in den letzten Wochen gearbeitet wurde. Dieser Code passt tatsächlich zum ACO-Compiler-Backend für RadeonSI.

Es gibt noch keine Zusammenführungsanfrage für das Hinzufügen von ACO zu RadeonSI und Airlies Zweig scheint noch in Arbeit zu sein, aber es ist schön, Fortschritte bei ACO für RadeonSI zu sehen, nachdem lange über eine Möglichkeit gesprochen wurde. Es wird interessant sein, die Reaktion von AMD zu sehen und vor allem, wie gut sich ACO für RadeonSI Gallium3D im Vergleich zum AMDGPU LLVM-Shader-Compiler-Backend bewährt. ACO mit RADV hat gezeigt, dass es gut funktioniert und zu schnelleren Spielladezeiten führt, also werden wir sehen, wie gut es mit RadeonSI funktionieren kann, sobald der Code näher an der Mainline liegt.

Categories: IT Info