27.09.2021

Microsoft открыл код прослойки для трансляции команд Direct3D 9 в Direct3D 12

Компания Microsoft объявила об открытии исходных текстов прослойки D3D9On12 c реализацией устройства DDI (Device Driver Interface), осуществляющего трансляцию команд Direct3D 9 (D3D9) в команды Direct3D 12 (D3D12). Прослойка позволяет обеспечить работу старых приложений в окружениях, поддерживающих только D3D12, например, может оказаться полезной для реализации D3D9 на базе проектов vkd3d и VKD3D-Proton, предлагающих реализацию Direct3D 12 для Linux, работающую через трансляцию вызовов D3D12 в графический API Vulkan. Код D3D9On12 написан на языке C++ и опубликован под лицензией MIT.

Проект основан на коде аналогичной подсистемы, входящей в состав Windows 10. Отмечается, что публикация кода D3D9On12 даст возможность представителям сообщества участвовать в исправлении ошибок и добавлении оптимизаций, а также может служить примером для изучения реализации DDI-драйверов D3D9 и каркасом для создания подобных слоёв для трансляции различных графических API в D3D12.

Одновременно опубликован пакет DXBC Signer, позволяющий подписывать произвольные DXBC-файлы, сгенерированные сторонними инструментариями. D3D9On12 использует данный пакет для подписывания DXBC, генерируемых при преобразовании шейдеров в новую модель.

Источник.