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 |