Supir RADV Vulkan parantos dialihkeun pikeun nganggo backend kompilasi shader ACO

Dina basis kode anu digunakeun pikeun ngabentuk pelepasan Mesa 20.2, dilaksanakeun ngaganti RADV, supir Vulkan pikeun chip AMD, ngagunakeun backend standar pikeun nyusun shaders "Aco", anu dikembangkeun ku Valve salaku alternatif pikeun kompiler shader LLVM. Parobahan ieu bakal ngakibatkeun kanaékan kinerja kaulinan sareng ngirangan waktos peluncuran. Pikeun balik backend heubeul, variabel lingkungan "RADV_DEBUG = llvm" disadiakeun.

Ngalihkeun supir RADV ka backend anyar janten mungkin sanggeus ACO ngahontal parity dina fungsionalitas jeung backend heubeul dikembangkeun ku AMD pikeun supir AMDGPU, nu terus dipaké dina supir RadeonSI OpenGL. Nguji ku klep wangsityén ACO ampir dua kali gancang ti AMDGPU shader compiler dina watesan speed kompilasi sarta mendemonstrasikan paningkatan dina FPS dina sababaraha kaulinan nalika ngajalankeun on sistem jeung supir RADV.

Supir RADV Vulkan parantos dialihkeun pikeun nganggo backend kompilasi shader ACO

Supir RADV Vulkan parantos dialihkeun pikeun nganggo backend kompilasi shader ACO

ACO backend ieu aimed dina nyadiakeun generasi kode anu saoptimal mungkin pikeun shaders aplikasi kaulinan, kitu ogé achieving speed kompilasi pisan tinggi. ACO ditulis dina C ++, dirancang kalayan kompilasi JIT dina pikiran, sarta ngagunakeun struktur data iterative gancang, Ngahindarkeun struktur dumasar-pointer. Répréséntasi panengah kode sagemblengna dumasar kana SSA (Tunggal Tugas statik) tur ngamungkinkeun alokasi register ku akurat pre-itung register gumantung shader nu.

Tambahan: Ayeuna, ACO ngan ukur dianggo pikeun supir Mesa RADV Vulkan. Tapi pamekar ACO negeskeunyén lengkah saterusna maranéhanana baris dimimitian gawé dina ngembangna kamampuhan ACO pikeun ngarojong supir RadeonSI OpenGL, ku kituna dina mangsa nu bakal datang, pikeun supir ieu, ACO bisa ngaganti standar LLVM shader compiler.

sumber: opennet.ru

Tambahkeun komentar