Dostępna jest wersja DXVK 2.0, która zapewnia implementację DXGI (Infrastruktura graficzna DirectX), Direct3D 9, 10 i 11, działającą poprzez translację wywołań do Vulkan API. DXVK wymaga sterowników obsługujących API Vulkan 1.3, takich jak Mesa RADV 22.0, NVIDIA 510.47.03, Intel ANV 22.0 i AMDVLK. DXVK może być używany do uruchamiania aplikacji i gier 3D w systemie Linux przy użyciu Wine, służąc jako wydajniejsza alternatywa dla wbudowanych w Wine implementacji Direct3D 9/10/11 działających na OpenGL.
Główne zmiany:
- Zwiększono wymagania dla wersji API graficznego Vulkan - wymaga ona teraz sterownika obsługującego Vulkan 1.3 (wcześniej wymagany był Vulkan 1.1), co umożliwiło zaimplementowanie obsługi nowych funkcji związanych z kompilacją shaderów. W praktyce DXVK 2.0 można uruchomić na dowolnym systemie obsługującym wykorzystanie pakietu Proton Experimental do uruchamiania gier opartych na D3D11 i D3D12. Winevulkan wymaga do działania co najmniej Wine 7.1.
- Zawiera kod projektu dxvk-native, który umożliwia tworzenie natywnych zestawów DXVK dla systemu Linux (niepowiązanych z Wine), których można używać nie do uruchamiania aplikacji Windows, ale w zwykłych aplikacjach Linux, co może być przydatne do tworzenia porty gier dla systemu Linux bez zmiany kodu renderującego opartego na D3D.
- Rozszerzono obsługę Direct3D 9, m.in. poprawiono zarządzanie pamięcią (pliki mapowane w pamięci służą do przechowywania kopii tekstur), zaimplementowano obsługę poprawnego odczytu z aktywnych obszarów renderowania (rozwiązano problemy z pojawianiem się artefaktów podczas gry w GTA IV) oraz poprawiono wdrażanie kontroli przejrzystości.
- W przypadku Direct3D 10 wycofano biblioteki d3d10.dll i d3d10_1.dll, które nie były instalowane domyślnie ze względu na obecność bardziej zaawansowanej implementacji D3D10 w Wine. Jednocześnie kontynuowana jest obsługa API D3D10 w bibliotece d3d10core.dll.
- Obsługa Direct3D 11 została przeniesiona do poziomu funkcjonalności 12_1 (poziom funkcjonalności D3D11), aby osiągnąć takie funkcje, jak zasoby kafelkowe, rasteryzacja konserwatywna i widoki uporządkowane rasteryzatorem.
- Implementacja interfejsu ID3D11DeviceContext, który reprezentuje kontekst urządzenia generujący polecenia rysowania, została przeprojektowana i w swoim zachowaniu jest bliższa Windowsowi. Przeróbka poprawiła kompatybilność z bibliotekami innych firm i zmniejszyła obciążenie procesora. W szczególności zmniejszono obciążenie procesora w grach, które aktywnie korzystają z odroczonych kontekstów (na przykład Assassin's Creed: Origins) lub często wywołują operację ClearState (na przykład God of War).
- Wprowadzono zmiany związane z kompilacją shaderów. W obecności sterowników Vulkan obsługujących rozszerzenie VK_EXT_graphics_pipeline_library, kompilacja shaderów Vulkan jest realizowana podczas ładowania shaderów D3D w grach, a nie podczas renderowania, co rozwiązało problemy z zawieszaniem się spowodowane kompilacją shaderów podczas gry. Wymagane rozszerzenie jest obecnie obsługiwane tylko w zastrzeżonych sterownikach NVIDIA, począwszy od wersji 520.56.06.
- Shadery D3D11 korzystają z modelu pamięci Vulkan.
- Usunięto ograniczenie liczby zasobów, które można związać jednocześnie.
- Naprawiono problemy występujące w grach:
- Alan Wake
- Alice Madness Returns
- Anomalia: Warzone Ziemia
- Poza dobrem i złem
- Początki Dragon Age
- Empire: Total War
- Final Fantasy XV
- Grand Theft Auto IV
- Bohaterowie unicestwionych imperiów
- Limit King Of Fighters XIII
- Metal Gear Solid V: PARTER Zera
- Odcinki SiN: Pojawienie się
- Sonic Generations
- człowiek Pająk
- Statek
- Warhammer Online
- Ys Seven
Źródło: opennet.ru