D3DDDICB_SUBMITCOMMAND構造体 (d3dumddi.h)
D3DDDICB_SUBMITCOMMAND 構造体は、グラフィックス処理装置 (GPU) 仮想アドレス指定をサポートするコンテキストでコマンド バッファーを送信するために使用されます。
構文
typedef struct _D3DDDICB_SUBMITCOMMAND {
D3DGPU_VIRTUAL_ADDRESS Commands;
UINT CommandLength;
D3DDDICB_SUBMITCOMMANDFLAGS Flags;
UINT BroadcastContextCount;
HANDLE BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
VOID *pPrivateDriverData;
UINT PrivateDriverDataSize;
UINT NumPrimaries;
D3DKMT_HANDLE WrittenPrimaries[D3DDDI_MAX_WRITTEN_PRIMARIES];
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;
};
UINT Reserved;
UINT NumHistoryBuffers;
D3DKMT_HANDLE *HistoryBufferArray;
HANDLE hSyncToken;
void *pReserved;
} D3DDDICB_SUBMITCOMMAND;
メンバーズ
Commands
実行のためにコンテキストに送信されるコマンドへの GPU 仮想アドレス。 この情報は、コマンドの送信中にカーネル モード ドライバーに提供され、デバッグ目的にも使用されます。
CommandLength
GPU に送信されるコマンドの長さをバイト単位で指定します。 この情報は、コマンドの送信中にカーネル モード ドライバーに提供され、デバッグ目的にも使用されます。
Flags
D3DDDICB_SUBMITCOMMANDFLAGS 構造体のインスタンス。
BroadcastContextCount
これらのコマンドを送信するコンテキストの数を指定します。 この数は少なくとも 1 である必要があります。
BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
指定したコマンドを実行するコンテキストのハンドルを指定します。
pPrivateDriverData
この申請の一部としてカーネル モード ドライバーに渡されるドライバーのプライベート データへのポインター。
PrivateDriverDataSize
渡されるプライベート ドライバー データ情報のサイズ。 このサイズは、プライベート ドライバー データを送信するためにカーネル モード ドライバーによって要求されたサイズよりも小さくする必要があります。
NumPrimaries
送信されたコマンドによって書き込まれるプライマリ バッファーとスワップチェーン バック バッファーの数を指定します。 これは、WrittenPrimaries 配列内の割り当ての数と同じです。
WrittenPrimaries[D3DDDI_MAX_WRITTEN_PRIMARIES]
送信されたコマンドによって書き込まれるプライマリ バッファーとスワップチェーン バック バッファーへのハンドルの配列。
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
コンテキストのバッチ マーカー データを渡すためにドライバーによって使用されるポインター。
Reserved
このメンバーは予約されており、0 に設定する必要があります。
NumHistoryBuffers
履歴バッファーの数。
HistoryBufferArray
履歴バッファーの配列へのポインター。
hSyncToken
pReserved
備考
pfnSubmitCommandCb コード パスは、このコマンド中に読み取りおよび書き込みされる割り当ての一覧を提供するユーザー モード ドライバーの割り当てリストを提供しなくなりました。 ただし、通常は割り当てリストがないと認識されない書き込みを同期する必要があります。 このため、コンテンツの書き込みと表示に使用されるサーフェス専用の新しい小さな割り当てリストです。 このような割り当てを提供するには、WrittenPrimaries 配列を使用する必要があります。
名前に関わらず、WrittenPrimaries には、プライマリに加えてランタイムに従って swapChainBackBuffer 割り当て 考慮される割り当てが含まれている必要があります。 これは、D3D10_DDI_RESOURCE_MISC_FLAGの新しいフラグによってユーザー モード ドライバーに公開されます。 ランタイムは、FlipEx スワップチェーン またはプライマリ として作成されたリソースまたはヒープを作成する呼び出し中に、D3DWDDM2_0DDI_RESOURCE_MISC_DISPLAYABLE_SURFACE フラグユーザー モード ドライバーに提供します。 ドライバーは、このフラグを使用して、Microsoft Direct3D 11 の WrittenPrimaries リストに配置する必要があるすべての割り当てを決定できます。 他のランタイムは変更されていません。
ドライバーは、このフラグを持つ CreateResource への呼び出しを受け取る場合は、サーフェスに書き込むすべての pfnSubmitCommandCb 呼び出しで、割り当てをこの一覧に追加する必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 10 |
サポートされる最小サーバー | Windows Server 2016 |
ヘッダー | d3dumddi.h (D3dumddi.h を含む) |
関連項目
pfnRenderCbの
pfnSubmitCommandCbの