微软已经开放了将 Direct3D 9 命令转换为 Direct3D 12 的层代码

微软宣布开源 D3D9On12 层,实现 DDI(设备驱动程序接口)设备,将 Direct3D 9 (D3D9) 命令转换为 Direct3D 12 (D3D12) 命令。 该层可以确保旧应用程序在仅支持 D3D12 的环境中运行;例如,它对于基于 vkd3d 和 VKD9D-Proton 项目实现 D3D3 可能很有用,这些项目为 Linux 提供了 Direct3D 12 实现,可以通过D3D12 调用转换为 Vulkan 图形 API。 D3D9On12 的代码是用 C++ 编写的,并根据 MIT 许可证发布。

该项目基于Windows 10中包含的类似子系统的代码。值得注意的是,D3D9On12代码的发布将使社区成员能够参与修复错误和添加优化,也可以作为研究实现的示例D3D9 DDI 驱动程序和用于创建类似层以将各种图形 API 转换为 D3D12 的框架。

同时发布了DXBC Signer包,它允许您对第三方工具生成的任意DXBC文件进行签名。 D3D9On12 使用此包对将着色器转换为新模型时生成的 DXBC 进行签名。

来源: opennet.ru

添加评论