Veröffentlichung von DXVK 2.0, Direct3D 9/10/11-Implementierungen zusätzlich zur Vulkan-API

Die Veröffentlichung der DXVK 2.0-Schicht ist verfügbar und bietet eine Implementierung von DXGI (DirectX Graphics Infrastructure), Direct3D 9, 10 und 11, die über die Aufrufübersetzung an die Vulkan-API funktioniert. DXVK erfordert Treiber, die die Vulkan 1.3-API unterstützen, wie z. B. Mesa RADV 22.0, NVIDIA 510.47.03, Intel ANV 22.0 und AMDVLK. DXVK kann zum Ausführen von 3D-Anwendungen und -Spielen unter Linux mit Wine verwendet werden und dient als leistungsstärkere Alternative zu den integrierten Direct3D 9/10/11-Implementierungen von Wine, die auf OpenGL ausgeführt werden.

Wichtigste Änderungen:

  • Die Anforderungen für die Version der Vulkan-Grafik-API wurden erhöht, um einen Treiber zu erfordern, der Vulkan 1.3 unterstützt (zuvor war Vulkan 1.1 erforderlich), wodurch die Unterstützung neuer Funktionen im Zusammenhang mit der Shader-Kompilierung implementiert werden konnte. In der Praxis kann DXVK 2.0 auf jedem System ausgeführt werden, das die Verwendung des Proton Experimental-Pakets zum Ausführen von D3D11- und D3D12-basierten Spielen unterstützt. Für die Ausführung von Winevulkan ist mindestens Wine 7.1 erforderlich.
  • Der Code des dxvk-native-Projekts wurde übernommen, wodurch Sie native DXVK-Builds für Linux (nicht an Wine gebunden) erstellen können, die nicht zum Ausführen von Windows-Anwendungen, sondern in normalen Linux-Anwendungen verwendet werden können, die zum Erstellen nützlich sein können Ports von Spielen für Linux, ohne den D3D-basierten Rendering-Code zu ändern.
  • Die Unterstützung für Direct3D 9 wurde erweitert, einschließlich einer verbesserten Speicherverwaltung (speicherzugeordnete Dateien werden zum Speichern von Texturkopien verwendet), Unterstützung für das korrekte Lesen von Hotspots (Probleme mit dem Auftreten von Artefakten beim Spielen von GTA IV behoben) und einer neu gestalteten Implementierung von Transparenzprüfung.
  • Für Direct3D 10 wurden die Bibliotheken d3d10.dll und d3d10_1.dll eingestellt, die aufgrund des Vorhandenseins einer fortgeschritteneren Implementierung von D3D10 in Wine nicht standardmäßig installiert wurden. Gleichzeitig wird die Unterstützung der D3D10-API in der d3d10core.dll-Bibliothek fortgeführt.
  • Die Unterstützung für Direct3D 11 wurde auf Funktionsebene 12_1 (D3D11-Funktionsebene) aktualisiert, um zu erreichen, dass Funktionen wie gekachelte Ressourcen, konservative Rasterisierung und geordnete Rasterizer-Ansichten implementiert wurden.
  • Die Implementierung der ID3D11DeviceContext-Schnittstelle, die den Gerätekontext darstellt, der Zeichenbefehle generiert, wurde neu gestaltet und ähnelt in ihrem Verhalten eher Windows. Durch das Redesign konnte die Kompatibilität mit Bibliotheken von Drittanbietern verbessert und die Belastung der CPU verringert werden. Insbesondere wurde die CPU-Auslastung in Spielen reduziert, die häufig verzögerte Kontexte verwenden (wie z. B. Assassin's Creed: Origins) oder die häufig die ClearState-Operation aufrufen (wie z. B. God of War).
  • Im Zusammenhang mit der Kompilierung der Shader wurden Änderungen vorgenommen. Da Vulkan-Treiber mit Unterstützung für die Erweiterung VK_EXT_graphics_pipeline_library vorhanden waren, wurden Vulkan-Shader beim Laden von D3D-Shadern durch Spiele und nicht während des Renderns kompiliert, wodurch Probleme mit Einfrierungen aufgrund der Shader-Kompilierung während des Spiels behoben wurden. Die erforderliche Erweiterung wird derzeit nur in proprietären NVIDIA-Treibern ab Version 520.56.06 unterstützt.
  • D3D11-Shader verwenden das Vulkan-Speichermodell.
  • Die Begrenzung der Anzahl der Ressourcen, die gleichzeitig gebunden werden können, wurde entfernt.
  • Behobene Probleme, die in Spielen auftraten:
    • Alan Wake
    • Alice's Verrücktheit kehrt zurück
    • Anomalie: Kriegsgebiet Erde
    • Jenseits von Gut und Böse
    • Dragon Age Ursprünge
    • Reich: Gesamtkrieg
    • Final Fantasy XV
    • Grand Theft Auto IV
    • Helden vernichteter Imperien
    • Limit King Of Fighters XIII
    • Metal Gear Solid V: Boden Zeroes
    • SiN-Episoden: Entstehung
    • Sonic Generations
    • Spider Man
    • Das Schiff
    • Warhammer Online
    • Ys Sieben

Source: opennet.ru

Kommentar hinzufügen