XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALCommandListCreationDescription Struct Reference

Describes the parameters for creating a GAL command list. More...

#include <CommandList.h>

Inheritance diagram for xiiGALCommandListCreationDescription:
[legend]

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.
 
xiiHashableStructoperator= (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< xiiGALCommandQueueFlagsm_QueueFlags = xiiGALCommandQueueFlags::None
 Specifies the functional capabilities required by this command list.
 
xiiBitflags< xiiGALCommandListFlagsm_Flags = xiiGALCommandListFlags::None
 Flags controlling command list submission and recording behavior.
 
xiiSharedPtr< xiiGALRenderPassm_pRenderPass
 Specifies the render pass to be used when recording this command list.
 
xiiSharedPtr< xiiGALFramebufferm_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.
 

Detailed Description

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.

Member Data Documentation

◆ m_Flags

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.

◆ m_pFramebuffer

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.

◆ m_pRenderPass

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.

◆ m_QueueFlags

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.

◆ m_uiSubPassIndex

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.


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