Dự án Wine đã phát hành Vkd3d 1.4 với triển khai Direct3D 12

Dự án Wine đã xuất bản bản phát hành gói vkd3d 1.4 với việc triển khai Direct3D 12 hoạt động thông qua việc phát sóng các lệnh gọi tới API đồ họa Vulkan. Gói này bao gồm các thư viện libvkd3d với việc triển khai Direct3D 12, libvkd3d-shader với trình dịch các mô hình đổ bóng 4 và 5 và libvkd3d-utils với các chức năng đơn giản hóa việc chuyển các ứng dụng Direct3D 12, cũng như một tập hợp các ví dụ demo, bao gồm một cổng của glxgears sang Direct3D 12. Mã dự án được phân phối theo giấy phép LGPLv2.1.

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

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

Trong phiên bản mới:

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

Nguồn: opennet.ru

Thêm một lời nhận xét