Die Version 2.0 des DXVK-Wrapper ist nun verfügbar und bietet eine Implementierung der DXGI (DirectX Graphics Infrastructure) sowie von Direct3D 9, 10 und 11, die über eine Anrufumleitung in die Vulkan-API funktioniert. Für die Nutzung von DXVK sind Treiber erforderlich, die die Vulkan-API 1.3 unterstützen, wie zum Beispiel Mesa RADV 22.0, NVIDIA 510.47.03, Intel ANV 22.0 und AMDVLK. DXVK kann verwendet werden, um 3D-Anwendungen und Spiele unter Linux mithilfe von Wine zu starten, und stellt eine leistungsstärkere Alternative zu den in Wine integrierten Implementierungen von Direct3D 9/10/11 dar, die auf OpenGL basieren.
Wesentliche Änderungen:
- Die Anforderungen an die Version des grafischen APIs Vulkan wurden erhöht – nun wird ein Treiber benötigt, der Vulkan 1.3 unterstützt (früher war Vulkan 1.1 erforderlich), was die Implementierung neuer Funktionen im Zusammenhang mit der Shader-Kompilierung ermöglicht hat. Praktisch kann DXVK 2.0 auf jedem System ausgeführt werden, das die Verwendung des Proton Experimental-Pakets zur Ausführung von Spielen auf D3D11- und D3D12-Basis unterstützt. Für die Nutzung von winevulkan ist mindestens Wine 7.1 erforderlich.
- In das Projekt dxvk-native wurde der Code integriert, der die Erstellung nativer DXVK-Builds für Linux ermöglicht (unabhängig von Wine). Diese können nicht nur zum Ausführen von Windows-Anwendungen, sondern auch in regulären Linux-Anwendungen verwendet werden. Dies kann nützlich sein, um Spieleportierungen für Linux zu erstellen, ohne den Rendering-Code von D3D zu ändern.
- Die Unterstützung von Direct3D 9 wurde erweitert, einschließlich verbesserter Speicherverwaltung (für die Speicherung von Texturkopien werden im Speicher gespiegelte Dateien verwendet). Darüber hinaus wurde die Unterstützung für das korrekte Lesen aus aktiven Rendering-Bereichen umgesetzt, was Probleme mit Artefakten beim Spielen von GTA IV behebt. Außerdem wurde die Implementierung der Transparenzprüfung überarbeitet.
- Für Direct3D 10 wurde die Bereitstellung der Bibliotheken d3d10.dll und d3d10_1.dll eingestellt, die nicht standardmäßig installiert wurden, da Wine eine fortschrittlichere Implementierung von D3D10 bietet. Die Unterstützung der D3D10-API wird jedoch in der Bibliothek d3d10core.dll fortgeführt.
- Die Unterstützung von Direct3D 11 wurde auf das Funktionsniveau 12_1 (D3D11 Feature Level) angehoben. Um dies zu erreichen, wurden Funktionen wie mosaikartige Ressourcen (Tiled Resources), konservative Rasterisierung (Conservative Rasterization) und geordnete Rendering-Ansichten im Rasterizer (Rasterizer Ordered Views) implementiert.
- Die Implementierung der ID3D11DeviceContext-Schnittstelle wurde überarbeitet und ähnelt nun mehr der Windows-Version. Diese Veränderung verbessert die Kompatibilität mit Drittanbieter-Bibliotheken und reduziert die Belastung der CPU. Insbesondere wurde die CPU-Belastung in Spielen, die aktiv verzögerte Kontexte nutzen (z. B. das Spiel Assassin’s Creed: Origins), oder häufig den ClearState-Befehl aufrufen (z. B. das Spiel God of War), verringert.
- Es wurden Anpassungen an der Kompilierung von Shadern vorgenommen. Bei Vorhandensein von Vulkan-Treibern, die die Erweiterung VK_EXT_graphics_pipeline_library unterstützen, erfolgt die Kompilierung von Vulkan-Shadern während des Ladevorgangs von D3D-Shadern durch die Spiele, anstatt während des Renderings. Dies löst Probleme mit Ruckeln während des Spiels aufgrund der Shader-Kompilierung. Die erforderliche Erweiterung wird derzeit nur in proprietären NVIDIA-Treibern ab Version 520.56.06 unterstützt.
- In D3D11-Shadern wird das Vulkan-Speichermodell verwendet.
- Die Begrenzung der Anzahl von Ressourcen, die gleichzeitig gebunden werden können, wurde aufgehoben.
- Probleme, die in Spielen auftraten, wurden behoben:
- 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
Quelle: opennet.ru
