Firma Microsoft ogłosiła otwarcie kodów źródłowych warstwy D3D9On12 z implementacją interfejsu DDI (Device Driver Interface), który umożliwia tłumaczenie poleceń Direct3D 9 (D3D9) na polecenia Direct3D 12 (D3D12). Warstwa ta umożliwia uruchamianie starszych aplikacji w środowiskach wspierających jedynie D3D12, co może być przydatne przy wdrażaniu D3D9 w projektach vkd3d i VKD3D-Proton, które oferują implementację Direct3D 12 dla systemu Linux, działając poprzez tłumaczenie wywołań D3D12 na interfejs API Vulkan. Kod D3D9On12 został napisany w języku C++ i opublikowany na licencji MIT.
Projekt oparty jest na kodzie podobnego podsystemu, który jest częścią systemu Windows 10. Zauważono, że publikacja kodu D3D9On12 umożliwi przedstawicielom społeczności uczestniczenie w naprawie błędów i dodawaniu optymalizacji, a także może służyć jako przykład do nauki implementacji sterowników DDI D3D9 oraz ramy do tworzenia podobnych warstw do tłumaczenia różnych interfejsów API grafiki do D3D12.
Jednocześnie opublikowano pakiet DXBC Signer, który umożliwia podpisywanie dowolnych plików DXBC generowanych przez zewnętrzne narzędzia. D3D9On12 używa tego pakietu do podpisywania DXBC generowanych podczas przekształcania shaderów do nowego modelu.
Źródło: opennet.ru
