Dostupná je verzia vrstvice DXVK 3.0, ktorá poskytuje implementáciu DXGI (DirectX Graphics Infrastructure), Direct3D 8, 9, 10 a 11, fungujúcu prostredníctvom prekladu volaní do API Vulkan. Na používanie DXVK sú potrebné ovládače s podporou API Vulkan 1.4, ako sú NVIDIA 575.51.02, Mesa AMD RADV 25.0, NVIDIA 25.1 a Intel ANV 25.1. DXVK môže byť použitý na spúšťanie 3D aplikácií a hier v Linuxe pomocou Wine a predstavuje výkonnostne efektívnejšiu alternatívu k implementáciám Direct3D zabudovaným vo Wine, fungujúcim na OpenGL.
Hlavné zmeny:
- Pre všetky podporované modely shaderov je použitý kompilátor shaderov dxbc-spirv. Kompilácia shaderov bola presunutá z hlavného vlákna do samostatných vlákien.
Bolo implementované caching na disku pre intermediálne reprezentácie shaderov (cache sa ukladá do podpriečinka AppData/Local v aktuálnom prefikse Wine).
Použitie dxbc-spirv umožnilo znížiť spotrebu pamäte, skrátiť čas spúšťania, eliminovať zamrzania a zbaviť sa početných problémov, ktoré sa vyskytovali v hrách Postal: Brain Damaged, Snowrunner, Overwatch, God of War, Days Gone a Final Fantasy XIV, ktoré nebolo možné vyriešiť v starom kóde prekladu shaderov. - Pre D3D9 bola implementovaná podpora shaderových modelov 1-3.
- Predvolene je aktivované Vulkan rozšírenie VK_EXT_descriptor_heap. V porovnaní s predtým používaným úložiskom deskriptorov založeným na rozšírení Vulkan
VK_EXT_descriptor_buffer, nová implementácia poskytuje rovnakú úroveň výkonu operácií vykonávaných na CPU, ale znižuje záťaž na GPU, najmä pri použití grafických kariet NVIDIA. Na prácu na systémoch s grafickými kartami NVIDIA je potrebná minimálne verzia vlastných ovládačov NVIDIA 595.84. Implementácia založená na VK_EXT_descriptor_buffer bola označená za zastaranú a bude odstránená v niektorej z nasledujúcich verzií. - V implementácii Direct3D 9 namiesto generovania shaderov za behu teraz používame uber-shadery, ktorých optimalizované verzie sú kompilované na pozadí, čo vyriešilo problémy so zamrzaním niektorých starších hier, ako je Unreal Tournament 2004. Zabezpečuje sa načítavanie bufferov podľa potreby, ako vo Windows, namiesto predbežného umiestňovania vo video pamäti, čo eliminovalo havarijné ukončenia niektorých 32-bitových D3D9 hier z dôvodu obmedzeného adresného priestoru.
- Zabezpečená správna funkcia multi-sampling (MSAA) v režime D3DRS_MULTISAMPLEANTIALIAS na systémoch s podporou Vulkan rozšírení VK_EXT_sample_locations a VK_EXT_extended_dynamic_state3, čo vyriešilo problémy s renderovaním v Anno 1701, Men of War a iných hrách pri zapnutí MSAA.
- Zabezpečená podpora práce s zdieľanými zdrojmi (Shared resources) v štandardných verziách Wine bez dodatočných patchov od projektu Proton.
- Odstránená premenná prostredia DXVK_FRAME_RATE, používaná na obmedzenie snímkovej frekvencie (Frame rate limiter), namiesto ktorej sa odporúča používať externé obmedzovače, ako sú Gamescope a Mangohud. Ak chcete aktivovať zabudovaný obmedzovač, môžete použiť nastavenie „dxvk.maxFrameRate = n“.
- Riešené problémy v hrách:
- Bioshock Infinite
- Borderlands 2
- Colin McRae Rally 3
- Dirt Rally 2
- Fallout New Vegas
- Insurgency & Counter-Strike
- Jump Space
- Max Payne
- Railroad Tycoon 3
- Resident Evil 6
- Sang-Froid: Tales of Werewolves
- Sea Dogs
- Splinter Cell 4
- The I of the Dragon
- The Sims 3
- Total War: Pharaoh
- Witch on the Holy Night
- World of Final Fantasy
- Vietcong
- Požiadavky na minimálnu verziu grafického API boli zvýšené na Vulkan 1.4.
Na prácu sú teraz potrebné aspoň verzie ovládačov AMD RADV 25.0, NVIDIA 575.51.02, NVIDIA 25.1 a Intel ANV 25.1.
Zdroj: opennet.ru
