マルチプレーン オーバーレイのサポート
マルチプレーン オーバーレイは、Windows ディスプレイ ドライバー モデル (WDDM) 1.3 以降のドライバーでサポートできます。 この機能は Windows 8.1 以降の新機能です。
これらのセクションでは、ドライバーにこの機能を実装する方法について説明します。
ユーザー モード ディスプレイ ドライバーによって呼び出されるマルチプレーン オーバーレイ関数
オペレーティング システムによって実装される、すべてのユーザー モード マルチプレーン オーバーレイ機能を掲載しています。
関数 | 説明 |
---|---|
pfnPresentMultiPlaneOverlayCb (D3D) | ソース マルチプレーン オーバーレイの割り当てからコピー先の割り当てにコンテンツをコピーします。 Windows ディスプレイ ドライバー モデル (WDDM) 1.3 以降のユーザー モード ディスプレイ ドライバーで呼び出せます。 |
pfnPresentMultiPlaneOverlayCb (DXGI) | ソース マルチプレーン オーバーレイの割り当てからコピー先の割り当てにコンテンツをコピーします。 WDDM 1.3 以降のユーザー モード ディスプレイ ドライバーで呼び出せます。 |
ユーザー モード ドライバーによって実装されるマルチプレーン オーバーレイ関数
このセクションでは、Windows ディスプレイ ドライバー モデル (WDDM) 1.3 以降のユーザー モード ディスプレイ ドライバーでマルチプレーン オーバーレイをサポートするために実装する必要がある関数について解説します。
ドライバーは、ユーザー モード ディスプレイ ドライバーのアダプター固有の CreateDevice(D3D10) 関数の呼び出しで、DXGI1_3_DDI_BASE_FUNCTIONS 構造体のメンバーを通じて DXGI マルチプレーン オーバーレイ関数へのポインターを提供します。 詳細については、「DXGI DDI のサポート」を参照してください。
ドライバーは、ドライバーの CreateDevice 関数の呼び出しで、D3DDDI_DEVICEFUNCS 構造体のメンバーを通じて Microsoft Direct3D マルチプレーン オーバーレイ関数へのポインターを提供します。
マルチプレーン オーバーレイをサポートするためにユーザー モード ドライバーが実装する必要がある、すべての関数を掲載しています。
関数 | 説明 |
---|---|
pfnCheckMultiPlaneOverlaySupport (D3D) | マルチプレーン オーバーレイのハードウェア サポートの詳細をチェックするために、Direct3D ランタイムによって呼び出されます。 |
pfnCheckMultiPlaneOverlaySupport (DXGI) | マルチプレーン オーバーレイのハードウェア サポートの詳細をチェックするために、Microsoft DirectX Graphics Infrastructure (DXGI) ランタイムによって呼び出されます。 |
pfnGetMultiPlaneOverlayCaps | ユーザー モード ディスプレイ ドライバーによる基本的なオーバーレイ プレーン機能の取得を要求するために、DXGI ランタイムによって呼び出されます。 必要に応じて、WDDM 1.3 以降のユーザー モード ディスプレイ ドライバーによって実装されます。 |
pfnGetMultiplaneOverlayGroupCaps | ユーザー モード ディスプレイ ドライバーによるオーバーレイ プレーン機能グループの取得を要求するために、DXGI ランタイムによって呼び出されます。 必要に応じて、WDDM 1.3 以降のユーザー モード ディスプレイ ドライバーによって実装されます。 |
pfnPresentMultiplaneOverlay (D3D) | ユーザー モード ディスプレイ ドライバーにアプリケーションがレンダリングを完了したことを通知し、コピーか反転によってソース サーフェスを表示するか、色の塗りつぶし操作を実行するようドライバーに要求するために、Direct3D ランタイムによって呼び出されます。 マルチプレーン オーバーレイをサポートする WDDM 1.3 以降のドライバーによって実装される必要があります。 |
pfnPresentMultiplaneOverlay (DXGI) | ユーザー モード ディスプレイ ドライバーにアプリケーションがレンダリングを完了したことを通知し、コピーか反転によってソース サーフェスを表示するか、色の塗りつぶし操作を実行するようドライバーに要求するために、DXGI ランタイムによって呼び出されます。 マルチプレーン オーバーレイをサポートする WDDM 1.3 以降のドライバーによって実装される必要があります。 |
マルチプレーン オーバーレイのユーザー モードの構造体と列挙型
マルチプレーン オーバーレイ デバイス ドライバー インターフェイス (DDI) で使用される、すべてのユーザー モードの構造体と列挙型を掲載しています。
DDI | 説明 |
---|---|
D3DDDI_MULTIPLANE_ALLOCATION_INFO | マルチプレーン オーバーレイの割り当てに関する情報を指定します。 |
D3DDDI_MULTIPLANE_OVERLAY_ATTRIBUTES | オーバーレイ プレーンの属性を指定するために、ユーザー モード ディスプレイ ドライバーによって使用されます。 |
D3DDDI_MULTIPLANE_OVERLAY_BLEND | オーバーレイ プレーンで実行されるブレンド操作を特定します。 |
D3DDDI_MULTIPLANE_OVERLAY_CAPS | オーバーレイ プレーンの機能を指定するために、ユーザー モード ディスプレイ ドライバーによって使用されます。 |
D3DDDI_MULTIPLANE_OVERLAY_FEATURE_CAPS | オーバーレイ機能を特定します。 |
D3DDDI_MULTIPLANE_OVERLAY_FLAGS | オーバーレイ プレーンで実行される反転操作を特定します。 |
D3DDDI_MULTIPLANE_OVERLAY_GROUP_CAPS | オーバーレイ プレーンの機能グループを指定するために、ユーザー モード ディスプレイ ドライバーによって使用されます。 |
D3DDDI_MULTIPLANE_OVERLAY_GROUP_CAPS_INPUT | マルチプレーン オーバーレイ機能グループの情報を指定します。 |
D3DDDI_MULTIPLANE_OVERLAY_STRETCH_QUALITY | ハードウェアがマルチプレーン オーバーレイ データを拡大または縮小するときに実行するフィルター処理を特定します。 |
D3DDDI_MULTIPLANE_OVERLAY_VIDEO_FRAME_FORMAT | オーバーレイ プレーンのビデオ フレーム形式を特定します。 D3DDDI_MULTIPLANE_OVERLAY_VIDEO_FRAME_FORMAT_PROGRESSIVE 値のみがサポートされています。 |
D3DDDI_MULTIPLANE_OVERLAY_YCbCr_FLAGS | マルチプレーン オーバーレイを記述する YUV の範囲と変換情報を特定します。 |
D3DDDI_PRESENT_MULTIPLANE_OVERLAY | 表示するオーバーレイ プレーンを指定します。 |
D3DDDIARG_CHECKMULTIPLANEOVERLAYSUPPORT | pfnCheckMultiPlaneOverlaySupport (D3D) 関数の呼び出しで、マルチプレーン オーバーレイのハードウェア サポートの詳細をチェックするために使用されます。 |
D3DDDIARG_PRESENTMULTIPLANEOVERLAY | 表示するマルチプレーン オーバーレイ リソースを指定します。 |
D3DDDICB_PRESENTMULTIPLANEOVERLAY | コンテンツのコピー先とコピー元のマルチプレーン オーバーレイの割り当てを記述します。 |
マルチプレーン オーバーレイ カーネル モード ドライバー実装関数
ディスプレイ ミニポート ドライバーが実装する、すべてのマルチプレーン オーバーレイ関数を記載しています。
関数 | 説明 |
---|---|
DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT | マルチプレーン オーバーレイのハードウェア サポートの詳細をチェックするために、Microsoft DirectX グラフィックス カーネル サブシステムによって呼び出されます。 |
DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT3 | 次の新しい関数は、特定のマルチプレーン オーバーレイ構成がサポートされているかどうかを判断するために呼び出されます。 |
DXGKDDI_GETMULTIPLANEOVERLAYCAPS | マルチプレーン オーバーレイ機能を取得するために呼び出されます。 複数のプレーンをサポートする WDDM 2.2 ドライバーでは、この DDI のサポートが必要です。 |
DXGKDDI_POSTMULTIPLANEOVERLAYPRESENT | ドライバーがハードウェアの状態を最適化できるようにするために、新しいマルチプレーン オーバーレイ構成が有効になった後で呼び出されます。 マルチプレーン オーバーレイをサポートする Windows Display Driver Model (WDDM) 2.0 以降のドライバーの場合は省略可能です。 |
DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 | 表示されているオーバーレイ構成を変更するために呼び出されます。 |
DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT2 | DxgkDdiCheckMultiPlaneOverlaySupport2 は、特定のマルチプレーン オーバーレイ構成がサポートされているかどうかを判断するために呼び出されます。 |
DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY | デスクトップ ウィンドウ マネージャー (DWM) のスワップチェーンなど、特定のビデオの存在のソースに関連付けられている複数のサーフェスのアドレスを設定します。 この関数は、複数のサーフェス (DWM のスワップチェーンなど) を画面に表示するために使用されます。 |
DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY2 | DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay2 は、表示されているオーバーレイ構成を変更するために呼び出されます。 |
マルチプレーン オーバーレイ カーネル モードの構造体
ディスプレイ ミニポート ドライバーによって使用される、すべての構造体を掲載しています。
構造体 | 説明 |
---|---|
DXGK_CHECK_MULTIPLANE_OVERLAY_SUPPORT_PLANE | ハードウェアがマルチプレーン オーバーレイに提供するサポート属性を指定します。 |
DXGK_CHECK_MULTIPLANE_OVERLAY_SUPPORT_RETURN_INFO | マルチプレーン オーバーレイのハードウェア サポートに関する制限を指定します。 |
DXGK_MULTIPLANE_OVERLAY_ATTRIBUTES | オーバーレイ プレーンの属性を指定するために、ディスプレイ ミニポート ドライバーによって使用されます。 |
DXGK_MULTIPLANE_OVERLAY_ATTRIBUTES2 | DXGK_MULTIPLANE_OVERLAY_ATTRIBUTES2 は、オーバーレイ プレーン属性を指定するために、ディスプレイ ミニポート ドライバーによって使用されます。 |
DXGK_MULTIPLANE_OVERLAY_BLEND | オーバーレイ プレーンで実行されるブレンド操作を特定します。 |
DXGK_MULTIPLANE_OVERLAY_FLAGS | オーバーレイ プレーンで実行される反転操作を特定します。 |
DXGK_MULTIPLANE_OVERLAY_PLANE | DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay 関数の呼び出しで表示するオーバーレイ プレーンを指定します。 |
DXGK_MULTIPLANE_OVERLAY_PLANE2 | DXGK_MULTIPLANE_OVERLAY_PLANE2 は、表示するオーバーレイ プレーンを指定するために、DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay2 関数と組み合わせて使用します。 |
DXGK_MULTIPLANE_OVERLAY_PLANE_WITH_SOURCE | DXGK_MULTIPLANE_OVERLAY_PLANE_WITH_SOURCE は、マルチプレーン オーバーレイ プレーンの属性、割り当て、Video Present Network のソース識別番号を記述します。 |
DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO | VSync 間隔中に表示するオーバーレイ プレーンを指定します。 |
DXGK_MULTIPLANE_OVERLAY_YCbCr_FLAGS | マルチプレーン オーバーレイを記述する YUV の範囲と変換情報を特定します。 |
DXGK_PRESENTMULTIPLANEOVERLAYINFO | VidPN 入力と表示するオーバーレイ プレーンに関する情報を指定します。 |
DXGK_PRESENTMULTIPLANEOVERLAYLIST | DxgkDdiPresent 関数の呼び出しで表示するオーバーレイ プレーンを指定します。 |
DXGKARG_CHECKMULTIPLANEOVERLAYSUPPORT | DxgkDdiCheckMultiPlaneOverlaySupport 関数の呼び出しで、マルチプレーン オーバーレイのハードウェア サポートの詳細をチェックするために使用されます。 |
DXGKARG_CHECKMULTIPLANEOVERLAYSUPPORT2 | DXGKARG_CHECKMULTIPLANEOVERLAYSUPPORT2 は、特定のマルチプレーン オーバーレイ構成がサポートされているかどうかを判断するために、DxgkDdiCheckMultiPlaneOverlaySupport2 関数に渡されます。 |
DXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY | DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay 関数の引数を格納します。 |
DXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY2 | DXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY2 は、表示されているオーバーレイ構成を変更するために、DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay2 関数に渡されます。 |
マルチプレーン オーバーレイ カーネル モードの列挙型
ディスプレイ ミニポート ドライバーによって使用される、すべての列挙型を掲載しています。
列挙 | 説明 |
---|---|
DXGK_MULTIPLANE_OVERLAY_STEREO_FLIP_MODE | オーバーレイ プレーンのステレオ フリップ モードを特定します。 DXGK_MULTIPLANE_OVERLAY_STEREO_FLIP_NONE 値のみがサポートされています。 |
DXGK_MULTIPLANE_OVERLAY_STEREO_FORMAT | オーバーレイ プレーンのステレオ表示形式を特定します。 DXGK_MULTIPLANE_OVERLAY_STEREO_FORMAT_MONO 値のみがサポートされています。 |
DXGK_MULTIPLANE_OVERLAY_STRETCH_QUALITY | ハードウェアがマルチプレーン オーバーレイ データを拡大または縮小するときに実行するフィルター処理を特定します。 |
DXGK_MULTIPLANE_OVERLAY_VIDEO_FRAME_FORMAT | オーバーレイ プレーンのビデオ フレーム形式を特定します。 DXGK_MULTIPLANE_OVERLAY_VIDEO_FRAME_FORMAT_PROGRESSIVE 値のみがサポートされています。 |
次のユーザー モードの列挙型は、マルチプレーン オーバーレイをサポートしていて、Windows 8.1 の新機能です。
- D3DDDICAPS_TYPE (D3DDDICAPS_GET_MULTIPLANE_OVERLAY_GROUP_CAPS 定数値)
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示