wydanie warstwy , która zapewnia implementację DXGI (DirectX Graphics Infrastructure), Direct3D 10 i Direct3D 11, działając poprzez tłumaczenie wywołań na API Vulkan. Aby używać DXVK obecność sterowników wspierających , takich jak
AMD RADV 18.3, NVIDIA 415.22, Intel ANV 19.0 oraz .
DXVK może być używany do uruchamiania aplikacji i gier 3D w systemie Linux za pomocą Wine, działając jako wyższej wydajności alternatywa dla wbudowanej w Wine implementacji Direct3D 11, działającej na OpenGL. W wydajność połączenia Wine+DXVK jest niższa o tylko 10-20% w porównaniu do uruchamiania w Windows, podczas gdy przy użyciu implementacji Direct3D 11 opartej na OpenGL wydajność spada znacznie bardziej.
Dodane ulepszenia:
- Zrealizowano optymalizację z wykorzystaniem instrukcji „discard” w shaderach, opartą na rozszerzeniu Vulkan VK_EXT_shader_demote_to_helper_invocation, co może zwiększyć wydajność w niektórych grach. Aby skorzystać z optymalizacji, należy zaktualizować komponent winevulkan oraz sterowniki (Intel do Mesa 19.2-git i NVIDIA do własnościowego sterownika 418.52.14-beta; sterowniki AMD nie obsługują jeszcze rozszerzenia VK_EXT_shader_demote_to_helper_invocation).
- Zapewniono asynchroniczne przetwarzanie wyniku renderowania na ekran (etap ). Aby zmniejszyć opóźnienia w głównym wątku renderowania, przetwarzanie wyniku jest teraz realizowane w wątku przesyłania poleceń (command submission thread). Zysk wydajności z asynchronicznego przetwarzania jest szczególnie zauważalny podczas wyświetlania w wysokiej częstotliwości klatek i przy wymagających przesyłania poleceń. W grach, w których zauważono wzrost wydajności, wyróżnia się Quake Champions działający na systemach z GPU AMD.
- Pojawiła się możliwość początkowego ładowania zasobów z wykorzystaniem silników kopiowania (copy engine) dostarczanych przez urządzenia obsługujące Vulkan (na razie wspierane tylko przez sterowniki AMDVLK i NVIDIA). Nowa funkcjonalność pozwala nieco poprawić spójność czasu klatki w grach ładowanych z dużą ilością tekstur podczas gry.
- Udoskonalono logowanie błędów występujących w warunkach niedoboru pamięci.
- Poprawiono kompatybilność z MSVC (Microsoft Visual C++).
- Usunięto powtarzające się cykliczne kontrole podczas wyjścia, co może znacznie zmniejszyć obciążenie CPU w scenariuszach z ograniczonym GPU.
- Rozwiązano problem z podwójnym mapowaniem subzasobów obrazów, który objawiał się w grze Final Fantasy XIV.
- Usunięto awarię spowodowaną niepoprawnym działaniem metody RSGetViewport, która występowała w grze Scrap Mechanic.
Źródło: opennet.ru
