RADV Vulkan 驅動程式已切換為使用 ACO 著色器編譯後端

在用於形成 Mesa 20.2 版本的程式碼庫中, 實施的 切換 RADV(AMD 晶片的 Vulkan 驅動程式)以使用預設後端來編譯著色器”ACO「,它是由 Valve 開發的,作為 LLVM 著色器編譯器的替代品。 此更改將提高遊戲效能並縮短啟動時間。 為了傳回舊的後端,提供了環境變數「RADV_DEBUG=llvm」。

在 ACO 與 AMD 為 AMDGPU 驅動程式開發的舊後端實作功能對等後,將 RADV 驅動程式切換到新後端成為可能,該驅動程式繼續在 RadeonSI OpenGL 驅動程式中使用。 通過閥門測試 顯露ACO 的編譯速度幾乎是 AMDGPU 著色器編譯器的兩倍,並且在使用 RADV 驅動程式的系統上運行時,某些遊戲的 FPS 有所提高。

RADV Vulkan 驅動程式已切換為使用 ACO 著色器編譯後端

RADV Vulkan 驅動程式已切換為使用 ACO 著色器編譯後端

ACO 後端旨在為遊戲應用程式著色器提供盡可能最佳的程式碼生成,並實現非常高的編譯速度。 ACO 以 C++ 編寫,設計時考慮了 JIT 編譯,並使用快速迭代資料結構,避免基於指標的結構。 程式碼的中間表示完全基於SSA(靜態單一分配),並允許根據著色器準確地預先計算暫存器來分配暫存器。

新增:目前,ACO 僅適用於 Mesa RADV Vulkan 驅動程式。 但ACO開發商 已確認他們的下一步將是開始擴展 ACO 的功能以支援 RadeonSI OpenGL 驅動程序,以便將來對於該驅動程序,ACO 可以取代預設的 LLVM 著色器編譯器。

來源: opennet.ru

添加評論