次の方法で共有


VidPN ハードウェア機能のクエリ

Windows 7 以降では、ディスプレイ ミニポート ドライバーは、指定された機能 VidPN のすべてのハードウェア機能を報告する必要があります。 ドライバーは、次のコールバック関数とそれに関連付けられている構造体をサポートする必要があります。

ドライバーが、ハードウェア機能を報告する場合、クローンの作成をローテーションまたはスケーリング変換の一部として行われる暗黙的なプロシージャであると考える必要があります。ソースはまずはクローンを作成しないと、回転またはスケーリングできるようにはなりません。

D3DKMDT_VIDPN_HW_CAPABILITY のメンバーのいずれかが、指定された VidPN パスで意味を持たない場合、メンバーが 0 以外の値に設定されていると、ディスプレイ モード マネージャー (DMM) はエラーを報告しません。 DMM は、ユーザー モード クライアントに報告する前に、このような値をすべてクリアします。 ただし、ドライバーは、D3DKMDT_VIDPN_HW_CAPABILITY の Reserved メンバーの値を 0 に設定する必要があります。

サンプル シナリオ

ディスプレイ ミニポート ドライバーがハードウェア機能を報告する方法を示すには、次のハードウェア構成セット P1、P2、および P3 の例を考えてみてください。

  • P1: サーフェスは、ソース S1 からクローンが作成された後、90 度回転し、ターゲットに合わせて拡大縮小されます。

  • P2: サーフェスは、ソース S1 からクローンが作成されますが、変換は適用されません。

  • P3: ソース S2 には変換は適用されていません。

DxgkDdiQueryVidPnHWCapability が呼び出されると、ドライバーは次の表に従って、D3DKMDT_VIDPN_HW_CAPABILITY の回転、スケーリング、およびクローン作成の各メンバーの値を返す必要があります。

D3DKMDT_VIDPN_HW_CAPABILITY ハードウェア機能 VidPN パス DriverRotation DriverScaling DriverCloning Hardware のメンバーの戻り値は、回転、スケーリング、およびクローン作成のすべての変換を実行できます。

P₁

0

0

0

P₂

0

0

0

P₃

0

0

0

ハードウェアは、クローン作成を除くすべての変換を実行できます。

P₁

0

0

0

P₂

0

0

1

P₃

0

0

0

ハードウェアは、クローン作成とスケーリングの変換を実行できますが、回転は実行できません。 ドライバーは、中間回転 blit を使用して、回転を実行します。

P₁

1

0

0

P₂

0

0

0

P₃

0

0

0

ハードウェアは、クローン作成、スケーリング、および回転変換を実行できません。 これらの操作はドライバーによって実行されます。

P₁

1

1

0

P₂

0

0

1

P₃

0

0

0