Проект Wine опублікував Vkd3d 1.7 з реалізацією Direct3D 12

Проект Wine опублікував випуск пакету vkd3d 1.7 з реалізацією Direct3D 12, що працює через трансляцію дзвінків до графічного API Vulkan. До складу пакету входять бібліотеки libvkd3d з реалізацій Direct3D 12, libvkd3d-shader з транслятором 4 і 5 моделі шейдерів і libvkd3d-utils з функціями для спрощення портування додатків Direct3D 12, а також набір демонстраційних прикладів 3D12D2.1Ds. під ліцензією LGPLvXNUMX.

Бібліотека libvkd3d підтримує більшу частину можливостей Direct3D 12, включаючи засоби для графіки та обчислень, черги та списки команд, дескриптори та дескриптори купи, кореневі сигнатури, неупорядкований доступ, Sampler-и, сигнатури команд, кореневі константи, непряму *() та Copy*(). У libvkd3d-shader реалізована трансляція байткоду 4 та 5 моделей шейдерів у проміжне уявлення SPIR-V. Підтримуються вершинні, піксельні, тесселяційні, обчислювальні та прості геометричні шейдери, серіалізація та десеріалізація кореневої сигнатури. З шейдерних інструкцій реалізовані арифметичні, атомарні та бітові операції, оператори порівняння та управління потоком передачі даних, інструкції sample, gather та load, операції неупорядкованого доступу (UAV, Unordered Access View).

В новой версії:

  • Продовжено роботу з поліпшення компілятора шейдерів мовою HLSL (High-Level Shader Language):
    • Додано можливість виклику користувацьких функцій та використання масивів як параметри функцій користувача.
    • Додано підтримку параметрів SV_DispatchThreadID, SV_GroupID та SV_GroupThreadID.
    • Додані вбудовані функції all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt() , step(), transpose().
    • Додано початкову підтримку типів низької точності з плаваючою комою, таких як «min16float».
  • Значно покращено підтримку профілів моделі шейдерів Direct3D 1/2/3.
  • Доданий публічний API для аналізу (vkd3d_shader_parse_dxbc) та серіалізації (vkd3d_shader_serialize_dxbc) бінарних даних DXBC.

Джерело: opennet.ru

Додати коментар або відгук