Megjelent a DXVK 2.0 verzió, amely megvalósítja a DXGI (DirectX Graphics Infrastructure), Direct3D 9, 10 és 11 API Vulkanra történő hívás-transzlációt. A DXVK használatához Vulkan 1.3 támogatású illesztőprogramok szükségesek, mint például Mesa RADV 22.0, NVIDIA 510.47.03, Intel ANV 22.0 és AMDVLK. A DXVK használható 3D alkalmazások és játékok futtatására Linux alatt a Wine segítségével, mint a Wine beépített Direct3D 9/10/11 megvalósításainak nagyobb teljesítményű alternatívája.
Főbb változások:
- Fokozódtak a Vulkan grafikus API verziójára vonatkozó követelmények - mostantól Vulkan 1.3 támogatású illesztőprogram szükséges (korábban Vulkan 1.1 volt szükséges), ami lehetővé tette az új, árnyékolók összeállításához kapcsolódó funkciók támogatását. A DXVK 2.0 gyakorlatilag bármilyen rendszeren futtatható, ahol támogatott a Proton Experimental csomag használata D3D11 és D3D12 alapú játékok indításához. A winevulkan működéséhez minimum Wine 7.1 szükséges.
- A dxvk-native projektkódot is elfogadták, amely lehetővé teszi a DXVK natív buildjeinek létrehozását Linux számára (nem a Wine-hoz kötötten), ezeket nem Windows-alkalmazások futtatására, hanem hagyományos Linux-alkalmazásokban is használni lehet, ami hasznos lehet Linux portok készítésekor a D3D alapú renderelés módosítása nélkül.
- A Direct3D 9 támogatás bővült, beleértve a memória kezelésének fejlesztését (a textúra másolatok tárolásához memóriába tükrözött fájlokat használnak), a rajzolási területekből való helyes olvasás támogatása megvalósult (megoldotta a GTA IV játék közbeni artefaktumok megjelenésével kapcsolatos problémákat), és a transzparencia ellenőrzésének megvalósítása át lett dolgozva.
- A Direct3D 10-hez kapcsolódó d3d10.dll és d3d10_1.dll könyvtárak szállítása megszűnt, mivel ezek nem voltak alapértelmezés szerint telepítve a Wine fejlettebb D3D10 megvalósítása miatt. A D3D10 API támogatása azonban folytatódott a d3d10core.dll könyvtárban.
- A Direct3D 11 támogatása a 12_1 funkciószint szintjére emelkedett (D3D11 Feature Level), amely lehetőségeket valósított meg, mint például a mozaikforrások (Tiled Resources), a konzervatív raszterizálás (Conservative Rasterization) és a raszterizáló sorrend szerinti rajzolás (Rasterizer Ordered Views).
- Az ID3D11DeviceContext interfész viselkedése átdolgozásra került, közelebb kerülve a Windows megvalósításához, amely a rajzolási parancsok generáló eszközként működik. Az átdolgozás javította a kompatibilitást harmadik féltől származó könyvtárakkal, és csökkentette a CPU terhelését. Különösen csökkent a CPU terhelése azokban a játékokban, amelyek aktívan használnak késleltetett kontextusokat (például az Assassin's Creed: Origins játékban) vagy gyakran hívják meg a ClearState műveletet (például a God of War játékban).
- A shader-ek fordításával kapcsolatos változások történtek. Vulkan-illesztőprogramok esetén, amelyek támogatják a VK_EXT_graphics_pipeline_library kiterjesztést, a Vulkan shader-ek D3D-s betöltésekor a shader-ek fordítása valósult meg, nem pedig a rajzolás során, ami megoldotta a játék közbeni shader-fordítás miatti akadozást. A szükséges kiterjesztést jelenleg csak a NVIDIA zártkörű illesztőprogramja támogatja, 520.56.06 verziótól kezdődően.
- A D3D11 shader-ekben a Vulkan memória modellje került alkalmazásra.
- Eltávolításra került a korlátozás, amely a egyszerre lekötött erőforrások számát érintette.
- Megoldásra kerültek a következő játékokban előforduló problémák:
- Alan Wake
- Alice Madness Returns
- Anomaly: Warzone Earth
- Beyond Good and Evil
- Dragon Age Origins
- 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
- SiN Episodes: Emergence
- Sonic Generations
- Spider Man
- The Ship
- Warhammer Online
- Ys Seven
Forrás: opennet.ru
