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 を含む) |