D3DDDICB_RENDER 構造体 (d3dumddi.h)
D3DDDICB_RENDER構造体は、レンダリングされる現在のコマンド バッファーを記述します。
構文
typedef struct _D3DDDICB_RENDER {
UINT CommandLength;
UINT CommandOffset;
UINT NumAllocations;
UINT NumPatchLocations;
VOID *pNewCommandBuffer;
UINT NewCommandBufferSize;
D3DDDI_ALLOCATIONLIST *pNewAllocationList;
UINT NewAllocationListSize;
D3DDDI_PATCHLOCATIONLIST *pNewPatchLocationList;
UINT NewPatchLocationListSize;
D3DDDICB_RENDERFLAGS Flags;
HANDLE hContext;
UINT BroadcastContextCount;
HANDLE BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
ULONG QueuedBufferCount;
D3DGPU_VIRTUAL_ADDRESS NewCommandBuffer;
VOID *pPrivateDriverData;
UINT PrivateDriverDataSize;
D3DDDI_MARKERLOGTYPE MarkerLogType;
UINT RenderCBSequence;
union {
struct {
UINT FirstAPISequenceNumberHigh;
UINT CompletedAPISequenceNumberLow0Size;
UINT CompletedAPISequenceNumberLow1Size;
UINT BegunAPISequenceNumberLow0Size;
UINT BegunAPISequenceNumberLow1Size;
};
UINT BatchedMarkerDataCount;
};
union {
struct {
const UINT *pCompletedAPISequenceNumberLow0;
const UINT *pCompletedAPISequenceNumberLow1;
const UINT *pBegunAPISequenceNumberLow0;
const UINT *pBegunAPISequenceNumberLow1;
};
const D3DDDI_BATCHEDMARKERDATA *pBatchedMarkerData;
};
} D3DDDICB_RENDER;
メンバー
CommandLength
[入力]オフセット 0 から始まるコマンド バッファーのサイズ (バイト単位)。
CommandOffset
[入力]コマンド バッファー内の最初のコマンドへのオフセット (バイト単位)。
NumAllocations
[入力]割り当てリスト内の要素の数。
NumPatchLocations
[入力]パッチの場所リスト内の要素の数。
pNewCommandBuffer
[out]ユーザー モード表示ドライバーが pfnRenderCb 関数の次の呼び出しで使用するために受け取るコマンド バッファーへのポインター。
NewCommandBufferSize
[入力/出力]ユーザー モード表示ドライバーが次のコマンド バッファーを要求するサイズ (バイト単位)。
ドライバーは、使用する次のコマンド バッファーのサイズ (バイト単位) を受け取ります。
pNewAllocationList
[out]ユーザー モード ディスプレイ ドライバーが pfnRenderCb 関数の次の呼び出しで割り当てリストとして使用するために受け取るD3DDDI_ALLOCATIONLIST構造体の配列。
NewAllocationListSize
[入力/出力]ユーザー モード表示ドライバーが次の割り当てリストを要求する要素の数。
ドライバーは、次のコマンド バッファーが送信されたときに使用できる割り当てリストの要素の数を受け取ります。
pNewPatchLocationList
[out]ユーザー モードディスプレイ ドライバーが pfnRenderCb 関数の次の呼び出しでパッチの場所リストとして使用するために受け取るD3DDDI_PATCHLOCATIONLIST構造体の配列。
NewPatchLocationListSize
[入力/出力]ユーザー モードでドライバーが次のパッチの場所の一覧を要求する要素の数。
ドライバーは、次のコマンド バッファーが送信されたときに使用できるパッチの場所の一覧の要素の数を受け取ります。
Flags
[入力]レンダリングするコマンド バッファーに関する情報を示す D3DDDICB_RENDERFLAGS 構造体。
hContext
[入力]ドライバーがレンダリング操作を送信するコンテキストへのハンドル。 ユーザー モード ディスプレイ ドライバーは、 以前に pfnCreateContextCb 関数を呼び出して、このコンテキストを作成しました。
BroadcastContextCount
[入力] BroadcastContext メンバーが指定する配列内の追加コンテキストの数。
BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
[入力]現在のコマンド バッファーをブロードキャストする追加のコンテキストへのハンドルの配列。 D3DDDI_MAX_BROADCAST_CONTEXT定数は 64 として定義され、ユーザー モード ディスプレイ ドライバーが現在のコマンド バッファーをブロードキャストできる追加コンテキストの最大数を定義します。
hContext メンバーが指定し、コマンド バッファーを所有する元のコンテキストは、BroadcastContext 配列内の要素ではありません。 たとえば、 BroadcastContext 配列に 1 つの要素が含まれている場合、ユーザー モードの表示ドライバーは、所有コンテキスト (hContext) にコマンド バッファーを送信し、その 1 つの追加のコンテキストにブロードキャストします。
QueuedBufferCount
[out]現在の送信が行われる後に hContext メンバーが指定するコンテキストにキューに入れられている DMA バッファーの数。
NewCommandBuffer
このメンバーは予約済みであり、0 に設定する必要があります。
このメンバーは、Windows 7 以降で使用できます。
pPrivateDriverData
[入力]このメンバーは予約済みであり、0 に設定する必要があります。
このメンバーは、Windows 7 以降で使用できます。
PrivateDriverDataSize
[入力]このメンバーは予約済みであり、0 に設定する必要があります。
このメンバーは、Windows 7 以降で使用できます。
MarkerLogType
ユーザー モード ディスプレイ ドライバーがサポートするイベント トレース for Windows (ETW) ログのマーカーの種類を示すD3DDDI_MARKERLOGTYPE列挙。
RenderCBSequence
各 pfnRenderCb 関数呼び出しの一意識別子。 シングルスレッド ユーザー モード DDI に関連付けられているコンテキストの場合は 1 から始まり、フリースレッド ユーザー モードの DDI に関連付けられているコンテキストの場合は 0x80000001 の値に範囲を指定します。 ユーザー モード ディスプレイ ドライバーは、任意のエンジンで行う pfnRenderCb 呼び出しごとに値をインクリメントする必要があります。
FirstAPISequenceNumberHigh
コンテキストの API シーケンス番号を渡すためにドライバーによって使用されます。
CompletedAPISequenceNumberLow0Size
コンテキストの API シーケンス番号を渡すためにドライバーによって使用されます。
CompletedAPISequenceNumberLow1Size
コンテキストの API シーケンス番号を渡すためにドライバーによって使用されます。
BegunAPISequenceNumberLow0Size
コンテキストの API シーケンス番号を渡すためにドライバーによって使用されます。
BegunAPISequenceNumberLow1Size
コンテキストの API シーケンス番号を渡すためにドライバーによって使用されます。
BatchedMarkerDataCount
pCompletedAPISequenceNumberLow0
コンテキストの API シーケンス番号を渡すためにドライバーによって使用されるポインター。
pCompletedAPISequenceNumberLow1
コンテキストの API シーケンス番号を渡すためにドライバーによって使用されるポインター。
pBegunAPISequenceNumberLow0
コンテキストの API シーケンス番号を渡すためにドライバーによって使用されるポインター。
pBegunAPISequenceNumberLow1
コンテキストの API シーケンス番号を渡すためにドライバーによって使用されるポインター。
pBatchedMarkerData
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
Header | d3dumddi.h (D3dumddi.h を含む) |