RADV Vulkan tsav tsheb tau hloov mus siv ACO shader compilation backend

Hauv codebase siv los tsim Mesa 20.2 tso tawm, ua raws hloov RADV, tus tsav Vulkan rau AMD chips, siv lub neej ntawd backend rau compiling shaders "ACO", uas tau tsim los ntawm Valve ua lwm txoj hauv kev rau LLVM shader compiler. Qhov kev hloov no yuav ua rau muaj kev ua si ntau ntxiv thiab txo lub sijhawm tso tawm. Txhawm rau xa rov qab cov qub backend, ib puag ncig hloov pauv "RADV_DEBUG = llvm" yog muab.

Hloov tus tsav tsheb RADV mus rau qhov rov qab tshiab tau dhau los ua tau tom qab ACO ua tiav qhov sib luag hauv kev ua haujlwm nrog cov qub backend tsim los ntawm AMD rau AMDGPU tsav tsheb, uas txuas ntxiv siv rau hauv RadeonSI OpenGL tsav tsheb. Test los ntawm Valve tsomtias ACO yuav luag ob zaug nrawm dua li AMDGPU shader compiler nyob rau hauv cov nqe lus ntawm kev sib sau ceev thiab ua kom pom kev nce hauv FPS hauv qee qhov kev ua si thaum khiav ntawm cov tshuab nrog RADV tsav tsheb.

RADV Vulkan tsav tsheb tau hloov mus siv ACO shader compilation backend

RADV Vulkan tsav tsheb tau hloov mus siv ACO shader compilation backend

ACO backend yog tsom rau kev muab cov cim cim uas yog qhov zoo tshaj plaws rau kev ua si daim ntawv thov ntxoov ntxoo, nrog rau kev ua tiav kev sib sau ceev heev. ACO yog sau rau hauv C ++, tsim nrog JIT muab tso ua ke hauv siab, thiab siv cov ntaub ntawv nrawm dua, zam cov qauv taw qhia. Tus sawv cev nruab nrab ntawm tus lej yog tag nrho raws li SSA (Static Single Assignment) thiab tso cai rau kev faib npe los ntawm kev suav ua ntej xam cov npe nyob ntawm tus shader.

Ntxiv: Tam sim no, ACO tsuas yog ua haujlwm rau Mesa RADV Vulkan tsav tsheb. Tab sis ACO developers paub tseebhais tias lawv cov kauj ruam tom ntej no yuav pib ua hauj lwm nthuav dav ACO lub peev xwm los txhawb tus neeg tsav tsheb RadeonSI OpenGL, yog li ntawd yav tom ntej, rau tus tsav tsheb no, ACO tuaj yeem hloov lub neej ntawd LLVM shader compiler.

Tau qhov twg los: opennet.ru

Ntxiv ib saib