次の方法で共有


Multiplane オーバーレイ VidPN プレゼンテーション

マルチプレーン オーバーレイを使用する際には、これらの要件が Video Present Network (VidPN) 内の複数のサーフェスに表示するために使用される関数に適用されます。

DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay

  • DXGK_MULTIPLANE_OVERLAY_PLANE.Enabled が false の場合、ディスプレイ ミニポート ドライバーは、指定された平面を無効にする必要があります。
  • DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay に対する以前の呼び出しでプレーンが有効になっていて、現在の呼び出しに指示がない場合、ドライバーは引き続きプレーンを反転せずに表示し続ける必要があります。
  • 同一の VSync 中に、ドライバーが DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay に対する複数の呼び出しを受け取る可能性があります (あるプレーンを反転するための呼び出しと別のプレーンを反転するための別の呼び出し)。 この場合、ドライバーは両方の呼び出しを処理することになります。
  • 渡されるデータは、信頼できるソースによってユーザー モードで検証されているはずです。 それでもディスプレイ ミニポート ドライバーは、問題が発生しないように、引き続きデータをチェックする必要があります。 データが正しくない場合、ドライバーは STATUS_INVALID_PARAMETER エラー コードで呼び出しを失敗させることができますが、このようなエラーが適切に処理されず、オペレーティング システムかユーザー モード ドライバーのバグとして現れる可能性があります。

DxgkDdiSetVidPnSourceVisibility
この関数の呼び出しで特定のソースについて DXGKARG_SETVIDPNSOURCEVISIBILITY.VisibleFALSE に設定する場合は、プライマリ サーフェスに使用するレイヤーを含めて、すべてのハードウェア プレーンを無効にする必要があります。 VisibleTRUE に設定する場合は、プライマリ サーフェスに使用されるプレーンのみを有効にし、他のすべてのプレーンを無効のままにする必要があります。

DxgkDdiSetVidPnSourceAddress
この関数が呼び出されると、ドライバーはプライマリ以外のすべてのオーバーレイ プレーンを無効にします。 マルチプレーン オーバーレイ モードでは、プライマリ サーフェスは DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay を使用して反転されます。