IDXGISwapChain3::ResizeBuffers1 メソッド (dxgi1_4.h)

スワップ チェーンのバック バッファー サイズ、形式、バッファー数を変更します。このバッファーは、入力デバイスとして D3D12 コマンド キューを使用してスワップ チェーンが作成されました。 これは、アプリケーション ウィンドウのサイズを変更するときに呼び出す必要があります。

構文

HRESULT ResizeBuffers1(
  [in] UINT        BufferCount,
  [in] UINT        Width,
  [in] UINT        Height,
  [in] DXGI_FORMAT Format,
  [in] UINT        SwapChainFlags,
  [in] const UINT  *pCreationNodeMask,
  [in] IUnknown    * const *ppPresentQueue
);

パラメーター

[in] BufferCount

型: UINT

スワップ チェーン内のバッファーの数 (すべてのバック バッファーとフロント バッファーを含む)。 この数は、スワップ チェーンを作成したバッファーの数とは異なる場合があります。 この数値を DXGI_MAX_SWAP_CHAIN_BUFFERSより大きくすることはできません。 スワップ チェーン内のバッファーの既存の数を保持するには、この数を 0 に設定します。 フリップ プレゼンテーション モデルには、2 つ未満のバッファーを指定することはできません。

[in] Width

型: UINT

バック バッファーの新しい幅。 ゼロを指定した場合、DXGI はターゲット ウィンドウのクライアント領域の幅を使用します。 IDXGIFactory2::CreateSwapChainForComposition メソッドを呼び出してコンポジション サーフェスのスワップ チェーンを作成した場合、幅をゼロとして指定することはできません。

[in] Height

型: UINT

バック バッファーの新しい高さ。 ゼロを指定した場合、DXGI はターゲット ウィンドウのクライアント領域の高さを使用します。 IDXGIFactory2::CreateSwapChainForComposition メソッドを呼び出してコンポジション サーフェスのスワップ チェーンを作成した場合、高さをゼロとして指定することはできません。

[in] Format

種類: DXGI_FORMAT

バック バッファーの新しい形式の DXGI_FORMAT型指定された値。 バック バッファーの既存 形式を保持するには、この値を DXGI_FORMAT_UNKNOWN に設定します。 フリップ プレゼンテーション モデルでは、ビット ブロック転送 (bitblt) モデルよりも制限された形式のセットがサポートされています。

[in] SwapChainFlags

型: UINT

ビットごとの OR 演算を使用して結合される DXGI_SWAP_CHAIN_FLAG型指定された値の組み合わせ。 結果の値は、スワップ チェーン動作のオプションを指定します。

[in] pCreationNodeMask

型: const UINT*

合計サイズ BufferCount の UD の配列。値は、バック バッファーを作成するノードを示します。 Null 以外の pCreationNodeMask 配列で ResizeBuffers1 を使用して作成されたバッファーは、すべてのノードに表示されます。

[in] ppPresentQueue

種類: IUnknown*

合計サイズ BufferCount のコマンド キュー (ID3D12CommandQueue インスタンス) の配列。 指定する各キューは、 pCreationNodeMask 配列で指定された対応する作成ノード マスクと一致する必要があります。 Present() が呼び出されると、次のフレームの次のバッファーに回転するだけでなく、スワップチェーンもこれらのコマンド キューを介してローテーションされます。 これにより、アプリは、特定の現在の操作に対して同期が必要なキューを制御できます。

戻り値

型: HRESULT

成功した場合はS_OKを返します。それ以外の場合はエラー コード。 エラー コードの一覧については、「 DXGI_ERROR」を参照してください。

解説

このメソッドは、入力デバイスとして D3D12 コマンド キュー (ID3D12CommandQueue) を使用してスワップチェーンが作成された場合にのみを呼び出すために有効です。

マルチ GPU アダプターでスワップチェーンが作成されると、すべてのバックバッファーがノード 1 に作成され、1 つのコマンド キューのみがサポートされます。 ResizeBuffers1 を使用すると、アプリケーションは異なるノードにバックバッファーを作成し、各ノードで異なるコマンド キューを使用できます。 これらの機能により、代替フレーム レンダリング (AFR) 手法をスワップチェーンで使用できます。 「マルチアダプター システム」を参照してください。

また、 IDXGISwapChain::ResizeBuffers の「解説」セクションも参照してください。これらはすべて ResizeBuffers1 に関連しています。

要件

   
対象プラットフォーム Windows
ヘッダー dxgi1_4.h
Library Dxgi.lib

関連項目

IDXGISwapChain3