Екипът на Wine издаде VKD3D 2.0 — голямо обновление на библиотеката, реализираща работа с приложенията на Direct3D 12 повърхността Vulkan. VKD3D се използва в стандартния upstream Wine за поддръжка на D3D12 приложения; не трябва да се бърка с VKD3D-Proton, отделна гейминг версия на Valve, използвана в Proton/Steam Play.

Проектът се разпространява под лиценз GNU Lesser General Public License 2.1 или по-нова версия. Изходният код на версията е публикуван на сървъра на WineHQ, също така кодът е достъпен чрез хранилищата на Wine.

VKD3D 2.0 се явява преход от версия 1.19 веднага към нова главна версия. Основният акцент е върху развитието на шейдерната подсистема и нискоуровнева съвместимост с Direct3D 12.

Ключови промени:

  • Подобрена е работата с HLSL шейдери. Разширена е поддръжката на HLSL: реализирани са повече операции, които сега се обработват коректно от компилатора и транслятора VKD3D. Това е важно за стартиране на приложения, които използват собствени HLSL шейдери, а не само предварително компилиран байткод.

  • Подобрена е поддръжката на legacy Direct3D байткод. Увеличена е съвместимостта със стар тип изходен байткод на Direct3D за съвместимост със стари шейдерни формати и инструменти, които все още се срещат в приложения и движки.

  • Подобрена е работата с DXIL. В VKD3D 2.0 продължава доработката на обработката на DXIL — съвременната междинна репрезентация на шейдерите на DirectX. За D3D12 това е един от ключовите формати, поради което такива промени пряко влияят на коректността на изпълнението на по-нови приложения.

  • Добавени са подобрения за effects. В релиза са включени промени, свързани с effects — механизмите за описание и приложение на графични ефекти в Direct3D стека. Това по-скоро е инфраструктурна част, но е важна за съвместимостта с текущия графичен код.

  • Появи се експериментална поддръжка за MSL. VKD3D 2.0 получи експериментална поддръжка за генериране на MSL — Metal Shading Language. Това направление е свързано с преносимостта на шейдерната част на платформи, където Vulkan обикновено се използва чрез допълнителни слоеве на съвместимост.

  • Разширени са интерфейсите и отладъчните възможности. Разработчиците добавиха нови интерфейси и подобриха отладъчните средства на VKD3D, които трябва да опростят разработката, диагностицирането на грешки и последващото развитие на поддръжката на Direct3D 12 в Wine.

Специално трябва да се подчертае: за повечето потребители на Steam на Linux основният D3D12 компонент остава VKD3D-Proton, а не обикновен VKD3D. Въпреки това, VKD3D остава важна част от самия Wine и служи като основна реализация на Direct3D 12 върху Vulkan в upstream проекта.

Източник: linux.org.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster