مایکروسافت منبع باز لایه D3D9On12 را با اجرای یک دستگاه DDI (رابط درایور دستگاه) اعلام کرده است که دستورات Direct3D 9 (D3D9) را به دستورات Direct3D 12 (D3D12) ترجمه می کند. این لایه اطمینان از عملکرد برنامههای قدیمی را در محیطهایی که فقط از D3D12 پشتیبانی میکنند، ممکن میسازد، به عنوان مثال، ممکن است برای پیادهسازی D3D9 بر اساس پروژههای vkd3d و VKD3D-Proton مفید باشد، که اجرای Direct3D 12 را برای لینوکس ارائه میکند که از طریق آن کار میکند. ترجمه فراخوان های D3D12 به API گرافیکی Vulkan. کد D3D9On12 به زبان C++ نوشته شده و تحت مجوز MIT منتشر شده است.
این پروژه بر اساس کد زیرسیستم مشابه موجود در ویندوز 10 است. خاطرنشان می شود که انتشار کد D3D9On12 اعضای جامعه را قادر می سازد تا در رفع خطاها و اضافه کردن بهینه سازی ها مشارکت داشته باشند و همچنین می تواند به عنوان نمونه ای برای مطالعه پیاده سازی باشد. از درایورهای D3D9 DDI و چارچوبی برای ایجاد لایه های مشابه برای ترجمه API های گرافیکی مختلف به D3D12.
در همان زمان، بسته DXBC Signer منتشر شد که به شما امکان می دهد فایل های دلخواه DXBC تولید شده توسط ابزارهای شخص ثالث را امضا کنید. D3D9On12 از این بسته برای امضای DXBC استفاده می کند که هنگام تبدیل شیدرها به مدل جدید ایجاد می شود.
منبع: opennet.ru