Достъпен е релийз на 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 чрез Wine, представлявайки по-високопроизводителна алтернатива на вградените в Wine реализации на Direct3D, работещи над OpenGL.
Основни промени:
- За всички поддържани модели на шейдъри е ангажиран компилаторът на шейдъри 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».
- Решени са проблеми в игрите:
- 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.
Източник: opennet.ru
