RADV Vulkan kontrolatzailea ACO itzala konpilazioaren backend-a erabiltzeko aldatu da

Mesa 20.2 bertsioa osatzeko erabilitako kode-basean, ezarrita RADV aldatzea, AMD txipetarako Vulkan kontrolatzailea, itzalgailuak konpilatzeko backend lehenetsia erabiltzeko "ACO", Valve garatzen ari dena LLVM shader konpilatzailearen alternatiba gisa. Aldaketa honek jokoaren errendimendua areagotzea eta abiarazteko denbora murriztuko du. Backend zaharra itzultzeko, "RADV_DEBUG=llvm" ingurune-aldagaia eskaintzen da.

RADV kontrolatzailea backend berrira aldatzea posible izan zen ACOk funtzionalitatean parekotasuna lortu ondoren AMDk AMDGPU kontrolatzailerako garatutako backend zaharrarekin, RadeonSI OpenGL kontrolatzailean erabiltzen jarraitzen duena. Balbula bidezko proba agerianACO hori AMDGPU shader konpilatzailea baino ia bikoitza dela konpilazio-abiadurari dagokionez eta FPS-en igoera erakusten du joko batzuetan RADV kontrolatzailea duten sistemetan exekutatzen denean.

RADV Vulkan kontrolatzailea ACO itzala konpilazioaren backend-a erabiltzeko aldatu da

RADV Vulkan kontrolatzailea ACO itzala konpilazioaren backend-a erabiltzeko aldatu da

ACO backend-ak joko-aplikazioen itzalaldietarako ahalik eta onena den kodea sortzea du helburu, baita konpilazio abiadura oso altua lortzera ere. ACO C++-n idatzita dago, JIT konpilazioa kontuan hartuta diseinatuta, eta datu-egitura iteratibo azkarrak erabiltzen ditu, erakusleetan oinarritutako egiturak saihestuz. Kodearen tarteko irudikapena SSAn (Static Single Assignment) oinarritzen da guztiz eta erregistroa esleitzea ahalbidetzen du, itzalaren arabera erregistroa aurrez kalkulatuz.

Gehigarria: Momentuz, ACOk Mesa RADV Vulkan gidariarentzat bakarrik funtzionatzen du. Baina ACO garatzaileak berretsihurrengo pausoa RadeonSI OpenGL kontrolatzaileari eusteko ACOren gaitasunak zabaltzeko lanean hastea izango dela, etorkizunean, kontrolatzaile honentzat, ACOk LLVM shader konpiladore lehenetsia ordezkatu dezan.

Iturria: opennet.ru

Gehitu iruzkin berria