Partager via


Méthode IDXGISwapChain3::ResizeBuffers1 (dxgi1_4.h)

Modifie la taille, le format et le nombre de mémoires tampons d’arrière-mémoire tampon de la chaîne d’échange, où la chaîne d’échange a été créée à l’aide d’une file d’attente de commandes D3D12 en tant que périphérique d’entrée. Elle doit être appelée lorsque la fenêtre d’application est redimensionnée.

Syntaxe

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
);

Paramètres

[in] BufferCount

Type : UINT

Nombre de mémoires tampons dans la chaîne d’échange (y compris toutes les mémoires tampons arrière et avant). Ce nombre peut être différent du nombre de mémoires tampons avec lesquelles vous avez créé la chaîne d’échange. Ce nombre ne peut pas être supérieur à DXGI_MAX_SWAP_CHAIN_BUFFERS. Définissez ce nombre sur zéro pour conserver le nombre existant de mémoires tampons dans la chaîne d’échange. Vous ne pouvez pas spécifier moins de deux mémoires tampons pour le modèle de présentation à retournement.

[in] Width

Type : UINT

Nouvelle largeur de la mémoire tampon d’arrière-mémoire. Si vous spécifiez zéro, DXGI utilise la largeur de la zone cliente de la fenêtre cible. Vous ne pouvez pas spécifier la largeur comme zéro si vous avez appelé la méthode IDXGIFactory2::CreateSwapChainForComposition pour créer la chaîne d’échange pour une surface de composition.

[in] Height

Type : UINT

Nouvelle hauteur de la mémoire tampon d’arrière-mémoire. Si vous spécifiez zéro, DXGI utilise la hauteur de la zone cliente de la fenêtre cible. Vous ne pouvez pas spécifier la hauteur comme zéro si vous avez appelé la méthode IDXGIFactory2::CreateSwapChainForComposition pour créer la chaîne d’échange pour une surface de composition.

[in] Format

Type : DXGI_FORMAT

Valeur DXGI_FORMAT typée pour le nouveau format de la mémoire tampon d’arrière-mémoire. Définissez cette valeur sur DXGI_FORMAT_UNKNOWN pour conserver le format existant de la mémoire tampon d’arrière-mémoire. Le modèle de présentation inversée prend en charge un ensemble de formats plus restreint que le modèle de transfert de bloc binaire (bitblt).

[in] SwapChainFlags

Type : UINT

Combinaison de valeurs de type DXGI_SWAP_CHAIN_FLAG qui sont combinées à l’aide d’une opération OR au niveau du bit. La valeur résultante spécifie les options pour le comportement de la chaîne d’échange.

[in] pCreationNodeMask

Type : const UINT*

Tableau d’UINTs, de taille totale BufferCount, où la valeur indique le nœud sur lequel la mémoire tampon d’arrière-plan doit être créée. Les mémoires tampons créées à l’aide de ResizeBuffers1 avec un tableau pCreationNodeMask non null sont visibles par tous les nœuds.

[in] ppPresentQueue

Type : IUnknown*

Tableau de files d’attente de commandes (instances ID3D12CommandQueue ), de taille totale BufferCount. Chaque file d’attente fournie doit correspondre au masque de nœud de création correspondant spécifié dans le tableau pCreationNodeMask . Lorsque Present() est appelé, en plus de la rotation vers la mémoire tampon suivante pour l’image suivante, la chaîne d’échange effectue également une rotation dans ces files d’attente de commandes. Cela permet à l’application de contrôler la file d’attente qui nécessite une synchronisation pour une opération actuelle donnée.

Valeur retournée

Type : HRESULT

Retourne S_OK en cas de réussite ; un code d’erreur dans le cas contraire. Pour obtenir la liste des codes d’erreur, consultez DXGI_ERROR.

Notes

Cette méthode est uniquement valide pour appeler lorsque la chaîne d’échange a été créée à l’aide d’une file d’attente de commandes D3D12 (ID3D12CommandQueue) en tant que périphérique d’entrée.

Lorsqu’une chaîne d’échange est créée sur une carte multi-GPU, les backbuffers sont tous créés sur le nœud 1 et une seule file d’attente de commandes est prise en charge. ResizeBuffers1 permet aux applications de créer des backbuffers sur différents nœuds, ce qui permet d’utiliser une file d’attente de commandes différente avec chaque nœud. Ces fonctionnalités permettent d’utiliser des techniques AFR (Alternate Frame Rendering) avec la chaîne d’échange. Consultez Systèmes multi-adaptateurs.

Consultez également la section Remarques dans IDXGISwapChain::ResizeBuffers, qui est tout pertinent pour ResizeBuffers1.

Spécifications

   
Plateforme cible Windows
En-tête dxgi1_4.h
Bibliothèque Dxgi.lib

Voir aussi

IDXGISwapChain3