次の方法で共有


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

関連項目

D3DDDICB_RENDERFLAGS

D3DDDI_ALLOCATIONLIST

D3DDDI_PATCHLOCATIONLIST

pfnRenderCb