PFND3D11_1DDI_CHECKDIRECTFLIPSUPPORT コールバック関数 (d3d10umddi.h)

デスクトップ ウィンドウ マネージャー (DWM) によって呼び出され、ユーザー モード ドライバーが Direct Flip 操作をサポートしていることを確認します。この操作では、アプリケーションのマネージド プライマリ割り当てと DWM のマネージド プライマリ割り当ての間でビデオ メモリがシームレスに反転されます。

構文

PFND3D11_1DDI_CHECKDIRECTFLIPSUPPORT Pfnd3d111DdiCheckdirectflipsupport;

void Pfnd3d111DdiCheckdirectflipsupport(
        D3D10DDI_HDEVICE unnamedParam1,
        D3D10DDI_HRESOURCE unnamedParam2,
        D3D10DDI_HRESOURCE unnamedParam3,
        UINT CheckDirectFlipFlags,
  [out] BOOL *pSupported
)
{...}

パラメーター

unnamedParam1

hDevice [in]

ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。

unnamedParam2

hResource1

アプリケーションのスワップチェーン内のリソース。

unnamedParam3

hResource2

DWM のスワップチェーン内のリソース。

CheckDirectFlipFlags

このパラメーターの値が D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE の場合は、シームレスな反転が直ちに行われ、VSync 割り込みと同期する必要はありません。

[out] pSupported

ドライバーがアプリケーションのマネージド プライマリ割り当てと DWM のマネージド プライマリ割り当ての間でビデオ メモリをシームレスに反転できる場合は 、TRUE に 設定します。 それ以外の場合は、FALSE に設定 します

戻り値

なし

解説

この関数は、DWM が Direct Flip スワップチェーンへの提示を試みる前に、少なくとも 1 回呼び出されます。 また、各モード変更が発生した後、または DWM が何らかの理由で独自のスワップチェーンを再作成した後にも呼び出されます。

ユーザー モード ドライバーは、アプリケーションと DWM のマネージド プライマリ割り当てに、次の互換性のあるリソースがあることを確認する必要があります。

  • ステレオ リソース。
  • 複数のサンプルアンチエイリアシング (MSAA) 形式。
  • スウィズル形式。 swizzle を VSync 間隔ごとに変更できる場合は、 CheckDirectFlipFlags パラメーターの値 がD3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATEされていないことを確認します。
  • 両方のマネージド プライマリ割り当ては、D3DDDI_ALLOCATIONINFO構造体で同じ VidPnSourceId 値を使用して作成する必要があります。
  • ディスプレイ アダプターの構成がリンクされています。
ユーザー モード ドライバーは、これらの検証を実行するためにカーネル モード ドライバーを呼び出す必要がある場合があります。 これを行うには、 pfnEscapeCb コールバック関数を呼び出し、 DxgkCbGetHandleData 関数を呼び出して、カーネル モード ドライバーのリソース割り当てデータにアクセスします。

要件

要件
サポートされている最小のクライアント Windows 8
サポートされている最小のサーバー Windows Server 2012
対象プラットフォーム デスクトップ
Header d3d10umddi.h (D3d10umddi.h を含む)

こちらもご覧ください

D3D11_1_DDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_ALLOCATIONINFO

DxgkCbGetHandleData

pfnEscapeCb