Проект Wine
Библиотека libvkd3d
В libvkd3d-shader реализована трансляция байткода 4 и 5 моделей шейдеров в промежуточное представление SPIR-V. Поддерживаются вершинные, пиксельные, тесселяционные, вычислительные и простые геометрические шейдеры, сериализация и десериализация корневой подписи. Из шейдерных инструкций реализованы арифметические, атомарные и битовые операции, операторы сравнения и управления потоком передачи данных, инструкции sample, gather и load, операции неупорядоченного доступа (UAV, Unordered Access View).
Среди наиболее значительных
- Готовность библиотеки libvkd3d-shader для использования в сторонних проектах.
- Поддержка тесселяционных шейдеров.
- Поддержка преобразования, сериализации и десериализации корневых сигнатур (vkd3d_serialize_versioned_root_signature() и vkd3d_create_versioned_root_signature_deserializer()).
- Поддержка потокового вывода.
- Реализация многих ранее недоступных возможностей Direct3D 12, включая поддержку мультисэмплинга, резервирования ресурсов,
косвенной индексированной отрисовки, рендеринга глубины без пиксельных шейдеров, одновременного доступа к ресурсам их разных очередей команд, нулевых представлений (Null-views). - Добавлены переменные окружения: VKD3D_CONFIG для установки опций для изменения поведения libvkd3d и VKD3D_VULKAN_DEVICE для переопределения устройства для API Vulkan.
- Добавлена поддержка шейдерных инструкций bufinfo,
eval_centroid,
eval_sample_index,
ld2ms,
sample_b,
sample_d,
sample_info,
samplepos.
Šaltinis: opennet.ru