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

我要开发同款
匿名用户2022年08月16日
214阅读

技术信息

开源地址
https://github.com/microsoft/D3D9On12
授权协议
MIT

作品详情

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

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

构建

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

兼容性

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

功能介绍

D3D9On12 是一个映射层,它将图形命令从 Direct X 9 映射到 DirectX 12。D3D9On12 不是 Direct X API 的实现,而是 D3D9 usermode D...

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

评论