Driver RADV Vulkan telah dialihkan untuk menggunakan backend kompilasi shader ACO

Dalam basis kode yang digunakan untuk membentuk rilis Mesa 20.2, dilaksanakan mengganti RADV, driver Vulkan untuk chip AMD, untuk menggunakan backend default untuk mengkompilasi shader "ACOβ€œ, yang sedang dikembangkan oleh Valve sebagai alternatif dari kompiler shader LLVM. Perubahan ini akan menyebabkan peningkatan kinerja game dan pengurangan waktu peluncuran. Untuk mengembalikan backend lama, variabel lingkungan β€œRADV_DEBUG=llvm” disediakan.

Mengalihkan driver RADV ke backend baru menjadi mungkin setelah ACO mencapai kesamaan fungsionalitas dengan backend lama yang dikembangkan oleh AMD untuk driver AMDGPU, yang terus digunakan dalam driver RadeonSI OpenGL. Pengujian oleh Valve terungkapbahwa ACO hampir dua kali lebih cepat dari kompiler shader AMDGPU dalam hal kecepatan kompilasi dan menunjukkan peningkatan FPS di beberapa game saat dijalankan pada sistem dengan driver RADV.

Driver RADV Vulkan telah dialihkan untuk menggunakan backend kompilasi shader ACO

Driver RADV Vulkan telah dialihkan untuk menggunakan backend kompilasi shader ACO

Backend ACO ditujukan untuk menyediakan pembuatan kode seoptimal mungkin untuk shader aplikasi game, serta mencapai kecepatan kompilasi yang sangat tinggi. ACO ditulis dalam C++, dirancang dengan mempertimbangkan kompilasi JIT, dan menggunakan struktur data berulang yang cepat, menghindari struktur berbasis pointer. Representasi perantara dari kode ini sepenuhnya didasarkan pada SSA (Static Single Assignment) dan memungkinkan alokasi register dengan menghitung terlebih dahulu register secara akurat tergantung pada shadernya.

Tambahan: Saat ini, ACO hanya berfungsi untuk driver Mesa RADV Vulkan. Tapi pengembang ACO dikonfirmasi, bahwa langkah mereka selanjutnya adalah mulai berupaya memperluas kemampuan ACO untuk memberikan dukungan pada driver RadeonSI OpenGL, sehingga kedepannya, untuk driver ini, ACO dapat menggantikan compiler shader LLVM default.

Sumber: opennet.ru

Tambah komentar