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