Skip to main content
Ferme une liste de commandes de type bundle tout en écrivant les commandes enregistrées dans l’allocation spécifiée.

Syntaxe

Paramètres

ppBundleBufferAddress   _Inout_
Type : void**
Pointeur vers l’adresse d’un allocateur de commandes de bundle. Lorsqu’il est défini sur un allocateur de commandes de bundle existant, les commandes enregistrées dans la liste de commandes de bundle sont copiées à l’emplacement mémoire spécifié. Lorsqu’il est défini à null, la mémoire requise est allouée par l’intermédiaire de l’allocateur de commandes et, au retour, l’adresse est définie à la base de l’allocation. BundleBufferMaxSize   
Type : UINT
Taille maximale de l’allocation fournie. La taille de l’allocateur de commandes de bundle doit être inférieure ou égale à ce maximum, et elle peut être obtenue au moyen de GetExecutionCommandSizeX. Si ppBundleBufferAddress est défini à null, définissez la taille maximale spécifiée à zéro.

Valeur de retour

Type : UINT La méthode retourne la taille de l’ensemble de commandes de bundle produit par la fermeture.

Remarques

Cette méthode a pour but de fournir des bundles qui peuvent être conservés et exécutés indépendamment de l’objet de liste de commandes utilisé pour leur construction. Comme les objets de liste de commandes de bundle peuvent consommer une grande quantité de mémoire par rapport aux ensembles de commandes qu’ils enregistrent, il est avantageux de ne conserver que l’ensemble de commandes lui-même pour chaque bundle. Par la suite, au lieu de devoir réinitialiser la liste de commandes, vous pouvez la réinitialiser pour enregistrer des bundles supplémentaires. Voici l’utilisation typique de cette API :
  1. Obtenez la taille du bundle à l’aide de GetExecutionCommandSizeX.
  2. Allouez de la mémoire pour le bundle, explicitement ou indirectement, par l’intermédiaire de l’allocateur de commandes.
  3. Fermez la liste de commandes à l’aide de CloseBundleX pour valider les commandes dans l’allocation de bundle indépendante.
  4. Réinitialisez ou libérez la liste de commandes.
  5. Exécutez l’allocation de bundle à l’aide d’ExecuteIndirectBundleX.

Configuration requise

En-tête : d3d12_x.h Bibliothèque : d3d12_x.lib Plateformes prises en charge : famille XBOX One

Voir aussi

ID3D12GraphicsCommandList
CreateCommandAllocator
Last modified on October 6, 2026