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 :- Obtenez la taille du bundle à l’aide de GetExecutionCommandSizeX.
- Allouez de la mémoire pour le bundle, explicitement ou indirectement, par l’intermédiaire de l’allocateur de commandes.
- Fermez la liste de commandes à l’aide de CloseBundleX pour valider les commandes dans l’allocation de bundle indépendante.
- Réinitialisez ou libérez la liste de commandes.
- 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 OneVoir aussi
ID3D12GraphicsCommandListCreateCommandAllocator
