Close a bundle command list while writing the recorded commands to the given allocation.
public:
UINT CloseBundleX(
void **ppBundleBufferAddress,
UINT BundleBufferMaxSize
)
ppBundleBufferAddress
Type: void **
[in, out] Pointer to the address of a bundle command set allocation. If the address is set to an existing allocation, the memory will be filled with the commands recorded by the bundle command list. If the address is set to null, the required memory will be allocated through the command allocator, and the address will be set to the base of the allocation upon return.
BundleBufferMaxSize
Type: UINT
Maximum size of the allocation provided. The bundle command set size must be less or equal to this maximum, and may be obtained through GetExecutionCommandSizeX. If no allocation is provided, the given maximum size should be zero.
Type: UINT
The method returns the size of the bundle command set produced by the close.
The method is devoted to the creation of bundles that may be persisted and executed independently of the command list object that is used in their construction. Given that bundle command list objects may consume a relatively large amount of memory relative to the command sets recorded by them, it is valuable to maintain only the command set itself for each bundle. The command list may then be reset for the recording of additional bundles rather than having to be preserved for subsequent execution.
Typical usage of this API follows:
Header: Declared in d3d12_x.h.
Library: Use d3d12_x.lib.