وائن پروجيڪٽ جاري ڪيو آهي Vkd3d 1.2 Direct3D 12 عملدرآمد سان

Проект Wine شايع ٿيل پيڪيج ڇڏڻ vkd3d 1.2 с реализацией 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 نمائندگي ۾ لاڳو ڪيو ويو آهي. ورٽيڪس، پکسل، ٽيسيليشن، ڪمپيوٽر ۽ سادي جاميٽري شيڊرز، روٽ دستخط سيريلائيزيشن ۽ ڊيسيريلائيزيشن سپورٽ آهن. شيڊر جي هدايتن ۾ رياضي، ايٽمي ۽ بٽ آپريشنز، موازن ۽ ڊيٽا فلو ڪنٽرول آپريٽرز، نموني، گڏ ڪرڻ ۽ لوڊ ڪرڻ جون هدايتون، غير ترتيب ڏنل رسائي آپريشن (UAV، غير ترتيب ڏنل رسائي ڏسڻ) شامل آھن.

Среди наиболее значительных جدت в Vkd3d 1.2 выделяются:

  • Готовность библиотеки 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.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو