DXGKDDI_CALIBRATEGPUCLOCK回调函数 (d3dkmddi.h)
Microsoft DirectX 图形内核子系统调用,以使用 CPU 时钟时间校准 DXGK_HISTORY_BUFFER 历史记录缓冲区中的 GPU 时间戳。
语法
DXGKDDI_CALIBRATEGPUCLOCK DxgkddiCalibrategpuclock;
NTSTATUS DxgkddiCalibrategpuclock(
IN_CONST_HANDLE hAdapter,
IN UINT32 NodeOrdinal,
IN UINT32 EngineOrdinal,
OUT_PDXGKARG_CALIBRATEGPUCLOCK pClockCalibration
)
{...}
参数
hAdapter
要为其获取计时校准信息的 GPU 的适配器对象的句柄。
显示微型端口驱动程序以前向 MiniportDeviceContext 中的 DirectX 图形内核子系统提供了此句柄,DxgkDdiAddDevice 函数的输出参数。
NodeOrdinal
将获取计时校准信息的节点的索引。 此节点位于由 hAdapter 参数定义的物理适配器内。
EngineOrdinal
引擎的从零开始的索引,在 NodeOrdinal 指定的节点中,将为其获取计时校准信息。 对于链接显示适配器(LDA)配置中不属于链接的图形适配器,应始终将 EngineOrdinal 设置为 0。
pClockCalibration
指向 DXGKARG_CALIBRATEGPUCLOCK 结构的指针,该结构提供 GPU 和 CPU 中的时钟计数器信息。
返回值
如果成功,则返回 STATUS_SUCCESS;否则,它将返回 Ntstatus.h 中定义的错误代码之一。
言论
DirectX 图形内核子系统使用 pClockCalibration 参数中的返回信息来估计 GPU 和 CPU 时钟之间的偏移。
为了最大程度地减少校准不准确,驱动程序应计算 GpuClockCounter 的值,并尽可能几乎同时 cpuClockCounterDXGKARG_CALIBRATEGPUCLOCK 结构的成员。
DirectX 图形内核子系统经常调用此函数,通常至少每 30 毫秒调用一次,以最大程度地减少 GPU 和 CPU 时钟之间的累积偏移。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 8.1,WDDM 1.3 |
支持的最低服务器 | Windows Server 2012 R2 |
目标平台 | 桌面 |
标头 | d3dkmddi.h |
IRQL | DISPATCH_LEVEL |