本日より、最新の Mesa 23.2 開発コードから、サポートされているシェーダー タイプに対して AMDGPU LLVM シェーダー コンパイラー バックエンドではなく、Valve の ACO シェーダー コンパイラー バックエンドを使用するように RadeonSI Gallium3D ドライバーに指示する環境変数オプション AMD_DEBUG=useaco が利用可能になりました。 。

Valve は、RadeonSI (以前は RADV) や ROCm コンピューティング スタックなどで使用されていた AMD の公式 LLVM ベースのシェーダ コンパイラのより高速な代替手段として、ACO コンパイラ バックエンドの開発に何年も費やしてきました。 ACO コンパイラ バックエンドは RADV ドライバーの成功に不可欠であり、Steam デッキの Linux ゲーマーや、オープンソースの Radeon グラフィックスを楽しむ Linux デスクトップのゲーマーにとって、RADV ドライバーを優れたドライバーにしています。

何年もの間、RadeonSI に ACO を導入するという話があり、徐々に実現してきました。 Qiang Yu によるこのマージ リクエストのおかげで、パズルの最新のピースが結合され、サポートされているシェーダー タイプの AMD_DEBUG=useaco オプションを備えた ACO コンパイラー。

しかし、この最初のマージでは、RadeonSI による ACO コンパイラのサポートはモノリシック ピクセル シェーダのみになります。 Qiang 氏は MR で次のように説明しました。

「ACO コンパイルは AMD_DEBUG=useaco で有効にできます。現在はモノリシック PS のみがサポートされています。すべてのシェーダーを一度に ACO に切り替えるのは大きな変更となるため、レビューとデバッグを容易にするために 1 つずつ有効にする計画です。」 blockquote>
彼は、LLVM コンパイラ バックエンドと比較して、ピクセル シェーダを備えた ACO コンパイラに元々存在していた既知の回帰を解決しました。

数百行の新しいコードからなる ACO + RadeonSI コードの最新バッチが表示されるのは嬉しいことです。 RadeonSI を使用した ACO で、より多くのシェーダ タイプがすぐに動作し始めることを願っています。 Mesa のその他の保留中の ACO 作業は、この GitLab クエリで見つけることができます。

Categories: IT Info