LLGL 0.05 Beta
Loading...
Searching...
No Matches
LLGL::CommandBufferFlags Struct Reference

Command buffer creation flags. More...

#include <CommandBufferFlags.h>

Public Types

enum  { Secondary = (1 << 0) , MultiSubmit = (1 << 1) , ImmediateSubmit = (1 << 2) }

Detailed Description

Command buffer creation flags.

Remarks
A default command buffer is a primary command buffer (No Secondary flag) that has to be submitted explicitly (No ImmediateSubmit flag) and can only be submitted once until it is encoded again (No MultiSubmit flag).
See also
CommandBufferDescriptor::flags

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Secondary 

Specifies that the command buffer will be submitted as a secondary command buffer which yields only a limited set of commands.

Remarks
If this is specified, the command buffer must be submitted using the Execute function of a primary command buffer.
This cannot be used in combination with the ImmediateSubmit flag.
A secondary command buffer can only encode a limited set of commands and cannot start its own render pass. If used for graphics commands, those commands will be inlined into the render pass of its primary command buffer when submitted via the Execute function. Here is a list of commands that can be encoded with a secondary command buffer (Begin/End is implied):
See also
CommandBuffer::Execute
CommandBufferDescriptor::renderPass
Note
This is not fully supported in some backends and should only be used for experimental use!
Todo
Redefine what this flag should accomplish and how it should translate to D3D12 and Vulkan backends as their concepts of 'command list bundles' and 'secondary command buffers' respectively are fundamentally different.
MultiSubmit 

Specifies that the encoded command buffer can be submitted multiple times.

Remarks
If this is not specified, the command buffer must be encoded again after it has been submitted to the command queue.
This cannot be used in combination with the ImmediateSubmit flag.
See also
CommandQueue::Submit(CommandBuffer&)
ImmediateSubmit 

Specifies that the encoded command buffer is an immediate command buffer.

Remarks
If this is specified, the command buffer is submitted immediately after encoding is done and calling CommandQueue::Submit on such a command buffer has no effect.
This cannot be used in combination with the Secondary or MultiSubmit flags.
See also
CommandBuffer::End

The documentation for this struct was generated from the following file: