次の方法で共有


DXGK_SETVIDPNSOURCEADDRESS_FLAGS構造体 (d3dkmddi.h)

DXGK_SETVIDPNSOURCEADDRESS_FLAGS構造体は、ディスプレイ ミニポート ドライバーの DxgkDdiSetVidPnSourceAddressまたは DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay 関数の呼び出しで実行する特定の種類の操作を識別します。

構文

typedef struct _DXGK_SETVIDPNSOURCEADDRESS_FLAGS {
  union {
    struct {
      UINT ModeChange : 1;
      UINT FlipImmediate : 1;
      UINT FlipOnNextVSync : 1;
      UINT FlipStereo : 1;
      UINT FlipStereoTemporaryMono : 1;
      UINT FlipStereoPreferRight : 1;
      UINT SharedPrimaryTransition : 1;
      UINT IndependentFlipExclusive : 1;
      UINT MoveFlip : 1;
#if ...
      UINT Reserved : 23;
#elif
      UINT Reserved : 24;
#elif
      UINT Reserved : 25;
#else
      UINT Reserved : 29;
#endif
    };
         UINT Value;
  };
} DXGK_SETVIDPNSOURCEADDRESS_FLAGS;

メンバーズ

ModeChange

ドライバーが表示モードを切り替えるために指定する UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x00000001) の最初のビットを設定することと同じです。

FlipImmediate

垂直同期なしで発生するフリップ操作をドライバーが実行するように指定する UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x00000002) の 2 番目のビットを設定することと同じです。

FlipOnNextVSync

ドライバーが次の垂直同期で発生するフリップ操作を実行するように指定する UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x00000004) の 3 番目のビットを設定することと同じです。

[in] FlipStereo

Windows 8 以降でサポートされています。

ドライバーがステレオ割り当ての左右の画像の両方を反転するかどうかを指定します。

DXGK_SETVIDPNSOURCEADDRESS_FLAGS 構造体の FlipOnNextVSync メンバーが設定されている場合、ドライバーは次の VSync で左のイメージへのフリップを完了し、次の VSync で右の画像へのフリップを完了します。

FlipImmediateDXGK_SETVIDPNSOURCEADDRESS_FLAGS 構造体のメンバーが設定されている場合、ドライバーはすぐに新しい割り当てからスキャンアウトを開始します。 たとえば、ドライバーが適切なイメージをスキャンしていた場合、新しい割り当ての右側のイメージ内の同じ相対オフセットから新しいスキャンが開始されます。

FlipStereoFlipStereoTemporaryMono メンバーを同時に設定することはできません。

その他の要件については、「解説」セクションを参照してください。

このメンバーの設定は、32 ビット Value メンバー (0x00000008) の 4 番目のビットを設定することと同じです。

[in] FlipStereoTemporaryMono

Windows 8 以降でサポートされています。

ドライバーがステレオ フレームの左右の部分に対してステレオ割り当ての左側のイメージを使用するかどうかを指定します。 ドライバーは、FlipStereoと同じ現在の操作を実行します。ただし、ステレオ フレームの両方の画像を生成するために左の画像からのみスキャンする点が異なります。

このメンバーは、ドライバーが現在の表示モードでこのオプションのサポートを報告する場合にのみ、D3DKMDT_VIDPN_SOURCE_MODE 構造体の Type メンバーをD3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCANに設定する必要があります。

FlipStereoFlipStereoTemporaryMono メンバーを同時に設定することはできません。

FlipStereoTemporaryMonoFlipStereoPreferRight メンバーを同時に設定することはできません。

その他の要件については、「解説」セクションを参照してください。

このメンバーの設定は、32 ビット Value メンバー (0x00000010) の 5 番目のビットを設定することと同じです。

[in] FlipStereoPreferRight

Windows 8 以降でサポートされています。

ドライバーがモノラル モニターにステレオプライマリ割り当てを複製するときに、適切なイメージを使用することを指定します。

FlipStereoTemporaryMonoFlipStereoPreferRight メンバーを同時に設定することはできません。

その他の要件については、「解説」セクションを参照してください。

このメンバーの設定は、32 ビット Value メンバー (0x00000020) の 6 番目のビットを設定することと同じです。

[in] SharedPrimaryTransition

Windows 8 以降でサポートされています。

ドライバーが共有マネージド プライマリ割り当てとの間で切り替えを行っていることを指定します。

このメンバーは、次のいずれかの遷移が発生した場合に設定されます。

  • 現在のプライマリ割り当ては共有プライマリ割り当てではありませんが、新しい割り当ては共有プライマリ割り当てです。
  • 現在のプライマリ割り当ては共有プライマリ割り当てですが、新しい割り当ては行われません。
SharedPrimaryTransition 設定されている場合、ディスプレイ ミニポート ドライバーは、ハードウェアがプライマリと共有のプライマリ割り当てをシームレスに切り替えることができることを検証する必要があり、シームレスな切り替えを行うために必要なハードウェア プログラミングを実行する必要があります。

このメンバーの設定は、32 ビット Value メンバー (0x00000040) の 7 ビットを設定することと同じです。

[in] IndependentFlipExclusive

Windows 10 以降でサポートされています。

IndependentFlipExlusive 設定すると、反転は独立フリップ排他モードで実行されます。 フロント バッファーにはディスプレイ ハードウェア (DWM ではなく) のみがアクセスされ、カーネル モード ドライバーは垂直同期関連の最適化を適用できます。

[in] MoveFlip

Windows 10 以降でサポートされています。

MoveFlip 設定すると、以前のフリップから保存された状態を使用して新しいスキャンアウト要求を構成するようにドライバーに通知されます。

[in] Reserved

このメンバーは予約されており、0 に設定する必要があります。 このメンバーを 0 に設定することは、32 ビット Value メンバーの残りの 23 ビット (0xFFFFFF00) をゼロに設定することと同じです。

Value

操作の種類を識別する 32 ビット値を保持できる、DXGK_SETVIDPNSOURCEADDRESS_FLAGS含まれる共用体のメンバー。

備考

FlipStereo、flipStereoTemporaryMono 、または flipStereoPreferRight メンバーが設定されている場合は、次の条件が適用されます。

  • DXGKARG_SETVIDPNSOURCEADDRESS 構造体の hAllocation メンバーは、D3DKMT_DISPLAYMODE 構造体の Flags メンバーに設定された Stereo メンバーを使用して作成された割り当てを指します。
  • DXGKARG_SETVIDPNSOURCEADDRESSPrimarySegment および PrimaryAddress メンバーは、割り当ての開始物理アドレスをポイントします。
  • ドライバーは、DXGK_SETVIDPNSOURCEADDRESS_FLAGS 構造体の FlipImmediateFlipOnNextVSync メンバーの設定を受け入ります。
Windows 8 以降では、SharedPrimaryTransition メンバーが pSetVidPnSourceAddress ->Flagsで設定されている場合、ディスプレイ ミニポート ドライバーは DxgkDdiSetVidPnSourceAddress 関数の呼び出し失敗し、STATUS_INVALID_PARAMETERを返すことができます。 ただし、ユーザー モード ドライバーの CheckDirectFlipSupport 関数の実装またはデスクトップ ウィンドウ マネージャー (DWM) にエラーがない限り、このようなエラーは予想されません。 このようなエラーが発生した場合、オペレーティング システムはシームレスにコンポジション モードにフェールバックされず、プレゼンテーションが正しくありません。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista 以降で使用できます。
ヘッダー d3dkmddi.h (D3dkmddi.h を含む)

関連項目

D3DKMT_DISPLAYMODE

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS

DxgkDdiSetVidPnSourceAddress

DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay