混合系统 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 一次。

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

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

注册 dList DLL

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

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