![]() |
XII Release 0.1.0
|
Describes the parameters for creating a GAL command list. More...
#include <CommandList.h>
Public Member Functions | |
| XII_DECLARE_POD_TYPE () | |
Public Member Functions inherited from xiiHashableStruct< xiiGALCommandListCreationDescription > | |
| constexpr | xiiHashableStruct () noexcept |
| Default constructor. Initializes all bytes to zero. | |
| xiiHashableStruct (const xiiHashableStruct &other) noexcept | |
| Bitwise copy constructor. | |
| xiiHashableStruct & | operator= (const xiiHashableStruct &other) noexcept |
| Bitwise assignment operator. | |
| bool | operator== (const xiiHashableStruct &other) const noexcept |
| Compares equality via raw byte comparison. | |
| std::strong_ordering | operator<=> (const xiiHashableStruct &other) const noexcept |
| Compares ordering via raw byte comparison. | |
| xiiUInt32 | CalculateHash () const noexcept |
| Calculates a 32-bit hash from raw bytes of the struct. | |
| void | Clear () noexcept |
| Fills all bytes with zero. | |
| bool | IsZero () const noexcept |
| Returns true if all bytes are zero. | |
Public Attributes | |
| xiiBitflags< xiiGALCommandQueueFlags > | m_QueueFlags = xiiGALCommandQueueFlags::None |
| Specifies the functional capabilities required by this command list. | |
| xiiBitflags< xiiGALCommandListFlags > | m_Flags = xiiGALCommandListFlags::None |
| Flags controlling command list submission and recording behavior. | |
| xiiSharedPtr< xiiGALRenderPass > | m_pRenderPass |
| Specifies the render pass to be used when recording this command list. | |
| xiiSharedPtr< xiiGALFramebuffer > | m_pFramebuffer |
| Specifies the framebuffer associated with the selected render pass. | |
| xiiUInt32 | m_uiSubPassIndex = 0U |
| Indicates the subpass within the render pass that this command list targets. | |
Describes the parameters for creating a GAL command list.
This structure is used to configure a command list in the Graphics Abstraction Layer (GAL). It defines which queue capabilities this command list targets and how it behaves in terms of submission and encoding.
The queue flags represent the functional domains this command list is allowed to access (e.g., graphics, compute, copy), which are used to validate command recording.
| xiiBitflags<xiiGALCommandListFlags> xiiGALCommandListCreationDescription::m_Flags = xiiGALCommandListFlags::None |
Flags controlling command list submission and recording behavior.
These flags define whether the command list is secondary, supports multiple submissions, or is immediately submitted after encoding. Use these flags to optimize command list lifetimes and submission patterns.
| xiiSharedPtr<xiiGALFramebuffer> xiiGALCommandListCreationDescription::m_pFramebuffer |
Specifies the framebuffer associated with the selected render pass.
The framebuffer provides the actual image attachments used during rendering. It must be compatible with the render pass and is required when submitting graphics commands that depend on render targets.
| xiiSharedPtr<xiiGALRenderPass> xiiGALCommandListCreationDescription::m_pRenderPass |
Specifies the render pass to be used when recording this command list.
The render pass defines the sequence of rendering operations and attachment formats. This must match the layout expected by the framebuffer. Required for command lists that record graphics operations within a render pass scope.
| xiiBitflags<xiiGALCommandQueueFlags> xiiGALCommandListCreationDescription::m_QueueFlags = xiiGALCommandQueueFlags::None |
Specifies the functional capabilities required by this command list.
This bitmask defines which domains the command list can operate in (such as graphics, compute, or copy), and is used to validate that recorded commands are compatible with the submission queue.
For example, command lists with graphics draw calls must declare support for the Graphics flag.
| xiiUInt32 xiiGALCommandListCreationDescription::m_uiSubPassIndex = 0U |
Indicates the subpass within the render pass that this command list targets.
Used to determine which subpass to begin encoding commands in. If multiple subpasses are defined in the render pass, this value selects the active one during recording. Must be within the bounds defined by the render pass configuration.