Отборът Wine пусна VKD3D 2.0 — голям релиз на библиотеката, реализираща работата на приложения с Direct3D 12 повърх Vulkan. VKD3D се използва в обичайната основна версия на 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-шеyderи. Разширена е поддръжката на HLSL: реализирани са повече операции, които сега се обработват правилно от компилатора и транслатора VKD3D. Това е важно за стартирането на приложения, които използват собствени HLSL-шеyderи, а не само предварително скомпилиран байткод.

  • Подобрен е съпорта на 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