混合系统 DDI 和 dList DLL 支持

从 Windows 8.1(WDDM 1.3)开始,引入了对混合系统上跨适配器资源的支持。 可以使用以下用户模式和内核模式函数、结构和枚举:

从 Windows Server 2022(WDDM 2.9)开始引入了 跨适配器资源扫描 (CASO)功能。 为 CASO 添加了以下附加支持:

注释

在 Windows Server 2022(WDDM 2.9)及更高版本的作系统上,混合系统上的用户模式显示驱动程序(UMD)必须支持 pfnQueryDListForApplication2 DDI,这将取代 pfnQueryDListForApplication1,而不管它是否实现对 CASO 的支持。

配置 dList DLL。

dList 是一个应用程序列表,这些应用程序需要跨适配器共享图面才能在离散 GPU 上实现高性能呈现。

离散 GPU 的 UMD 安装一个单独的小型 dList DLL,用于导出其 pfnQueryDListForApplication2 函数。 操作系统本身不会决定应用程序应在哪个 GPU 上运行。 相反,Direct3D 运行时在 Direct3D 初始化期间最多调用 pfnQueryDListForApplication2 一次。

驱动程序必须查询进程信息的 up-to日期列表,以确定进程是否需要离散 GPU 而不是集成 GPU 的增强性能。

为了获得最佳性能,DLL 应:

注册 dList DLL

UMD 在其 INF 文件的注册表项 UserModeDListDriverNameUserModeDListDriverNameWow 下提供了小 dList DLL 的名称,其中后者位于 Wow64 注册表项下。 下面是 INF 代码示例:

[Xxx_SoftwareDeviceSettings]
...
HKR,, UserModeDListDriverName,    %REG_MULTI_SZ%, dlistumd.dll
HKR,, UserModeDListDriverNameWow, %REG_MULTI_SZ%, dlistumdwow.dll