DXGI_SWAP_CHAIN_FLAG列挙 (dxgi.h)

スワップ チェーン動作のオプション。

構文

typedef enum DXGI_SWAP_CHAIN_FLAG {
  DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1,
  DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2,
  DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4,
  DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT = 8,
  DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER = 16,
  DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY = 32,
  DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT = 64,
  DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER = 128,
  DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO = 256,
  DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO = 512,
  DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 1024,
  DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING = 2048,
  DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS = 4096
} ;

定数

 
DXGI_SWAP_CHAIN_FLAG_NONPREROTATED
値: 1
このフラグを設定して、画像の自動回転をオフにします。つまり、フロント バッファーの内容をモニターに転送するときに回転を実行しないでください。
このフラグは、アプリケーションがローテーションを処理する必要がある場合に帯域幅のペナルティを回避するために使用します。 このオプションは、全画面表示モードの場合にのみ有効です。
DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH
値: 2
IDXGISwapChain::ResizeTarget を呼び出して、アプリケーションがモードを切り替えるようにするには、このフラグを設定します。
ウィンドウ モードから全画面表示モードに切り替えると、アプリケーション ウィンドウのサイズに合わせて表示モード (またはモニターの解像度) が変更されます。
DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE
値: 4
このフラグを設定すると、アプリケーションが GDI を使用してスワップ チェーンまたはサーフェスにレンダリングできるようになります。
これにより、アプリケーションは 0 番目のバック バッファーまたはサーフェスで IDXGISurface1::GetDC を呼び出すことができます。

このフラグは、Direct3D 12には適用されません。
DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT
値: 8
スワップ チェーンに保護されたコンテンツが含まれている可能性があることを示すには、このフラグを設定します。そのため、オペレーティング システムでは、ドライバーとハードウェアの保護が使用されている場合にのみ、スワップ チェーンの作成がサポートされます。 ドライバーとハードウェアがコンテンツ保護をサポートしていない場合、スワップ チェーンのリソースを作成する呼び出しは失敗します。

Direct3D 11: この列挙値は、Windows 8 以降でサポートされています。
DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER
値: 16
このフラグを設定すると、スワップ チェーン内で作成された共有リソースは、共有サーフェスへのアクセスを制限するためのドライバーのメカニズムを使用して保護する必要があります。

Direct3D 11: この列挙値は、Windows 8 以降でサポートされています。
DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY
値: 32
表示されるコンテンツをローカルディスプレイに制限するには、このフラグを設定します。 そのため、提示されたコンテンツは、リモート アクセスまたは デスクトップ重複 API を介してアクセスできません。

このフラグは、Windows のウィンドウ コンテンツ保護機能をサポートします。 アプリケーションでは、このフラグを使用して、特定のパブリック オペレーティング システム機能と API のセットを介してキャプチャまたはコピーされないように、独自の画面上のウィンドウ コンテンツを保護できます。

別のプロセスが HWND を作成したウィンドウ (HWND または IWindow) スワップ チェーンでこのフラグを使用する場合、IDXGISwapChain::P resent または IDXGISwapChain1::Present1 の呼び出しを成功させるには、HWND の所有者が SetWindowDisplayAffinity 関数を適切に使用する必要があります。


Direct3D 11: この列挙値は、Windows 8 以降でサポートされています。
DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT
値: 64
フレームの表示中にレンダリングが開始されないようにするために使用できる待機可能なオブジェクトを作成するには、このフラグを設定します。 このフラグを使用する場合、スワップチェーンの待機時間は、IDXGIDevice1::SetMaximumFrameLatency ではなく IDXGISwapChain2::SetMaximumFrameLatency API で設定する必要があります。

レンダー API がDirect3D 12されていない限り、このフラグは全画面表示モードではサポートされません。

