Vulkan mutyairi ikozvino anoshandisa Valve's ACO kuvaka backend

Mune base kodhi inoshandiswa kugadzira iyo Mesa 20.2 vhezheni, mutyairi weRADV, Vulkan ye AMD machipisi yakachinjika kumashure default kuumbiridza mimvuri »ACO«, yakagadzirwa naValve seimwe nzira kune iyo LLVM shader compiler.

Iyi yakachinja shanduko zvakaitwa pamwe nemagumo ekuwana kuwedzera mukugadzirwa kwemitambo uye kudzikisira panguva yayo yekutanga.

Shanduko kubva kuRADV controller kune iyo nyowani backend zvaikwanisika mushure mekusvika parity mu ACO mashandiro neiyo yekare AMD yakagadzirwa backend yemutyairi we AMDGPU, iyo inoramba ichishandiswa muRadeonSI OpenGL mutyairi.

Kuedzwa neValve kwakaratidza kuti ACO inoda kusvika kaviri nekukasira seiyo AMDGPU shader inovaka compiler uye inoratidza kuwedzera kweFPS mune mimwe mitambo kana ichimhanya pane masystem neRADV mutyairi.

Iyo AMD OpenGL uye Vulkan madhiraivha parizvino anoshandisa shader compiler iyo iri chikamu cheLLVM yekumusoro kweprojekiti. Iyo projekiti yakakura uye ine yakawanda yakawanda dzakasiyana zvibodzwa, uye online kuunganidzwa kwemitambo shader ingori imwe yadzo. 

Izvo zvinogona kutungamira mukusimudzira tradeoffs, uko kugadzirisa mutambo-yakatarwa mashandiro kwakanyanya kuomarara kupfuura zvingave neimwe nzira, kana iko kune kwakatarisana nemitambo maficha anowanzoitika netsaona nevakagadziri veLLVM vachishanda pane zvimwe zvinhu.

Iyo yekumashure ye ACO inovavarira kuona kuti kodhi inogadzirwa nenzira yakanyanyisa inogoneka yemitambo app shaders uye uwane yakanyanya kukwirisa kumhanya.

ACO yakanyorwa muC ++, yakavandudzwa ichichengeta mupfungwa kushanda kweJIT kuunganidzwa, uye shandisa izvo zvinokurumidza kuita iterate pamusoro pezvivakwa zve data, kudzivirira zvivakwa-zvinongedzo senge rondedzero dzakabatana uye tambo kubva kushandisa def. Iyo yepakati inomiririra iyo kodhi yakanyatsoenderana neSSA (Imwe Static Kugovaniswa) uye inobvumidza kugoverwa kwemarekodhi, kunyatso kuverenga iyo rekodhi zvichibva pane iyo shader.

Iyo yepakati inomiririra iyo kodhi yakanyatsoenderana neSSA (Imwe Static Kugovaniswa) uye inobvumidza kugoverwa kwemarekodhi, kunyatso kuverenga iyo rekodhi zvichibva pane iyo shader.

Parizvino mapikiseli chete anotsigirwa (zvidimbu) uye compute shader pane discrete AMD GPUs (dGPU VI +). Nekudaro, ACO yatonyatso kuunganidza shader yemitambo yese yakaedzwa, kusanganisira yakaoma shader kubva kuShadow yeTomb Raider naWolfenstein II.

Iyo yakatemwa ACO prototype bvunzo ingangoita zvakapetwa kaviri senge AMDGPU shader compiler uye inoratidza kuwedzera kweFPS mune mimwe mitambo painomhanya pane masystem neRADV controller.

Kuti unzwisise zvishoma nezvekukosha kwekutora kodhi yeValve, zvakakosha kufanotungamira izvo chinangwa ndechekusimbisa yakanyanya kunaka kodhi kodhi inogoneka yemitambo app shader, pamwe neakanyanya kwazvo ekumhanyisa mhanyisa.

Iyo shader compiler inowanikwa muMesa inoshandisa zvikamu zveLLVM, Ivo havatenderi kuti vabudirire inodiwa yekuunganidzwa kumhanya uye havatenderi izere kutonga kweyekudzivirira kuyerera, iyo munguva yakapfuura yakatokanganisa zvakakomba zvikanganiso.

Uyewo, kudzivirira LLVM kunoita kuti zvikwanisike kuitisa imwe hasha ongororo misiyano uye zvakanakisa log mutoro manejimendi, zvichigonesa inoshanda zvakanyanya inogoneka faira chizvarwa.

Pakupedzisira, zvakare Izvo zvakakosha kuti uzive kuti panguva ino ACO inoshanda chete kune iyo Mesa RADV Vulkan controller. Asi vagadziri veACO vakasimbisa kuti nhanho yavo inotevera ichave yekutanga kushanda mukuwedzera kugona kwe ACO kutsigira mutyairi weOpenGL RadeonSI, kuitira kuti mune ramangwana uye kune uyu mutyairi, ACO inogona kutsiva default LLVM shader compiler.

Zvingani avo vanosarudza kuenderera neshure iyo yaimboshandiswa kare kubva kuLLVM shader compiler, vanogona kudzokera kwairi, ivo vanongofanirwa kushandura musiyano.

Musiyano wemamiriro ekunze uyo unopihwa kuti uite shanduko iyi "RADV_DEBUG = llvm".


Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira iyo data: Miguel Ángel Gatón
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako

  1.   VaryHeavy akadaro

    Uye mushandisi anosarudza sei iyo backend yekumhanya nayo mutambo nayo? Ndeapi mafaira aanofanira kugadzirisa?