Vydanie DXVK 2.0, implementácie Direct3D 9/10/11 nad rozhraním Vulkan API

K dispozícii je vydanie vrstvy DXVK 2.0, ktorá poskytuje implementáciu DXGI (DirectX Graphics Infrastructure), Direct3D 9, 10 a 11, pracujúcu prostredníctvom prekladu volaní do Vulkan API. DXVK vyžaduje ovládače, ktoré podporujú Vulkan 1.3 API, ako napríklad Mesa RADV 22.0, NVIDIA 510.47.03, Intel ANV 22.0 a AMDVLK. DXVK je možné použiť na spúšťanie 3D aplikácií a hier v systéme Linux pomocou Wine, pričom slúži ako výkonnejšia alternatíva k natívnym implementáciám Wine Direct3D 9/10/11, ktoré bežia nad OpenGL.

Hlavné zmeny:

  • Zvýšili sa požiadavky na verziu grafického API Vulkan – teraz vyžaduje ovládač s podporou Vulkan 1.3 (predtým bol potrebný Vulkan 1.1), čo umožnilo implementovať podporu nových funkcií súvisiacich s kompiláciou shaderov. V praxi je možné DXVK 2.0 spustiť na akomkoľvek systéme, ktorý podporuje použitie balíka Proton Experimental na spustenie hier založených na D3D11 a D3D12. Winevulkan vyžaduje na spustenie aspoň Wine 7.1.
  • Zahŕňa kód projektu dxvk-native, ktorý umožňuje vytvárať natívne zostavy DXVK pre Linux (neviazané na Wine), ktoré možno použiť nie na spúšťanie aplikácií pre Windows, ale v bežných linuxových aplikáciách, ktoré môžu byť užitočné pri vytváraní porty hier pre Linux bez zmeny vykresľovacieho kódu založeného na D3D.
  • Bola rozšírená podpora pre Direct3D 9 vrátane vylepšenej správy pamäte (na ukladanie kópií textúr sa používajú súbory mapované v pamäti), implementovaná bola podpora správneho čítania z aktívnych oblastí vykresľovania (vyriešené problémy s výskytom artefaktov pri hraní GTA IV) a bola prepracovaná implementácia kontroly transparentnosti.
  • Pre Direct3D 10 boli zrušené knižnice d3d10.dll a d3d10_1.dll, ktoré neboli štandardne nainštalované z dôvodu prítomnosti pokročilejšej implementácie D3D10 vo víne. Zároveň pokračuje podpora D3D10 API v knižnici d3d10core.dll.
  • Podpora Direct3D 11 bola posunutá na úroveň funkčnosti 12_1 (úroveň funkcií D3D11), na dosiahnutie ktorej boli implementované funkcie, ako sú dlaždicové zdroje, konzervatívna rastrizácia a usporiadané zobrazenia rasterizátorov.
  • Implementácia rozhrania ID3D11DeviceContext, ktoré predstavuje kontext zariadenia generujúceho príkazy na kreslenie, bola prepracovaná a svojím správaním sa približuje systému Windows. Prepracovanie zlepšilo kompatibilitu s knižnicami tretích strán a znížilo zaťaženie CPU. Najmä zaťaženie procesora sa znížilo v hrách, ktoré aktívne využívajú odložené kontexty (napríklad Assassin's Creed: Origins) alebo často volajú operáciu ClearState (napríklad God of War).
  • Boli vykonané zmeny súvisiace s kompiláciou shaderov. V prítomnosti ovládačov Vulkan s podporou rozšírenia VK_EXT_graphics_pipeline_library sa kompilácia shaderov Vulkan implementuje počas načítavania shaderov D3D v hrách a nie počas vykresľovania, čím sa vyriešili problémy so zamrznutím v dôsledku kompilácie shaderov počas hry. Požadované rozšírenie je v súčasnosti podporované iba v proprietárnych ovládačoch NVIDIA, počnúc verziou 520.56.06.
  • Shadery D3D11 využívajú pamäťový model Vulkan.
  • Odstránil sa limit počtu zdrojov, ktoré je možné viazať naraz.
  • Problémy vyskytujúce sa v hrách boli opravené:
    • alan Wake
    • Alice Madness sa vracia
    • Anomálie: Warzone Earth
    • Za dobrom a zlom
    • Počiatky dračieho veku
    • Empire: Total War
    • Final Fantasy XV
    • Grand Theft Auto IV
    • Heroes Of Annihilated Empires
    • Limit King Of Fighters XIII
    • Metal Gear Solid V: Ground Zeroes
    • Epizódy SiN: Vznik
    • sonic Generations
    • Spider Man
    • Loď
    • Warhammer Online
    • Áno Sedem

Zdroj: opennet.ru

Pridať komentár