Новата версия на vkd3d 1.3 вече е пусната

След година и половина развитие, иПроектът Wine обяви старта на новата версия на пакета «vkd3d 1.3″ с реализация на Direct3D 12, която работи чрез превод на повиквания към графичния API на Vulkan.

Тази версия съдържа различни подобрения и от които в тази нова версия са акцентите първоначална поддръжка за изграждане на HLSL, както и Поддръжка на масив от дескриптори на Shader Model 5.1, поддръжка за демонтиране на Direct3D шейдъри и други.

За тези, които не са запознати с пакета, те трябва да знаят това включва libvkd3d библиотеки с Direct3D 12 реализации, libvkd3d-shader с шейдър преводач на модел 4 и 5 и libvkd3d-utils с функции за опростяване на миграцията на приложения Direct3D 12, както и набор от демонстрации, включително порт glxgears към Direct3D 12. Кодът на проекта се разпространява лицензиран под LGPLv2.1.

Библиотека libvkd3d поддържа повечето функции на Direct3D 12, включително графични и изчислителни функции, командни списъци и опашки, дескриптори и дескриптори на купчина, коренни подписи, неподреден достъп, семплери, командни подписи, коренни константи, прокси представяне и т.н.

Libvkd3d-шейдър реализира превода на байт кодове 4 и 5 на моделите за засенчване в междинното представяне SPIR-V. Поддържат се върхове, пиксели, теселация, изчислителни и прости геометрични шейдъри, сериализация на коренов подпис и десериализация.

Инструкциите на шейдъра включват аритметични, атомни и битови операции, оператори за контрол и сравнение на потока от данни, инструкции за вземане на проби, събиране и зареждане, операции с неподреден достъп (UAV, изглед за неподреден достъп).

На настоящия етап на разработка не са изпълнени всички повиквания към Direct3D 12 и тестовете бяха проведени основно върху набор от демо приложения.

Основни нови функции на Vkd3d 1.3

В тази нова версия на vkd3d 1.3, която е представена, е подчертано, че добавена първоначална поддръжка за компилиране и предварително изобразяване на шейдъри в HLSL (език на шейдъри от високо ниво), който се предоставя от DirectX 9.0.

Друга от промените, която се откроява в тази нова версия, е поддръжка за операции с плаваща запетая с двойна точност в шейдъри, както и индиректност за теселационни шейдъри, експортиране на шаблони от шейдъри, "прецизен" модификатор на шейдъри и глобални бариери за ресурси в паметта.

Можем също да открием, че възможност за разглобяване на Direct3D шейдъри от код от байтове към представянето на асемблера, както и добавена поддръжка за синтактичен анализ на стария Direct3D формат на байткод, използван в моделите на шейдъри Direct3D 1, 2 и 3.

libvkd3d добави функции на Direct3D 12, като коренни подписи, неподредени броячи за търсене, булеви стойности на изходното сливане, режим на адресиране на текстура mirror_once и добавена структура на vkd3d_host_time_domain_info.

От останалите промени които се открояват от тази нова версия:

  • vkd3d_shader_preprocess_info разширява структурата vkd3d_shader_compile_info и може да се използва за определяне на параметри за предварителна обработка, като например макро дефиниции на препроцесора.
  • vkd3d_shader_hlsl_source_info разширява структурата vkd3d_shader_compile_info и може да се използва за определяне на HLSL и параметри за изграждане, като например целеви профил и входна точка.
  • Свържете моделите Direct3D 12 и Vulkan
  • VKD3D_SHADER_COMPILE_OPTION_API_VERSION може да се използва за определяне на версията на API на libvkd3d-shader, към която е насочено приложението. Ако не е посочено, ще се използва VKD3D_SHADER_API_VERSION_1_2.
  • vkd3d-compiler ще изведе по подразбиране цветен изход, ако може да определи, че
    изходът е цветен телепринтер.
  • Добавена поддръжка за масиви от дескриптори, дефинирани в Shader Model 5.1.

Накрая ако искате да научите повече за това относно тази нова версия, можете да прегледате пълния списък с промени В следващия линк.

Как да инсталирам vkd3d на Linux?

За тези, които се интересуват от възможността да инсталират vkd3d на тяхната система, те трябва да получат изходния код и да продължат със компилацията, въпреки че за практически цели или за тези начинаещи, те могат да изпробват тази библиотека без много усилия. За това те трябва само да инсталират lutris и в неговите конфигурации.

Що се отнася до тези, които се интересуват от компилация, те трябва да получат кода с:

git clone git://source.winehq.org/git/vkd3d.git/
./autogen.sh
./configure
make
../vkd3d/configure --build=i686-pc-linux-gnu "CPPFLAGS=-m32" "LDFLAGS=-m32"

И накрая, слоевете Vulkan трябва да бъдат активирани:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.