次の方法で共有


D3DKMT_RENDER構造体 (d3dkmthk.h)

D3DKMT_RENDER構造体は、レンダリングする現在のコマンド バッファーを記述します。

構文

typedef struct _D3DKMT_RENDER {
  union {
    [in]     D3DKMT_HANDLE hDevice;
    [in]     D3DKMT_HANDLE hContext;
  };
  [in]     UINT                                  CommandOffset;
  [in]     UINT                                  CommandLength;
  [in]     UINT                                  AllocationCount;
  [in]     UINT                                  PatchLocationCount;
  [out]    VOID                                  *pNewCommandBuffer;
  [in/out] UINT                                  NewCommandBufferSize;
  [out]    D3DDDI_ALLOCATIONLIST                 *pNewAllocationList;
  [in/out] UINT                                  NewAllocationListSize;
  [out]    D3DDDI_PATCHLOCATIONLIST              *pNewPatchLocationList;
  [in/out] UINT                                  NewPatchLocationListSize;
  [in]     D3DKMT_RENDERFLAGS                    Flags;
  [in]     D3DKMT_ALIGN64 ULONGLONG              PresentHistoryToken;
  [in]     ULONG                                 BroadcastContextCount;
           D3DKMT_HANDLE                         BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
  [out]    ULONG                                 QueuedBufferCount;
  [out]    D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS NewCommandBuffer;
           VOID                                  *pPrivateDriverData;
           UINT                                  PrivateDriverDataSize;
} D3DKMT_RENDER;

メンバーズ

[in] hDevice

コマンド バッファーがレンダリングされるデバイスへのカーネル モード ハンドルを表すD3DKMT_HANDLEデータ型。 デバイス ハンドルは、Microsoft Direct3D バージョン 10 との互換性のために含まれる共用体の D3DKMTRender 関数D3DKMT_RENDER提供されます。

[in] hContext

コマンド バッファーがレンダリングされるデバイス コンテキストへのカーネル モード ハンドルを表すD3DKMT_HANDLEデータ型。

[in] CommandOffset

コマンド バッファー内の最初のコマンドへのオフセット (バイト単位)。

[in] CommandLength

オフセット 0 から始まるコマンド バッファーのサイズ (バイト単位)。

[in] AllocationCount

送信された割り当てリスト内の要素の数。

[in] PatchLocationCount

送信されたパッチの場所リスト内の要素の数。

[out] pNewCommandBuffer

D3DKMTRender 関数への次の呼び出しで OpenGL ICD が使用するために受け取るコマンド バッファーへのポインター。 ドライバーは、呼び出しが成功したかどうかに関係なく、D3DKMTRender への呼び出しの後、常にコマンド バッファーへのポインターを更新する必要があります。

Windows 7 以降のバージョンでサポートされています。

[in]RenderKm フラグが Flags メンバーに設定されている場合にレンダリングされるコマンド バッファーへのポインター。

[in/out] NewCommandBufferSize

Flags メンバーで ResizeCommandBuffer ビット フィールド フラグが指定されている場合に、OpenGL ICD が次のコマンド バッファーに対して要求するサイズ (バイト単位)。 ResizeCommandBuffer 指定されていない場合、NewCommandBufferSize 値は無視されます。 出力時に、ドライバーは次に使用するコマンド バッファーのサイズ (バイト単位) を受け取ります。

現在のメモリ条件によっては、出力サイズが入力サイズと一致しない場合があります。

[out] pNewAllocationList

D3DKMTRender 関数の次の呼び出しで、OpenGL ICD が割り当てリストとして使用するために受け取る D3DDDI_ALLOCATIONLIST 構造体の配列。 ドライバーは、呼び出しが成功したかどうかに関係なく、D3DKMTRender への呼び出しの後、割り当てリストへのポインターを常に更新する必要があります。

Windows 7 以降のバージョンでサポートされています。

[in]RenderKm フラグが Flags メンバーに設定されている場合にレンダリングされる割り当てリストへのポインター。

