LINUX.ORG.RU

Первый выпуск Vkd3d 1.0 - транслятора DirectX 12 в Vulkan

 , , , ,


1

5

Проект Wine представил первый стабильный выпуск библиотеки Vkd3d 1.0 - транслятора из API DirectX 12 в Vulkan. Проект нацелен на запуск существующих D3D 12 тайтлов с минимальными потерями в производительности, а также на облегчение в их портировании. В качестве примеров работы библиотеки предлагаются «Hello Triangle» и порт glxgears на Direct3D 12. Vkd3d поддерживает множество функций Direct3D 12:

  • Средства для вывода графики и выполнения вычислений;
  • Списки команд, распределители команд и очереди команд;
  • Дескрипторы и дескрипторы кучи;
  • Корневые подписи;
  • Константные буферы, шейдерные ресурсы, неупорядоченный доступ;
  • Сэмплеры, включая статичные;
  • Копирование дескрипторов;
  • Собственные ресурсы;
  • Корневые константы;
  • Барьеры ресурсов;
  • Запросы, в том числе запросы кучи;
  • Различные методы Clear*() и Copy*();
  • Базовую поддержку непрямого вывода и подписей команд.


Помимо этого предоставляется транслятор байткода 4 и 5 моделей шейдеров в промежуточное представление SPIR-V - libvkd3d-shader. Пока в качестве встроенной библиотеки, но в будущем планируется создать публичный API, а также обеспечить поддержку Shader Model 5.1. В будущих выпусках Vkd3d разработчики планируют реализовать поддержку вычислений сложных геометрических и тесселяционных шейдеров, а также улучшить базовые методы DirectX 12.

>>> Подробности

Ответ на: комментарий от Quasar

+1. Появятся игры, куда они денутся. И будет адски приятно, когда под wine они будут летать.

Сейчас у меня под DXVK (который для DX11) SkyrimSE пашет идеальненько, чем я прям не нарадуюсь; жду вот когда Witcher3 запашет - глюков там пока что не счесть, но FPS в Новиграде по сравнению с wine-vanilla выше как бы не в разы.

dimgel ()

Проект Wine представил первый стабильный выпуск библиотеки Vkd3d 1.0 - транслятора из API DirectX 12 в Vulkan.

это хорошо, лучше заранее пока игр нет

eR ★★★★★ ()
Ответ на: комментарий от te111011010

Я не понял, зачем для разных версий directx разные проекты?

Потому что ркзные версии ДХ сильно разные.

Может легче в рамках одного проекта этим заниматься?

Нет.

Stil ★★★★★ ()
Ответ на: комментарий от anonymous

Это о том что D3D12 может работать на железе сделаном для D3D11. А в плане API у них общего кроме названия и нет почти ничего. Разные интерфейсы, разные концепции, разные уровни абстракции. Т.е. приложения написаные для D3D11 надо сильно переписывать для переноса на D3D12, просто либу подменить не получится. А в перенос обратную сторону так и вообще может оказаться невозможным.

anonymous ()