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
現在のメモリ条件によっては、出力サイズが入力サイズと一致しない場合があります。
[out] pNewAllocationList
D3DKMTRender 関数の次の呼び出しで、OpenGL ICD が割り当てリストとして使用するために受け取る D3DDDI_ALLOCATIONLIST 構造体の配列。 ドライバーは、呼び出しが成功したかどうかに関係なく、D3DKMTRender への呼び出しの後、割り当てリストへのポインターを常に更新する必要があります。
Windows 7 以降のバージョンでサポートされています。
[in]RenderKm フラグが Flags メンバーに設定されている場合にレンダリングされる割り当てリストへのポインター。
[in/out] NewAllocationListSize
Flags メンバーで ResizeAllocationList ビット フィールド フラグが指定されている場合に、OpenGL ICD が次の割り当てリストに対して要求する要素の数。 ResizeAllocationList
現在のメモリ条件によっては、出力サイズが入力サイズと一致しない場合があります。
[out] pNewPatchLocationList
D3DKMTRender 関数の次の呼び出しで、OpenGL ICD がパッチ位置リストとして使用するために受け取る D3DDDI_PATCHLOCATIONLIST 構造体の配列。 ドライバーは、呼び出しが成功したかどうかに関係なく、D3DKMTRender への呼び出しの後、常に修正プログラムの場所の一覧へのポインターを更新する必要があります。
[in/out] NewPatchLocationListSize
Flags メンバーで ResizePatchLocationList ビット フィールド フラグが指定されている場合に、OpenGL ICD が次のパッチ位置リストに対して要求する要素の数。 ResizePatchLocationList
現在のメモリ条件によっては、出力サイズが入力サイズと一致しない場合があります。
[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 を含む) |