Доступен выпуск прослойки DXVK 3.0, предоставляющей реализацию DXGI (DirectX Graphics Infrastructure), Direct3D 8, 9, 10 и 11, работающую через трансляцию вызовов в API Vulkan. Для использования DXVK требуется наличие драйверов с поддержкой API Vulkan 1.4, таких как NVIDIA 575.51.02, Mesa AMD RADV 25.0, NVIDIA 25.1 и Intel ANV 25.1. DXVK может применяться для запуска 3D-приложений и игр в Linux using Wine, serving as a higher-performance alternative to Wine's built-in Direct3D implementations running on top of OpenGL.
Major changes:
- Для всех поддерживаемых шейдерных моделей задействован компилятор шейдеров dxbc-spirv. Компиляция шейдеров перенесена из основного потока в отдельные потоки.
Реализовано кэширование на диске промежуточного представления шейдеров (кэш сохраняется в подкаталоге AppData/Local в текущем префиксе Wine).
Использование dxbc-spirv позволило снизить потребление памяти, сократить время запуска, исключить подвисания и избавиться от ряда проблем, проявлявшихся в играх Postal: Brain Damaged, Snowrunner, Overwatch, God of War, Days Gone и Final Fantasy XIV, которые не удавалось устранить в старом коде трансляции шейдеров. - Для D3D9 реализована поддержка шейдерных моделей 1-3.
- По умолчанию задействовано Vulkan-расширение VK_EXT_descriptor_heap. По сравнению с ранее применявшимся хранилищем дескрипторов на базе Vulkan-расширения
VK_EXT_descriptor_buffer, новая реализация обеспечивает тот же уровень производительности операций, выполняемых на CPU, но снижает нагрузку на GPU, особенно при использовании видеокарт NVIDIA. Для работы на системах с видеокартами NVIDIA требуется как минимум версия проприетарных драйверов NVIDIA 595.84. Реализация на базе VK_EXT_descriptor_buffer объявлена устаревшей и будет удалена в одном из следующих выпусков. - В реализации Direct3D 9 вместо генерации шейдеров на лету теперь используются uber-шейдеры, оптимизированные версии которых компилируются в фоне, что решило проблемы с подвисанием некоторых старых игр, таких как Unreal Tournament 2004. Обеспечена загрузка буферов по необходимости, как в Windows, вместо заблаговременного размещения в видеопамяти, что устранило аварийные завершения некоторых 32-разрядных D3D9-игр из-за ограниченного адресного пространства.
- Обеспечена корректная работа мультисэмплинга (MSAA) в режиме D3DRS_MULTISAMPLEANTIALIAS на системах с поддержкой Vulkan-расширений VK_EXT_sample_locations и VK_EXT_extended_dynamic_state3, что решило проблемы с рендерингом в Anno 1701, Men of War и других играх при включении MSAA.
- Обеспечена поддержка работы с общими ресурсами (Shared resources) в штатных версиях Wine без дополнительных патчей от проекта Proton.
- Удалена переменная окружения DXVK_FRAME_RATE, применявшаяся для ограничения частоты кадров (Frame rate limiter), вместо которой рекомендуется использовать внешние ограничители, такие как Gamescope и Mangohud. Для активации встроенного ограничителя можно использовать настройку «dxvk.maxFrameRate = n».
- Fixed problems in games:
- Bioshock Infinite
- Borderlands 2
- Colin McRae Rally 3
- Dirt Rally 2
- Fallout New Vegas
- Insurgency & Counter-Strike
- Jump Space
- Max Payne
- Railroad Tycoon 3
- Resident Evil 6
- Sang-Froid: Tales of Werewolves
- Sea Dogs
- Splinter Cell 4
- The i of the dragon
- The Sims 3
- Total War: Pharaoh
- Witch on the Holy Night
- World of Final Fantasy
- Vietcong
- Требования к минимальной версии графического API повышены до Vulkan 1.4.
Для работы теперь требуются как минимум версии драйверов AMD RADV 25.0, NVIDIA 575.51.02, NVIDIA 25.1 и Intel ANV 25.1.
Source: opennet.ru
