vkd3d 1.11 надходить із початковою підтримкою компіляції байт-коду Direct3D, DXIL, покращень тощо

VKD3D

vkd3d — це рівень перекладу Wine Direct3D 12 у Vulkan

Проект Wine анонсував кілька днів тому випуск нової версії пакета vkd3d 1.11, версія, у якій було внесено вдосконалення у використання розширень vulkan, а також покращено підтримку, нові функції тощо.

Для тих, хто не знає про Vkd3d, ви повинні знати, що це пакет, який пропонує реалізацію Direct3D 12 за допомогою викликів графічного API Vulkan і містить кілька ключових бібліотек. Бібліотека libvkd3d містить реалізації Direct3D 12, що охоплює широкий спектр функцій, таких як обчислення та графіка, черги та списки команд, ідентифікатори тощо.

Також надається бібліотека шейдерів libvkd3d який надає транслятор для моделей шейдерів 4 і 5 у проміжне представлення SPIR-V. Ця бібліотека підтримує вершинні, піксельні, тесселяційні, обчислювальні та прості шейдери геометрії, а також серіалізацію та десеріалізацію кореневих підписів.

Що нового у vkd3d 1.11?

Vkd3d 1.11 представляє a початкова підтримка компіляції застарілого байт-коду Direct3D у проміжному представленні шейдерів SPIR-V, а також sпочаткова підтримка з компілятором HLSL pдля компіляції профілів ефектів.

Ще одне вдосконалення, представлене в цій новій версії, це експериментальна підтримка компіляції DXIL (проміжна мова DirectX) у представленні SPIR-V, надаючи нові можливості для розробки програм Direct3D. Ця функція потребує компіляції vkd3d з опцією preprocessor-DVKD3D_SHADER_UNSUPPORTED_DXILі вважається експериментальним.

Тамбієн оптимізовано використання груп і наборів дескрипторів коли доступні розширення VK_EXT_mutable_descriptor_type і VK_EXT_shader_viewport_index_layer, який надається для підвищення ефективності роботи з пулом дескрипторів і прискорення відтворення масивів тесселяції та вершинних шейдерів.

C було реалізованоПідтримка стандартних кольорів рамок, наприклад чорно-білих і метод був реалізований GetResourceAllocationInfo1() інтерфейсу ID3D12Device4, а також підтримка інтерфейсів ID3D12Device7 та ID3D12Resource2.

Підтримується кілька нових запитів функцій, у тому числі D3D12_FEATURE_D3D12_OPTIONS6 a D3D12_FEATURE_D3D12_OPTIONS13.

Були реалізовані нові варіанти збірки: VKD3D_SHADER_COMPILE_OPTION_FEATURE можна використовувати для
укажіть функції, доступні в цільовому середовищі, а VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64 вказує на сумісність із
64-розрядні цілі типи в цільовому середовищі SPIR і  VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64 вказує на сумісність із
64-розрядні типи з плаваючою комою в цільовому середовищі SPIR-V.

З інші зміни, які виділяються цієї нової версії:

  • Оновлення дескрипторів тепер відбуваються асинхронно у внутрішньому робочому потоці, покращуючи продуктивність програм, які оновлюють багато дескрипторів за кадр.
  • Для цільового типу SPIR-V додано нові функції, включаючи підтримку глобально узгоджених переглядів непорядкового доступу, бар’єрів перегляду непорядкового доступу групи потоків тощо.
  • Підтримується інтерфейс ID3D12Device7.
  • Мінімально необхідною версією Vulkan-Headers для цього випуску є версія
    1.3.228.
  • Підтримується інтерфейс ID3D12Resource2.
  • Підтримується кілька нових запитів функцій:
    – D3D12_FEATURE_D3D12_OPTIONS6
    – D3D12_FEATURE_D3D12_OPTIONS7
    – D3D12_FEATURE_D3D12_OPTIONS8
    – D3D12_FEATURE_D3D12_OPTIONS9
    – D3D12_FEATURE_D3D12_OPTIONS10
    – D3D12_FEATURE_D3D12_OPTIONS11
    – D3D12_FEATURE_D3D12_OPTIONS12
    – D3D12_FEATURE_D3D12_OPTIONS13
  • Внутрішні функції acos(), asin(), atan() і atan2() уже підтримуються.
  • Явне відображення реєстрів за допомогою ключового слова 'register()'
  • Перетворення цілих типів у типи з плаваючою точкою в профілях моделі шейдерів 1-3.

Для тих, хто хоче дізнатися про це більше, вам слід знати, що код проекту поширюється під LGPL 2.1, і ви можете ознайомитися з деталями цього нового випуску У наступному посиланні.

Як встановити vkd3d 1.11?

Для зацікавлений у можливості встановити vkd3d Вони повинні знати, що вони повинні скомпілювати вихідний код, тому ми повинні отримати його спочатку, важливо згадати, що Vkd3d залежить від SPIRV-Headers і Vulkan-Headers (>= 1.3.228).

Компіляція досить проста, і для цього ми повинні відкрити термінал, у якому ми збираємося ввести таку команду:

git clone https://gitlab.winehq.org/wine/vkd3d.git

Ми переходимо до папки, куди було завантажено:

cd vkd3d

І ми переходимо до компіляції, виконавши такі команди:

./configure
make
make install

Si ви хочете дізнатися більше про збірку з vkd3d ви можете перевірити деталі це посилання.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.