La empresa Microsoft ha anunciado la apertura del código fuente de la capa D3D9On12 que implementa la Interfaz de Controladores de Dispositivo (DDI), que traduce comandos de Direct3D 9 (D3D9) a comandos de Direct3D 12 (D3D12). Esta capa permite que las aplicaciones antiguas funcionen en entornos que solo soportan D3D12, lo que puede ser útil para implementar D3D9 en proyectos como vkd3d y VKD3D-Proton, que ofrecen una implementación de Direct3D 12 para Linux que funciona a través de la traducción de llamadas D3D12 a la API gráfica Vulkan. El código D3D9On12 está escrito en C++ y se publica bajo la licencia MIT.
El proyecto se basa en el código de un subsistema similar incluido en Windows 10. Se señala que la publicación del código D3D9On12 permitirá que los miembros de la comunidad participen en la corrección de errores y la adición de optimizaciones, y también puede servir como ejemplo para estudiar la implementación de controladores DDI de D3D9 y como base para crear capas similares que traduzcan diferentes API gráficas a D3D12.
Simultáneamente se ha publicado el paquete DXBC Signer, que permite firmar archivos DXBC arbitrarios generados por herramientas de terceros. D3D9On12 utiliza este paquete para firmar el DXBC que se genera al convertir shaders a un nuevo modelo.
Fuente: opennet.ru
