функция обратного вызова DXGKDDI_CALIBRATEGPUCLOCK (d3dkmddi.h)
Вызывается подсистемой графического ядра Microsoft DirectX для калибровки меток времени GPU в буфере журнала DXGK_HISTORY_BUFFER с использованием времени ЦП.
Синтаксис
DXGKDDI_CALIBRATEGPUCLOCK DxgkddiCalibrategpuclock;
NTSTATUS DxgkddiCalibrategpuclock(
IN_CONST_HANDLE hAdapter,
IN UINT32 NodeOrdinal,
IN UINT32 EngineOrdinal,
OUT_PDXGKARG_CALIBRATEGPUCLOCK pClockCalibration
)
{...}
Параметры
hAdapter
Дескриптор объекта адаптера для GPU, для которого необходимо получить сведения о калибровке времени.
Драйвер мини-порта дисплея ранее предоставлял этот дескриптор подсистеме ядра графики DirectX в выходном параметре MiniportDeviceContext функции DxgkDdiAddDevice .
NodeOrdinal
Индекс узла, для которого будут получены сведения о калибровке времени. Этот узел находится в физическом адаптере, определенном параметром hAdapter .
EngineOrdinal
Отсчитываемый от нуля индекс подсистемы в узле, который указывает NodeOrdinal , для которого будут получены сведения о калибровке времени. Для графических адаптеров, которые не являются частью канала в конфигурации связанного видеоадаптера (LDA), всегда следует задать engineOrdinal значение 0.
pClockCalibration
Указатель на структуру DXGKARG_CALIBRATEGPUCLOCK , которая предоставляет сведения счетчика часов из GPU и ЦП.
Возвращаемое значение
Возвращает STATUS_SUCCESS , если она выполнена успешно; в противном случае возвращается один из кодов ошибок, определенных в ntstatus.h.
Комментарии
Подсистема графического ядра DirectX использует возвращаемые сведения в параметре pClockCalibration для оценки смещения между gpu и ЦП часов.
Чтобы свести к минимуму неточности калибровки, драйвер должен вычислить значения для членов GpuClockCounter и CpuClockCounterструктуры DXGKARG_CALIBRATEGPUCLOCK как можно более одновременно.
Подсистема графического ядра DirectX вызывает эту функцию достаточно часто ,как правило, по крайней мере один раз в 30 мс, чтобы свести к минимуму накопленный сдвиг между gpu и ЦП часов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8.1,WDDM 1.3 |
Минимальная версия сервера | Windows Server 2012 R2 |
Целевая платформа | Персональный компьютер |
Верхняя часть | d3dkmddi.h |
IRQL | DISPATCH_LEVEL |