Umqhubi weVulkan ngoku usebenzisa iValve's ACO build backend

Kwisiseko sekhowudi esetyenziselwa ukwenza ukukhutshwa kweMesa 20.2, umlawuli weRADV, IVulkan yeetshiphusi ze-AMD isiwe ngasemva okungagqibekanga ukuqulunqa "ACO" shaders, ephuhliswe yiValve njengenye indlela kwi-LLVM shader compiler.

Olu tshintsho lukhankanyiwe Kwenziwa ngenjongo yokufumana ukwanda kwemveliso yemidlalo kunye nokunciphisa ixesha layo lokuphosa.

Utshintsho ukusuka kumqhubi weRADV ukuya kumqolo omtsha kwakunokwenzeka emva kokufezekisa ukulingana ekusebenzeni kwe-ACO kunye ne-backend endala ye-AMD kumqhubi we-AMDGPU, eqhubeka isetyenziswa kumqhubi we-RadeonSI OpenGL.

Uvavanyo lweValve lubonise ukuba i-ACO iphantse kabini ngokukhawuleza njengoko i-AMDGPU i-shader compilation compiler compiler kwaye ibonisa ukwanda kwe-FPS kwezinye iimidlalo xa isebenza kwiinkqubo kunye nomqhubi we-RADV.

I-AMD OpenGL kunye nabaqhubi beVulkan ngoku basebenzisa i-shader compiler eyinxalenye yeprojekthi ye-LLVM ephezulu. Le projekthi inkulu kwaye ineenjongo ezininzi ezahlukeneyo, kwaye ukudityaniswa kwe-intanethi yeeshadi zomdlalo yenye yazo. 

Oko kunokukhokelela kurhwebo lophuhliso, apho ukuphucula ukusebenza komdlalo othile kunzima ngakumbi kunokuba bekuya kuba njalo, okanye apho iimpawu ezithile zomdlalo zihlala zophulwa ngengozi ngabaphuhlisi beLLVM abasebenza kwezinye izinto.

Umva we I-ACO ijolise ekuqinisekiseni ukuba ikhowudi yenziwe ngeyona ndlela ifanelekileyo inokwenzeka kwishader yesicelo somdlalo kwaye ufikelele kwisantya esiphezulu kakhulu sokuhlanganiswa.

ACO Kubhaliwe kwi-C++, kuphuhliswe kugcinwe engqondweni ukufaneleka koqulunqo lweJIT, kwaye usebenzise ezikhawulezayo ukuphindaphinda ngaphezulu kwezakhiwo zedatha, Ukunqanda izakhiwo ezisekwe kwisalathisi njengoluhlu oludityanisiweyo kunye neentambo usebenzisa i-def. Ukumelwa okuphakathi kwekhowudi kusekelwe ngokupheleleyo kwi-SSA (i-Single Static Allocation) kwaye ivumela ulwabiwo lwerejista, ukubala ngokuchanekileyo irejista ngokusekelwe kwi-shader.

Ukumelwa okuphakathi kwekhowudi kusekelwe ngokupheleleyo kwi-SSA (i-Single Static Allocation) kwaye ivumela ulwabiwo lwerejista, ukubala ngokuchanekileyo irejista ngokusekelwe kwi-shader.

Okwangoku kuphela iipixels ezixhaswayo (amaqhekeza) kunye ne-compute shaders kwi-discrete AMD GPUs (dGPU VI+). Nangona kunjalo, i-ACO sele iqokelele ngokuchanekileyo i-shaders kuyo yonke imidlalo evavanyiweyo, kubandakanywa i-shaders eyinkimbinkimbi ye-Shadow ye-Tomb Raider kunye ne-Wolfenstein II.

Iprototype ye-ACO ecetywayo kuvavanyo iphantse yaphinda kabini ngokukhawuleza njenge-AMDGPU shader compiler kwaye ibonisa ukwanda kwe-FPS kweminye imidlalo xa isebenza kwiinkqubo kunye nomlawuli we-RADV.

Ukuqonda ngakumbi kancinci malunga nokufaneleka kokwamkelwa kwekhowudi yeValve, kubalulekile ukuyiqaqambisa loo nto Injongo kukuqinisekisa ngeyona khowudi yokuvelisa ilungileyo kunokwenzeka kwishader yesicelo sokudlala, kunye nokufikelela kwisantya esiphezulu kakhulu sokuhlanganiswa.

Umqambi we-shader okhoyo kwiMesa usebenzisa izinto zeLLVM, ezingavumeli ukuhlanganiswa kwesantya esifunwayo ukuba kuphunyezwe kwaye ungavumeli ulawulo olupheleleyo lokuhamba kokulawula, okudlulileyo sele kubangele iimpazamo ezinzulu.

Kwakhona, ukuphepha i-LLVM kwenza kube nokwenzeka ukuphumeza uhlalutyo oluqatha yokungangqinelani kunye nokulawula ngokucokisekileyo ngakumbi umthwalo kwiilogi, okuvumela ukuveliswa kweefayile ezisebenzisekayo ezisebenzayo.

Ekugqibeleni, kunjalo Kubalulekile ukuba uqaphele ukuba okwangoku i-ACO isebenza kuphela kumlawuli we-Mesa RADV Vulkan. Kodwa abaphuhlisi be-ACO baqinisekisile ukuba inyathelo labo elilandelayo liya kuba kukuqalisa ukusebenza ekwandiseni amandla e-ACO ukuxhasa umqhubi we-OpenGL RadeonSI, ukuze kwixesha elizayo kunye nalo mqhubi, i-ACO ithathe indawo ye-LLVM shader compiler.

Kagakanani kwabo bakhetha ukuqhubeka ne-backend eyayisetyenziswa ngaphambili ukusuka kwi-LLVM shader compiler, banokubuyela kuyo, kufuneka batshintshe ukuguquguquka.

Uguqulo lokusingqongileyo olubonelelweyo ukwenza olu tshintsho lu «RADV_DEBUG=llvm».


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.

  1.   VaryKunzima sitsho

    Kwaye umsebenzisi ukhetha njani ukuba yeyiphi i-backend aqhuba ngayo umdlalo? Zeziphi iifayile onazo ukulungisa?