次の方法で共有


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

GPU によって設定された書式設定されていない DXGK_HISTORY_BUFFER 履歴バッファーへのポインター。

HistoryBufferSize

pHistoryBuffer が指すバッファーのサイズ (バイト単位)。

pFormattedBuffer

ドライバーが、指定された書式設定されていない履歴バッファーから派生したタイム スタンプ情報を格納するために使用する、ページなしのシステム メモリのセグメントへのポインター。

pFormattedBuffer によって指されるバッファーは、Precision で指定された精度のタイムスタンプの大きな配列として管理する必要があります。 バッファーには、元の履歴バッファーに既に存在するヘッダー情報を含めてはなりません。

FormattedBufferSize

pFormattedBuffer が指すバッファーのサイズ (バイト単位)。 ドライバーは、このバッファー サイズを超えるデータを書き込まないことを確認する必要があります。

NumTimestamps

タイム スタンプの数。 DxgkDdiFormatHistoryBuffer 関数の呼び出しが完了すると、ドライバーは、pFormattedBuffer が指す書式設定されたバッファーに書き込まれるタイム スタンプの数にこの値を設定する必要があります。

ドライバーが pFormattedBuffer が指す書式設定されたバッファーを完了するまで、書式設定された出力バッファーに含まれるタイム スタンプの数は不明であることに注意してください。

Precision

ドライバーが Windows イベント トレーシング (ETW) 機能に記録されるタイム スタンプの精度に関する情報を入力するDXGKARG_HISTORYBUFFERPRECISION構造体。

DXGKARG_HISTORYBUFFERPRECISIONの値。PrecisionBits メンバーを 0 にすることはできません。

Offset

DxgkDdiFormatHistoryBuffer 関数の呼び出しへの入力時に、このメンバーの値は、書式設定を開始する最初のタイム スタンプへのオフセットです。 関数呼び出しが完了すると、履歴バッファー内のすべてのタイム スタンプが正常に書式設定された場合、ドライバーは値を 0 に設定する必要があります。

0 以外の場合、ドライバーは、書式設定されたバッファーを入力せずに、履歴バッファー内のすべてのタイム スタンプを書式設定できませんでした。 この場合、値は次の関数呼び出しで継続する必要があるオフセットを表します。

注釈

ドライバーは、指定された履歴バッファーのヘッダーからタイム スタンプ エントリと使用可能なタイム スタンプの数を取得する必要があります。 ドライバーが計算に必要な追加データは、プライベート データに格納する必要があります。

要件

要件
サポートされている最小のクライアント Windows 8.1、WDDM 1.3 以降
サポートされている最小のサーバー Windows Server 2012 R2
Header d3dkmddi.h (D3dkmddi.h を含む)

こちらもご覧ください

DXGKARG_HISTORYBUFFERPRECISION

DXGK_HISTORY_BUFFER

DxgkDdiFormatHistoryBuffer