Кандидат за издания Wine 8.0 и издание vkd3d 1.6.

Започнаха тестовете на първия кандидат за версии на Wine 8.0, отворена реализация на WinAPI. Кодовата база е преведена в стадий на замразяване преди излизането, което се очаква в средата на януари. В сравнение с версия 7.22 на Wine, 52 отчета за грешки са затворени и 538 промени са направени.

Най-важните промени:

  • Пакетът vkd3d с реализация на Direct3D 12, работещ чрез транслация на повиквания в графичния API Vulkan, е актуализиран до версия 1.6.
  • Оптимизирани са преобразувателите на системни извиквания (thunk) за Vulkan и OpenGL.
  • В WinPrint е разширена поддръжката на обработчици за печат (Print processor).
  • Подобренa е управляваща панел с джойстик.
  • Завършена е работата по осигуряване на поддръжка за типа ‘long’ в кода на функцията printf.
  • Затворени са отчетите за грешки, свързани с игрите: Tom Clancy’s Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
  • Затворени са отчетите за грешки, свързани с приложенията: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.

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

Библиотеката libvkd3d поддържа повечето възможности на Direct3D 12, включително средства за графика и изчисления, опашки и списъци с команди, дескриптори и дескриптори за купчини, коренови сигнатури, неупорядочен достъп, семплери, командни сигнатури, коренови константи, непряка (indirect) рисуване, методи Clear*() и Copy*(). В libvkd3d-shader е реализирана транслацията на байт-кода на 4 и 5 модели на шейдъри в междинно представяне SPIR-V. Поддържат се вершинни, пикселни, тesselационни, изчислителни и лесни геометрични шейдъри, сериализация и десиериализация на кореновата сигнатура. От шейдерните инструкции са реализирани арефметични, атомарни и битови операции, оператори за сравнение и управление на потока на данни, инструкции sample, gather и load, операции за неупорядочен достъп (UAV, Unordered Access View).

В новата версия продължава работата по подобряване на компилатора за шейдери на HLSL (High-Level Shader Language), предоставян от DirectX 9.0 насам. Сред подобренията, свързани с HLSL:

  • Реализирана е начална поддръжка на изчислителни шейдери.
  • Подобрена е поддръжката за инициализация и разпределение на сложни обекти, като структури и масиви.
  • Добавена е възможност за зареждане и запазване на текстурни ресурси, използвайки неупорядочен достъп (UAV).
  • Добавена е поддръжка на атрибути за функции и реализирани са вградени функции asuint(), length(), normalize().
  • Добавена е поддръжка на модули за изчисления с плаваща запетая.
  • Реализиран е флаг VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS за индикация на атомарни операции над дескриптори на неупорядочен достъп (UAV).

Източник: opennet.ru

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