D3D9On12 微软开发的 DirectX 映射层开源项目

我要开发同款
匿名用户2022年08月16日
166阅读
所属分类C/C++、应用工具、操作系统工具
授权协议MIT

作品详情

D3D9On12是一个映射层,它将图形命令从DirectX9映射到DirectX12。D3D9On12不是DirectXAPI的实现,而是D3D9usermodeDDI(设备驱动接口)的实现。这意味着它不是一个名为d3d9.dll的二进制文件,而是名为d3d9on12.dll。

当一个应用程序创建一个D3D9设备时,他们可能会选择它是一个D3D9On12设备,而不是一个原生D3D9设备。当这种情况发生时,d3d9on12.dll会被D3D9运行时加载并初始化。当应用程序调用渲染命令时,D3D9将验证这些命令,然后将这些命令转换为D3D9的DDI并发送给D3D9On12,就像任何D3D9驱动程序一样。D3D9On12将接收这些命令,并将其转换为D3D12API调用,这些调用会被D3D12运行时进一步验证,可选择包括D3D12调试层,然后将其转换为D3D12DDI并发送给D3D12驱动程序。

构建

为了构建D3D9On12,必须安装WDK(WindowsDriverKit),以便为D3D9On12提供d3d10umddi.h,并生成D3D12TranslationLayer_WDK项目,它承载了一些解析DXBC着色器和容器所需的代码。如果D3D12TranslationLayer及其子项目D3D12TranslationLayer_WDK和DXBCParser还没有被包含,那么在用CMake构建时,D3D12TranslationLayer_WDK将从GitHub中获取。DxbcSigner.dll将自动从NuGet拉取。

兼容性

如果可能,我们将尝试保持D3D9和D3D9On12之间的兼容性。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论