メモこの列挙値は、Windows 8.1 以降でサポートされています。
DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER
値: 128
マルチプレーン レンダリング用の前景レイヤーにスワップ チェーンを作成するには、このフラグを設定します。 このフラグは、CreateSwapChainForCoreWindow で作成された CoreWindow スワップ チェーンでのみ使用できます。 IDXGIOutput2::SupportsOverlays がオーバーレイのハードウェア サポートを利用できないと示している場合、アプリはフォアグラウンド スワップ チェーンを作成しないでください。

IDXGISwapChain::ResizeBuffers を使用してこのフラグを追加または削除することはできません。

メモこの列挙値は、Windows 8.1 以降でサポートされています。
DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO
値: 256
全画面表示ビデオのスワップ チェーンを作成するには、このフラグを設定します。

メモこの列挙値は、Windows 8.1 以降でサポートされています。
DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO
値: 512
YUV ビデオのスワップ チェーンを作成するには、このフラグを設定します。

メモこの列挙値は、Windows 8.1 以降でサポートされています。
DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED
値: 1024
すべての基になるリソースをハードウェアで保護できるように、スワップ チェーンを作成する必要があることを示します。 ハードウェア コンテンツ保護がサポートされていない場合、リソースの作成は失敗します。

このフラグには、次の制限があります。


  • このフラグは、スワップ効果 DXGI_SWAP_EFFECT_FLIP_SEQUENTIALでのみ使用できます。


メモ このフラグを使用してスワップ チェーンを作成しても、基になる割り当てに対してハードウェア保護が有効になることは自動的には保証されません。 一部の実装では、保護が保証される前に、DRM コンポーネントを最初に初期化する必要があります。

 

メモこの列挙値は、Windows 10 以降でサポートされています。
DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING
値: 2048
ティアリング サポートは、アプリケーションが全画面表示の境界線のないウィンドウに関連付けられたスワップ チェーンを提示するときに、可変リフレッシュ レートをサポートするディスプレイを適切に機能させる要件です。 Win32 アプリは 既に SetFullscreenState(TRUE) を呼び出すことで全画面表示排他モードで破棄を実現できますが、Win32 開発者には代わりにこのティアリング フラグを使用することをお勧めします。 このフラグでは、 DXGI_SWAP_EFFECT_FLIP_* スワップ効果を使用する必要があります。

この機能のハードウェア サポートをチェックするには、IDXGIFactory5::CheckFeatureSupport を参照してください。 使用情報については、 IDXGISwapChain::P resent および DXGI_PRESENT フラグを参照してください。

IDXGISwapChain::ResizeBuffers を使用して、このフラグを追加または削除することはできません。

DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS
値: 4096

注釈

この列挙は、 DXGI_SWAP_CHAIN_DESC 構造体と IDXGISwapChain::ResizeTarget メソッドによって使用されます。

この列挙体は、 DXGI_SWAP_CHAIN_DESC1 構造体でも使用されます。

IDXGIFactory::CreateSwapChain メソッドを使用して全画面表示モードで作成するスワップ チェーンのDXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLYを設定する必要はありません。これらのスワップ チェーンは既にDXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY設定されているかのように動作するためです。 つまり、提示されたコンテンツは、リモート アクセスまたは デスクトップ重複 API を介してアクセスできません。

IDXGIFactory2::CreateSwapChainForHwndIDXGIFactory2::CreateSwapChainForCoreWindow、および IDXGIFactory2::CreateSwapChainForComposition メソッドを使用して作成したスワップ チェーンは、DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLYが設定されていない場合は保護されず、DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLYが設定されている場合は保護されます。 スワップ チェーンを保護すると、画面スクレイピングが防止され、全画面表示モードでは、 デスクトップ重複 API を介して表示されるコンテンツにアクセスできません。

IDXGISwapChain::ResizeBuffers を呼び出してスワップ チェーンのバック バッファーを変更すると、すべてのDXGI_SWAP_CHAIN_FLAG フラグをリセットまたは変更できます。

要件

要件
Header dxgi.h

こちらもご覧ください

DXGI 列挙