[in/out] NewAllocationListSize

Flags メンバーで ResizeAllocationList ビット フィールド フラグが指定されている場合に、OpenGL ICD が次の割り当てリストに対して要求する要素の数。 ResizeAllocationList 指定されていない場合、NewAllocationListSize の値は無視されます。 出力時に、ドライバーは、次のコマンド バッファーが送信されたときに割り当ての配列で使用できる要素の数を受け取ります。

現在のメモリ条件によっては、出力サイズが入力サイズと一致しない場合があります。

[out] pNewPatchLocationList

D3DKMTRender 関数の次の呼び出しで、OpenGL ICD がパッチ位置リストとして使用するために受け取る D3DDDI_PATCHLOCATIONLIST 構造体の配列。 ドライバーは、呼び出しが成功したかどうかに関係なく、D3DKMTRender への呼び出しの後、常に修正プログラムの場所の一覧へのポインターを更新する必要があります。

[in/out] NewPatchLocationListSize

Flags メンバーで ResizePatchLocationList ビット フィールド フラグが指定されている場合に、OpenGL ICD が次のパッチ位置リストに対して要求する要素の数。 ResizePatchLocationList 指定されていない場合、NewPatchLocationListSize の値は無視されます。 出力時に、ドライバーは、次のコマンド バッファーが送信されたときに、パッチの場所の配列で使用できる要素の数を受け取ります。

現在のメモリ条件によっては、出力サイズが入力サイズと一致しない場合があります。

[in] Flags

レンダリングするコマンド バッファーの種類をビット フィールド フラグで示す D3DKMT_RENDERFLAGS 構造体。

[in] PresentHistoryToken

ディスプレイ ミニポート ドライバーの DxgkDdiPresent 関数へのリダイレクトされた呼び出しの現在の履歴トークン。

表示履歴トークン は、レンダリング アプリが送信するデータ パケットで、レンダリングが完了し、スワップ チェーン バック バッファーを表示する準備ができていることをデスクトップ ウィンドウ マネージャー (DWM) に通知します。

[in] BroadcastContextCount

BroadcastContext が指定 配列内の追加コンテキストの数。

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

現在のコマンド バッファーをブロードキャストする追加のコンテキストへのカーネル モード ハンドルを表すD3DKMT_HANDLEデータ型の配列。 D3DDDI_MAX_BROADCAST_CONTEXT定数 (64) は、OpenGL ICD が現在のコマンド バッファーをブロードキャストできるコンテキストの最大数を定義します。

hContext メンバーが指定し、コマンド バッファーを所有する元のコンテキストは、BroadcastContext 配列内の要素ではありません。 たとえば、BroadcastContext 配列に 1 つの要素が含まれている場合、OpenGL ICD はコマンド バッファーを所有コンテキスト (hContext) に送信し、その 1 つの追加コンテキストにブロードキャストします。

[out] QueuedBufferCount

hContext メンバーが送信後に指定するコンテキストにキューに登録される DMA バッファーの数。

[out] NewCommandBuffer

D3DKMTRender 関数への次の呼び出しで OpenGL ICD が使用するために受け取るコマンド バッファーへのポインター。 ドライバーは、呼び出しが成功したかどうかに関係なく、D3DKMTRender への呼び出しの後、常にコマンド バッファーへのポインターを更新する必要があります。

Windows 7 以降のバージョンでサポートされています。

[in]RenderKm フラグが Flags メンバーに設定されている場合にレンダリングされるコマンド バッファーへのポインター。

pPrivateDriverData

このメンバーは予約されており、0 に設定する必要があります。

このメンバーは、Windows 7 以降で使用できます。

PrivateDriverDataSize

このメンバーは予約されており、0 に設定する必要があります。

このメンバーは、Windows 7 以降で使用できます。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista
ヘッダー d3dkmthk.h (D3dkmthk.h を含む)

関連項目

D3DKMTRender

D3DKMT_RENDERFLAGS

DxgkDdiPresent