U driver RADV Vulkan hè statu cambiatu per utilizà u backend di compilazione di shader ACO

In a basa di codice utilizata per furmà a versione Mesa 20.2, implementatu cambiendu RADV, u driver Vulkan per i chip AMD, per utilizà u backend predeterminatu per cumpilà shaders "ACO", chì hè sviluppatu da Valve cum'è una alternativa à u compilatore di shader LLVM. Stu cambiamentu hà da purtà à un rendimentu di u ghjocu aumentatu è u tempu di lanciamentu ridottu. Per rinvià u vechju backend, a variabile di l'ambiente "RADV_DEBUG=llvm" hè furnita.

Cambia u driver RADV à u novu backend hè diventatu pussibule dopu chì ACO hà ottinutu a parità di funziunalità cù u vechju backend sviluppatu da AMD per u driver AMDGPU, chì cuntinueghja à esse usatu in u driver RadeonSI OpenGL. Test da Valve revelatuchì ACO hè quasi duie volte più veloce di u compilatore di shader AMDGPU in quantu à a velocità di compilazione è dimustra un aumentu di FPS in certi ghjochi quandu eseguite in sistemi cù u driver RADV.

U driver RADV Vulkan hè statu cambiatu per utilizà u backend di compilazione di shader ACO

U driver RADV Vulkan hè statu cambiatu per utilizà u backend di compilazione di shader ACO

U backend ACO hè destinatu à furnisce a generazione di codice chì hè u più ottimale pussibule per i shaders di l'applicazioni di ghjocu, è ancu di ottene una velocità di compilazione assai alta. ACO hè scrittu in C++, cuncepitu cù a compilazione JIT in mente, è usa strutture di dati iterative veloci, evitendu strutture basate in puntatori. A rapprisintazioni intermedia di u codice hè interamente basata in SSA (Static Single Assignment) è permette l'attribuzione di u registru precalculendu accuratamente u registru secondu u shader.

Addition: À u mumentu, ACO travaglia solu per u driver Mesa RADV Vulkan. Ma i sviluppatori ACO cunfirmatuchì u so prossimu passu serà di cumincià à travaglià per espansione e capacità di ACO per sustene u driver RadeonSI OpenGL, perchè in u futuru, per questu driver, ACO pò rimpiazzà u compilatore di shader LLVM predeterminatu.

Source: opennet.ru

Add a comment