Vulkan-ŝoforo nun uzas la backend de konstruo ACO de Valve

En la kodbazo uzata por formi la version de Mesa 20.2, la RADV-pelilo, Vulkan por AMD-blatoj ŝanĝis al backend defaŭlte kompili ombroj »ACO«, disvolvita de Valve kiel alternativo al la LLVM-ombrokompililo.

Ĉi tiu specifa ŝanĝo estis farita kun la fino de akirado de pliiĝo en la produktiveco de la ludoj kaj redukto de ĝia lanĉotempo.

La ŝanĝo de la regilo RADV al la nova backend eblis post atingado de egaleco en ACO-funkcieco kun la malnova AMD-disvolvita backend por la AMDGPU-pelilo, kiu daŭre estas uzata en la RadeonSI OpenGL-pelilo.

Testado de Valve montris, ke ACO estas preskaŭ duoble pli rapida ol la kompilaĵa kompilaĵa kompilaĵo AMDGPU kaj montras pliigon de FPS en iuj ludoj, kiam oni funkcias per sistemoj kun la pelilo RADV.

La ŝoforoj AMD OpenGL kaj Vulkan nuntempe uzas ombrokompililon, kiu estas parto de la kontraŭflua projekto LLVM. Tiu projekto estas grandega kaj havas multajn malsamajn celojn, kaj la interreta kompilaĵo de ludaj ombroj estas nur unu el ili. 

Tio povas konduki al evoluaj avantaĝoj, kie plibonigi lud-specifan funkciecon estas pli malfacila ol alimaniere, aŭ kie lud-specifaj trajtoj ofte estas hazarde rompitaj de LLVM-programistoj laborantaj pri aliaj aferoj.

La backend de ACO celas certigi, ke la kodo estas kreita laŭ la plej optimuma maniero Ebla por ludaj programaj ombroj kaj atingas tre altan kompilan rapidon.

AKO ĝi estas skribita per C ++, disvolvis konsiderante la aplikeblecon por kompilaĵo JIT, kaj uzu la rapidajn por ripeti super datumstrukturoj, evitante ke montriloj-bazitaj strukturoj kiel ligitaj listoj kaj ĉenoj uzas def. La meza reprezento de la kodo estas tute bazita sur SSA (Single Static Allocation) kaj permesas la atribuon de registroj, precize kalkulante la rekordon surbaze de la ombranto.

La meza reprezento de la kodo estas tute bazita sur SSA (Single Static Allocation) kaj permesas la atribuon de registroj, precize kalkulante la rekordon surbaze de la ombranto.

Nuntempe nur pikseloj estas subtenataj (fragmentoj) kaj komputu ombrojn sur diskretaj AMD-GPUoj (dGPU VI +). Tamen ACO jam ĝuste kolektas ombrojn por ĉiuj testitaj ludoj, inkluzive kompleksajn ombrojn de Ombro de la Tomb Raider kaj Wolfenstein II.

La proponita ACO-prototipo por la testo ĝi estas preskaŭ duoble pli rapida ol la kompililo de ombroj AMDGPU kaj montras pliigon de FPS en iuj ludoj kiam funkcias per sistemoj kun la regilo RADV.

Por kompreni iom pli pri la graveco adopti la kodon de Valve, gravas antaŭigi tion la celo estas garantii la plej optimuman eblan generadon de kodo por ludaj programaj ombroj, kaj ankaŭ tre alta kompila rapido.

La ombrokompililo havebla en Mesa uzas LLVM-komponantojn, Ili ne permesas atingi la deziratan kompilan rapidon kaj ne permesas plenan kontrolon de la regofluo, kiu en la pasinteco jam kaŭzis gravajn erarojn.

Ankaŭ, eviti LLVM ebligas efektivigi pli agreseman analizon diferencoj kaj pli fajna protokola administrado, ebligante pli efikan efektivigeblan dosieron generi.

Fine, ĝi ankaŭ estas Gravas noti, ke nuntempe ACO funkcias nur por la regilo Mesa RADV Vulkan. Sed la programistoj de ACO konfirmis, ke ilia sekva paŝo estos komenci labori pri plivastigado de la kapabloj de ACO por subteni la ŝoforon OpenGL RadeonSI, por ke estonte kaj por ĉi tiu ŝoforo, ACO povu anstataŭigi la defaŭltan LLVM-ombrokompililon. .

Kiom tiuj, kiuj preferas daŭrigi kun la backend, kiu antaŭe estis uzata de la LLVM-ombrokompililo, ili povas reiri al ĝi, ili nur devas ŝanĝi variablon.

La ĉirkaŭa variablo provizita por fari ĉi tiun ŝanĝon estas "RADV_DEBUG = llvm".


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

Komento, lasu la vian

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita.

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.

  1.   VaryHeavy diris

    Kaj kiel uzanto elektas kun kiu fono por lanĉi ludon? Kiujn dosierojn ĝi devas modifi?

bool (vera)