LINUXTALKS.CO

Проект Wine выпустил Vkd3d 1.4 с реализацией Direct3D 12

 

L


0

1

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

Библиотека libvkd3d
поддерживает
большую часть возможностей Direct3D 12, включая средства для графики и
вычислений, очереди и списки команд, дескрипторы и дескрипторы кучи,
корневые сигнатуры, неупорядоченный доступ, Sampler-ы, сигнатуры команд,
корневые константы, непрямую (indirect) отрисовку, методы Clear*() и
Copy*().

В libvkd3d-shader реализована трансляция байткода 4 и 5 моделей шейдеров
в промежуточное представление SPIR-V. Поддерживаются вершинные,
пиксельные, тесселяционные, вычислительные и простые геометрические
шейдеры, сериализация и десериализация корневой сигнатуры. Из шейдерных
инструкций реализованы арифметические, атомарные и битовые операции,
операторы сравнения и управления потоком передачи данных, инструкции
sample, gather и load, операции неупорядоченного доступа (UAV, Unordered
Access View).

В новой
версии
:

  • Внесены многочисленные улучшения в компилятор шейдеров на языке
    HLSL (High-Level Shader
    Language), предоставляемом начиная с DirectX 9.0.
  • Предложена новая реализация кучи
    дескрипторов

    (Descriptor Heap), использующая Vulkan-расширение
    VK_EXT_descriptor_indexing.
  • Добавлена новая реализация
    границ
    (fence), основанная на Vulkan-расширении VK_KHR_timeline_semaphore.

// cc-by opennet.ru
// converted with crypt’s opennet autoreposter

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

★★☆☆☆
Ограничение на отправку комментариев: только для зарегистрированных пользователей, score>=90