Шарап долбоору Direct3D 1.4 ишке ашыруу менен Vkd3d 12 чыгарды

Wine долбоору Vulkan графикалык API'ге чалууларды таратуу аркылуу иштеген Direct3D 1.4 ишке ашыруусу менен vkd3d 12 пакетинин чыгарылышын жарыялады. Пакетке Direct3D 3 ишке ашыруулары менен libvkd12d китепканалары, 3 жана 4 шэйдер моделдеринин котормочусу бар libvkd5d-shader жана Direct3D 3 тиркемелерин көчүрүүнү жөнөкөйлөтүү функциялары бар libvkd12d-utils, ошондой эле портту камтыган демо мисалдардын топтому камтылган. of 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-расширении K_KHR_timeline_semaphore.

Source: opennet.ru

Комментарий кошуу