Поделиться через


структура DXGKARG_FORMATHISTORYBUFFER (d3dkmddi.h)

Содержит сведения о драйвере минипорта дисплея для форматирования буфера журнала.

Синтаксис

typedef struct _DXGKARG_FORMATHISTORYBUFFER {
  DXGK_HISTORY_BUFFER            *pHistoryBuffer;
  UINT32                         HistoryBufferSize;
  PVOID                          pFormattedBuffer;
  UINT32                         FormattedBufferSize;
  UINT32                         NumTimestamps;
  DXGKARG_HISTORYBUFFERPRECISION Precision;
  UINT32                         Offset;
} DXGKARG_FORMATHISTORYBUFFER;

Члены

pHistoryBuffer

Указатель на неформатированную DXGK_HISTORY_BUFFER буфер журнала, который был заполнен GPU.

HistoryBufferSize

Размер (в байтах) буфера, на который указывает pHistoryBuffer.

pFormattedBuffer

Указатель на сегмент нестраничной системной памяти, который драйвер использует для хранения сведений о метках времени, производных от предоставленного буфера журнала неформатированного формата.

Буфер, на который указывает pFormattedBuffer , должен управляться как большим массивом меток времени с точностью, заданной параметром Precision. Буфер не должен содержать сведения о заголовке, которые уже существуют в исходном буфере журнала.

FormattedBufferSize

Размер (в байтах) буфера, на который указывает pFormattedBuffer. Драйвер должен убедиться, что он не записывает данные, превышающие этот размер буфера.

NumTimestamps

Количество меток времени. После завершения вызова функции DxgkDdiFormatHistoryBuffer драйвер должен задать для этого значения количество меток времени, записываемых в форматированный буфер, на который указывает pFormattedBuffer.

Обратите внимание, что количество меток времени, которые будут находиться в форматируемом выходном буфере, не будет известно до тех пор, пока драйвер не завершит форматированный буфер, на который указывает pFormattedBuffer.

Precision

Структура DXGKARG_HISTORYBUFFERPRECISION, которую драйвер заполняет сведениями о точности меток времени, которые будут зарегистрированы в средстве трассировки событий Windows (ETW).

Значение DXGKARG_HISTORYBUFFERPRECISION. Элемент PrecisionBits не может быть равен нулю.

Offset

На входных данных для вызова функции DxgkDdiFormatHistoryBuffer значение этого элемента является смещением к первой метке времени, с которой должно начинаться форматирование. После завершения вызова функции драйвер должен задать для значения нулевое значение, если он успешно отформатирует все метки времени в буфере журнала.

Если значение не равно нулю, драйвер не может отформатировать все метки времени в буфере журнала без заполнения форматированного буфера. В этом случае значение представляет смещение, которое должно быть продолжено в следующем вызове функции.

Комментарии

Драйвер должен получить записи меток времени и количество доступных для использования меток времени из заголовка предоставленного буфера журнала. Все дополнительные данные, необходимые драйверу для вычислений, должны храниться в частных данных.

Требования

Требование Значение
Минимальная версия клиента Windows 8.1,WDDM 1.3 и более поздних версий
Минимальная версия сервера Windows Server 2012 R2
Верхняя часть d3dkmddi.h (включая D3dkmddi.h)

См. также раздел

DXGKARG_HISTORYBUFFERPRECISION

DXGK_HISTORY_BUFFER

DxgkDdiFormatHistoryBuffer