RADV Vulkan-bestuurder is oorgeskakel om die ACO-skadu-samestelling-agterkant te gebruik

In die kodebasis wat gebruik is om die Mesa 20.2-vrystelling te vorm, geïmplementeer skakel RADV, die Vulkan-bestuurder vir AMD-skyfies, om die verstek-agterkant te gebruik vir die samestelling van shaders "ACO", wat deur Valve ontwikkel word as 'n alternatief vir die LLVM-skadu-samesteller. Hierdie verandering sal lei tot verhoogde spelprestasie en verminderde bekendstellingstyd. Om die ou backend terug te gee, word die omgewingsveranderlike "RADV_DEBUG=llvm" verskaf.

Om die RADV-bestuurder na die nuwe agterkant oor te skakel, het moontlik geword nadat ACO gelykheid in funksionaliteit bereik het met die ou agterkant wat deur AMD ontwikkel is vir die AMDGPU-bestuurder, wat steeds in die RadeonSI OpenGL-bestuurder gebruik word. Toets deur Valve aan die lig gebringdat ACO amper twee keer so vinnig is as die AMDGPU-skadu-samesteller in terme van samestellingspoed en 'n toename in FPS in sommige speletjies toon wanneer dit op stelsels met die RADV-bestuurder loop.

RADV Vulkan-bestuurder is oorgeskakel om die ACO-skadu-samestelling-agterkant te gebruik

RADV Vulkan-bestuurder is oorgeskakel om die ACO-skadu-samestelling-agterkant te gebruik

Die ACO-agterkant is daarop gemik om kodegenerering te verskaf wat so optimaal as moontlik is vir speltoepassings-shaders, sowel as om baie hoë samestellingspoed te bereik. ACO is geskryf in C++, ontwerp met JIT-samestelling in gedagte, en gebruik vinnige iteratiewe datastrukture, en vermy wyser-gebaseerde strukture. Die intermediêre voorstelling van die kode is geheel en al gebaseer op SSA (Static Single Assignment) en laat registertoewysing toe deur die register akkuraat vooraf te bereken afhangende van die skakering.

Byvoeging: Op die oomblik werk ACO net vir die Mesa RADV Vulkan-bestuurder. Maar ACO ontwikkelaars bevestigdat hul volgende stap sal wees om te begin werk aan die uitbreiding van ACO se vermoëns om die RadeonSI OpenGL-drywer te ondersteun, sodat ACO in die toekoms, vir hierdie drywer, die verstek LLVM shader samesteller kan vervang.

Bron: opennet.ru

Voeg 'n opmerking