Submits an array of command lists for execution.
public:
void ExecuteCommandLists(
UINT Count,
const ID3D12CommandList *ppCommandLists
)
Count
Type: UINT
[in] The number of command lists to be executed.
ppCommandLists
Type: ID3D12CommandList *
[in] The array of ID3D12CommandList command lists to be executed.
Type: void
It is the calling application’s responsibility to ensure that the graphics processing unit (GPU) is not currently reading the any of the submitted command lists from a previous execution.
Applications are encouraged to batch together command list executions to reduce fixed costs associated with submitted commands to the GPU.
It is permitted (as an Xbox extension) to execute a command list before it has been closed, and continue recording commands to the list. When a command list executed on a queue has not yet been closed, all subsequent work issued to that queue will back up and not be submitted to the GPU until the command list Close is called. Asynchronous execution support includes graphics (direct), compute, and dma command lists.
Use of asynchronous command list execution has the following restrictions:
After execution, commands recorded to a command list will be automatically submitted to the GPU upon completion of each segment (the D3D12XBOX_COMMAND_LIST_FLAG_DISABLE_AUTOMATIC_KICKOFFS - see D3D12XBOX_COMMAND_LIST_FLAGS - flag may be specified at command list creation to disable such automatic submission). To initiate immediate submission of recorded commands (useful for intra-command list synchronization), one of the command list methods:
may be called to force completion of the current segment and submit it for processing. Close will submit the final command list segment, as well as any other work pending on the execution queue.
Header: Declared in d3d12_x.h.
Library: Use d3d12_x.lib.