RADV Vulkan drajver je prebačen da koristi backend kompilacije ACO shadera

U bazi kodova koja se koristi za formiranje izdanja Mesa 20.2, implementirano prebacivanje RADV, Vulkan drajvera za AMD čipove, da koristi zadanu pozadinu za kompajliranje shadera "ACO“, koji razvija Valve kao alternativu LLVM shader kompajleru. Ova promjena će dovesti do povećanja performansi igre i smanjenog vremena pokretanja. Da biste vratili stari backend, obezbjeđena je varijabla okruženja “RADV_DEBUG=llvm”.

Prebacivanje RADV drajvera na novi backend postalo je moguće nakon što je ACO postigao paritet u funkcionalnosti sa starim backend-om koji je AMD razvio za AMDGPU drajver, koji se i dalje koristi u RadeonSI OpenGL drajveru. Testiranje od strane Valvea otkrivenoda je ACO skoro duplo brži od AMDGPU shader kompajlera u smislu brzine kompilacije i pokazuje povećanje FPS-a u nekim igrama kada se radi na sistemima sa RADV drajverom.

RADV Vulkan drajver je prebačen da koristi backend kompilacije ACO shadera

RADV Vulkan drajver je prebačen da koristi backend kompilacije ACO shadera

ACO backend ima za cilj da obezbedi generisanje koda što je moguće optimalnije za shadere aplikacija za igre, kao i postizanje veoma velike brzine kompilacije. ACO je napisan u C++, dizajniran sa JIT kompilacijom na umu, i koristi brze iterativne strukture podataka, izbjegavajući strukture zasnovane na pokazivačima. Srednji prikaz koda je u potpunosti baziran na SSA (Static Single Assignment) i omogućava dodjelu registara preciznim pred-kalkulacijom registra u zavisnosti od shadera.

Dodatak: ACO trenutno radi samo za drajver Mesa RADV Vulkan. Ali ACO programeri potvrđeno, da će njihov sljedeći korak biti početak rada na proširenju ACO-ovih mogućnosti za pružanje podrške za RadeonSI OpenGL drajver, tako da u budućnosti, za ovaj drajver, ACO može zamijeniti zadani LLVM shader kompajler.

izvor: opennet.ru

Dodajte komentar