DXVK 3.0 je nyní k dispozici a nabízí implementaci DXGI (DirectX Graphics Infrastructure), Direct3D 8, 9, 10 a 11, pracující prostřednictvím překladu volání do Vulkan API. DXVK vyžaduje ovladače, které podporují Vulkan 1.4 API, jako například NVIDIA 575.51.02, Mesa AMD RADV 25.0, NVIDIA 25.1 a Intel ANV 25.1. DXVK lze použít ke spouštění 3D aplikací a her v... Linux pomocí Wine, sloužícího jako výkonnější alternativa k vestavěným implementacím Direct3D ve Wine běžícím na OpenGL.
Hlavní změny:
- Kompilátor shaderů dxbc-spirv se používá pro všechny podporované modely shaderů. Kompilace shaderů byla přesunuta z hlavního vlákna do samostatných vláken.
Implementováno ukládání mezilehlé reprezentace shaderů do mezipaměti na disku (mezipaměť je uložena v podadresáři AppData/Local v aktuálním prefixu Wine).
Použití dxbc-spirv snížilo spotřebu paměti, zkrátilo dobu spouštění, eliminovalo zasekávání a vyřešilo řadu problémů, které trápily hry jako Postal: Brain Damaged, Snowrunner, Overwatch, God of War, Days Gone a Final Fantasy XIV a které nebylo možné vyřešit pomocí staršího kódu pro překlad shaderů. - Pro D3D9 byla implementována podpora shaderových modelů 1-3.
- Ve výchozím nastavení se používá rozšíření Vulkan VK_EXT_descriptor_heap. V porovnání s dříve používaným úložištěm deskriptorů založeným na rozšíření Vulkan
VK_EXT_descriptor_buffer: Nová implementace poskytuje stejnou úroveň výkonu pro operace CPU, ale snižuje zátěž GPU, zejména při použití grafických karet NVIDIA. Systémy s grafickými kartami NVIDIA vyžadují alespoň verzi 595.84 proprietárních ovladačů NVIDIA. Implementace založená na VK_EXT_descriptor_buffer byla zastaralá a bude v budoucí verzi odstraněna. - Implementace Direct3D 9 nyní namísto generování shaderů za chodu používá uber-shadery, jejichž optimalizované verze jsou kompilovány na pozadí, což vyřešilo problémy se zamrzáním některých starších her, jako například Unreal Tournament 2004. Načítání vyrovnávací paměti je zajištěno na vyžádání, stejně jako v Windows, namísto předběžné alokace do videopaměti, což eliminovalo pády některých 32bitových her D3D9 kvůli omezenému adresnímu prostoru.
- Zajištěna správná funkce multisamplingu (MSAA) v režimu D3DRS_MULTISAMPLEANTIALIAS na systémech s podporou rozšíření Vulkan VK_EXT_sample_locations a VK_EXT_extended_dynamic_state3, což vyřešilo problémy s vykreslováním v Anno 1701, Men of War a dalších hrách, když je povoleno MSAA.
- Podpora pro práci se sdílenými zdroji byla poskytována ve standardních verzích Wine bez dalších záplat z projektu Proton.
- Proměnná prostředí DXVK_FRAME_RATE, která se používala k omezení snímkové frekvence (limiter snímkové frekvence), byla odstraněna. Doporučuje se místo ní používat externí omezovače, jako například Gamescope a Mangohud. Pro aktivaci vestavěného omezovače můžete použít nastavení „dxvk.maxFrameRate = n“.
- Opravené problémy ve hrách:
- Bioshock Infinite
- Borderlands 2
- Colin McRae Rally 3
- Dirt Rally 2
- Fallout New Vegas
- Povstání a Counter-Strike
- Skok Space
- Max Payne
- Železniční Tycoon 3
- Resident Evil 6
- Sang-Froid: Příběhy vlkodlaků
- Mořští psi
- Splinter Cell 4
- Já draka
- The Sims 3
- Total War: Pharaoh
- Čarodějnice na svatou noc
- World of Final Fantasy
- Vietcong
- Minimální požadavek na verzi grafického API byl zvýšen na Vulkan 1.4.
Pro fungování jsou nyní vyžadovány ovladače alespoň AMD RADV 25.0, NVIDIA 575.51.02, NVIDIA 25.1 a Intel ANV 25.1.
Zdroj: opennet.ru
