DXGK_DEVICEINFO構造体 (d3dkmddi.h)
DXGK_DEVICEINFO構造体では、Microsoft DirectX グラフィックス カーネル サブシステムがディスプレイ ミニポート ドライバーから必要なパラメーターについて説明します。
構文
typedef struct _DXGK_DEVICEINFO {
[out] UINT DmaBufferSize;
[out] UINT DmaBufferSegmentSet;
[out] UINT DmaBufferPrivateDataSize;
[out] UINT AllocationListSize;
[out] UINT PatchLocationListSize;
[out] DXGK_DEVICEINFOFLAGS Flags;
} DXGK_DEVICEINFO;
メンバー
[out] DmaBufferSize
ハードウェアへの直接メモリ アクセス (DMA) を介して送信されるハードウェア コマンドのバッファーのサイズ (バイト単位)。
DMA バッファーは、デバイスの作成後に拡大および縮小できます。ただし、DMA バッファーは、 DmaBufferSize が指定する開始サイズよりも小さく縮小することはできません。
[out] DmaBufferSegmentSet
DMA バッファーをグラフィックス処理装置 (GPU) からアクセスできるようにする必要があるセグメントの識別子。
[out] DmaBufferPrivateDataSize
各 DMA バッファーに関連付けられているドライバー常駐プライベート データ構造のサイズ (バイト単位)。 このプライベート データ構造のメモリは、非ページ プールから割り当てられます。 ドライバーが DmaBufferPrivateDataSize で 0 を指定した場合、プライベート データ構造にメモリは割り当てされません。
DMA バッファーに関連付けられているプライベート データ構造は、DMA バッファーの作成時に 0 に初期化されます。 DMA バッファーの有効期間中、ビデオ メモリ マネージャーは DMA バッファーに関連付けられているプライベート データ構造にアクセスしません。
[out] AllocationListSize
割り当ての配列内の要素の開始数 (つまり、 DXGK_ALLOCATIONLIST 構造体の配列)。 この数は、ドライバーがドライバーの DxgkDdiPresent 関数と DxgkDdiRender 関数の呼び出しで、DXGKARG_PRESENT および DXGKARG_RENDER 構造体の pAllocationList メンバーに要求する割り当ての開始数です。
割り当てリストは、デバイスの作成後に拡大および縮小できます。ただし、割り当てリストは 、AllocationListSize が指定する開始サイズよりも小さくすることはできません。
[out] PatchLocationListSize
ユーザー モードとカーネル モードのデバイスのパッチの場所 ( つまり、D3DDDI_PATCHLOCATIONLIST 構造体の配列) の配列内の要素の開始数。 この数は、ドライバーが DxgkDdiRender 関数の呼び出しでDXGKARG_RENDER構造体の pPatchLocationListIn メンバーに要求するパッチの場所の開始数です。
パッチの場所リストは、デバイスの作成後に拡大および縮小できます。ただし、 PatchLocationListSize で指定されている開始サイズよりも、パッチの場所リストを小さくすることはできません。
[out] Flags
ビット フィールド フラグでデバイスに関する情報を識別するDXGK_DEVICEINFOFLAGS構造体。
注釈
ディスプレイ ミニポート ドライバーは、 DmaBufferSize メンバーと AllocationListSize メンバーの値を指定して、次のことが保証されます。
- DirectX グラフィックス サブシステムでは、すべてのシナリオに対して少なくとも 1 つの RECT 構造を (ディスプレイ ミニポート ドライバーの DxgkDdiPresent 関数を使用して) 表示する DMA バッファーを 1 つだけ使用できます。
- DMA バッファーと割り当てリスト バッファーのサイズは、複数のバッファーに分割できないコマンドを 1 つ以上保持するのに十分な大きさです。
- DMA バッファーと割り当てリスト バッファーのサイズは、セットアップと DMA オーバーヘッドを回避するのに十分な大きさです。
ドライバーが DmaBufferSegmentSet を 0 に設定した場合、ビデオ メモリ マネージャーは、DMA バッファーに対して、書き込み結合メモリにマップされたページ ロックされた連続したメモリを割り当てます。 そのため、GPU は、AGP アパーチャの外部で発生する AGP 転送が許可されていないシステムで PCI サイクルを使用して DMA バッファーにアクセスする必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
Header | d3dkmddi.h (D3dkmddi.h を含む) |