Megérkezett a DXVK 3.0 verziója, amely megvalósítja a DXGI-t (DirectX Graphics Infrastructure), a Direct3D 8, 9, 10 és 11-et, amely a hívások Vulkan API-ra történő átkonvertálásával működik. A DXVK használatához Vulkan 1.4 API-t támogató meghajtók, mint például az NVIDIA 575.51.02, a Mesa AMD RADV 25.0, az NVIDIA 25.1 és az Intel ANV 25.1 szükségesek. A DXVK alkalmazható 3D-alkalmazások és játékok futtatására Linux alatt Winen keresztül, mint a beépített Wine Direct3D megvalósításához képest magasabb teljesítményt nyújtó alternatíva, amely OpenGL-on fut.
Főbb változások:
- Minden támogatott árnyékoló modellhez a dxbc-spirv árnyékoló fordítót használják. Az árnyékolók fordítása a fő szálból külön szálakra került.
Megvalósult az árnyékolók közbenső reprezentációjának lemezre történő gyorsítótárazása (a gyorsítótár a jelenlegi Wine prefix AppData/Local almappájában található).
A dxbc-spirv használata csökkentette a memóriafogyasztást, lerövidítette a betöltési időt, megszüntette a fagyásokat és megszabadított több problémától, amelyek a Postal: Brain Damaged, Snowrunner, Overwatch, God of War, Days Gone és a Final Fantasy XIV játékokban jelentkeztek, és amelyeket a régi árnyékoló átkonvertálási kód nem tudott megoldani. - A D3D9 esetében a 1-3 árnyékoló modellek támogatása megvalósult.
- Alapértelmezés szerint a VK_EXT_descriptor_heap Vulkan-kiterjesztést használják. A korábban alkalmazott Vulkan-kiterjesztésen alapuló deszkriptor tárolóval összehasonlítva
a VK_EXT_descriptor_buffer új megvalósítása ugyanazt a teljesítményszintet biztosítja a CPU-n végzett műveletekhez, de csökkenti a GPU terhelését, különösen NVIDIA grafikus kártyák használata esetén. NVIDIA grafikus kártyákkal rendelkező rendszerek esetén legalább NVIDIA 595.84 zárt forrású meghajtóverzió szükséges. A VK_EXT_descriptor_buffer alapú megvalósítás elavultnak minősül, és az egyik következő kiadásban eltávolítják. - A Direct3D 9 megvalósításában a shader-ek azonnali generálása helyett már uber-árnyékolókat használnak, amelyek optimalizált verziói a háttérben fordítódnak le, ami megoldotta bizonyos régi játékok, mint például az Unreal Tournament 2004 fagyási problémáit. A pufferek igény szerint töltődnek be, ahogyan Windows alatt is, ahelyett, hogy előre a videomemóriában helyeznék el, ami megszüntette egyes 32 bites D3D9 játékok összeomlását a korlátozott címzési tér miatt.
- Megoldották a multisampling (MSAA) helyes működését a D3DRS_MULTISAMPLEANTIALIAS módban, Vulkan-kiterjesztésekkel, mint a VK_EXT_sample_locations és VK_EXT_extended_dynamic_state3 támogatású rendszereken, ami megoldotta a renderer problémáit az Anno 1701, Men of War és más játékok esetében a MSAA engedélyezésével.
- Támogatott a közös erőforrások (Shared resources) használata a Wine hagyományos verzióiban, a Proton projekt további javításai nélkül.
- Eltávolították a DXVK_FRAME_RATE környezeti változót, amelyet a képkocka sebesség (Frame rate limiter) korlátozására használtak, helyette külső korlátozókat, mint a Gamescope és Mangohud ajánlották. A beépített korlátozó aktiválásához használja a "dxvk.maxFrameRate = n" beállítást.
- A következő játékoknál megoldott problémák:
- 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
- A grafikus API minimális verziójának követelményei emelkedtek Vulkan 1.4-re.
Mostantól minimum az AMD RADV 25.0, NVIDIA 575.51.02, NVIDIA 25.1 és Intel ANV 25.1-es meghajtóverziókra van szükség.
Forrás: opennet.ru
