Компания Microsoft обяви, че е открила изходния код на слоя D3D9On12 с реализация на интерфейса за устройство 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, генерирани при преобразуването на шейдъри в новата модел.
Източник: opennet.ru
