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结构的 GpuClockCounterCpuClockCounter 成员的值。

DirectX 图形内核子系统经常调用此函数,通常至少每 30 毫秒调用一次,以最大程度地减少 GPU 和 CPU 时钟之间的累积偏移。

要求

要求
最低受支持的客户端 Windows 8.1,WDDM 1.3
最低受支持的服务器 Windows Server 2012 R2
目标平台 桌面
标头 d3dkmddi.h
IRQL DISPATCH_LEVEL

另请参阅

DXGKARG_CALIBRATEGPUCLOCK

DXGK_HISTORY_BUFFER

DxgkDdiAddDevice