Projeya Wine Vkd3d 1.4 bi pêkanîna Direct3D 12 serbest kir

Projeya Wine serbestberdana pakêta vkd3d 1.4 bi pêkanîna Direct3D 12-ê ku bi weşana bangên API-ya grafîkî ya Vulkan re dixebite, weşand. Di pakêtê de pirtûkxaneyên libvkd3d bi pêkanînên Direct3D 12, libvkd3d-shader bi wergêrê modelên shader 4 û 5 û libvkd3d-utils bi fonksiyonên ji bo hêsankirina barkirina serîlêdanên Direct3D 12, û her weha komek nimûneyên demo, tevî portek vedihewîne. ji glxgears ji bo Direct3D 12. Koda projeyê bi lîsansa LGPLv2.1 tê belavkirin.

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

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

Di guhertoya nû de:

  • Внесены многочисленные улучшения в компилятор шейдеров на языке HLSL (High-Level Shader Language), предоставляемом начиная с DirectX 9.0.
  • Предложена новая реализация кучи дескрипторов (Descriptor Heap), использующая Vulkan-расширение VK_EXT_descriptor_indexing.
  • Добавлена новая реализация границ (fence), основанная на Vulkan-расширении K_KHR_timeline_semaphore.

Source: opennet.ru

Add a comment