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

另请参阅

DXGKARG_CALIBRATEGPUCLOCK

DXGK_HISTORY_BUFFER

DxgkDdiAddDevice