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
[in]オフセット 0 から始まるコマンド バッファーのサイズ (バイト単位)。
CommandOffset
[in]コマンド バッファー内の最初のコマンドへのオフセット (バイト単位)。
NumAllocations
[in]割り当てリスト内の要素の数。
NumPatchLocations
[in]パッチの場所リスト内の要素の数。
pNewCommandBuffer
[out]pfnRenderCb 関数への次の呼び出しでユーザー モード ディスプレイ ドライバーが使用するために受け取るコマンド バッファーへのポインター。
NewCommandBufferSize
[入力/出力]ユーザー モード ディスプレイ ドライバーが次のコマンド バッファーを要求するサイズ (バイト単位)。
ドライバーは、使用する次のコマンド バッファーのサイズ (バイト単位) を受け取ります。
pNewAllocationList
[out]pfnRenderCb 関数の次の呼び出しで、ユーザー モード ディスプレイ ドライバーが割り当てリストとして使用するために受け取る D3DDDI_ALLOCATIONLIST 構造体の配列。
NewAllocationListSize
[入力/出力]ユーザー モードディスプレイ ドライバーが次の割り当てリストに対して要求する要素の数。
ドライバーは、次のコマンド バッファーが送信されたときに使用できる割り当てリストの要素の数を受け取ります。
pNewPatchLocationList
[out]pfnRenderCb 関数への次の呼び出しで、ユーザー モードディスプレイ ドライバーがパッチ位置リストとして使用するために受け取る D3DDDI_PATCHLOCATIONLIST 構造体の配列。
NewPatchLocationListSize
[入力/出力]ユーザー モードのディスプレイ ドライバーが次のパッチの場所の一覧を要求する要素の数。
ドライバーは、次のコマンド バッファーが送信されたときに使用できるパッチの場所の一覧の要素の数を受け取ります。
Flags
[in]レンダリングするコマンド バッファーに関する情報を示す D3DDDICB_RENDERFLAGS 構造体。
hContext
[in]ドライバーがレンダリング操作を送信するコンテキストへのハンドル。 ユーザー モードのディスプレイ ドライバーは、pfnCreateContextCb 関数を呼び出すことによって、このコンテキストを以前に作成しました。
BroadcastContextCount
[in]BroadcastContext メンバーが指定する配列内の追加コンテキストの数。
BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
[in]現在のコマンド バッファーをブロードキャストする追加のコンテキストへのハンドルの配列。 D3DDDI_MAX_BROADCAST_CONTEXT定数 (64 と定義) は、ユーザー モード ディスプレイ ドライバーが現在のコマンド バッファーをブロードキャストできる追加コンテキストの最大数を定義します。
hContext メンバーが指定し、コマンド バッファーを所有する元のコンテキストは、BroadcastContext 配列内の要素ではありません。 たとえば、BroadcastContext 配列に 1 つの要素が含まれている場合、ユーザー モードディスプレイ ドライバーは、コマンド バッファーを所有コンテキスト (hContext) に送信し、その 1 つの追加コンテキストにブロードキャストします。
QueuedBufferCount
[out]hContext メンバーが現在の申請の発生後に指定するコンテキストにキューに入れられている DMA バッファーの数。
NewCommandBuffer
このメンバーは予約されており、0 に設定する必要があります。
このメンバーは、Windows 7 以降で使用できます。
pPrivateDriverData
[in]このメンバーは予約されており、0 に設定する必要があります。
このメンバーは、Windows 7 以降で使用できます。
PrivateDriverDataSize
[in]このメンバーは予約されており、0 に設定する必要があります。
このメンバーは、Windows 7 以降で使用できます。
MarkerLogType
ユーザー モード ディスプレイ ドライバーがサポートする 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 |
ヘッダー | d3dumddi.h (D3dumddi.h を含む) |
関連項目
pfnRenderCbの