XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALScopedDebugGroup Class Reference

A helper class for managing debug groups in a command list. More...

#include <ScopedDebugGroup.h>

Inheritance diagram for xiiGALScopedDebugGroup:
[legend]

Public Member Functions

 xiiGALScopedDebugGroup () noexcept
 Default constructor.
 
 xiiGALScopedDebugGroup (xiiSharedPtr< xiiGALCommandList > pCommandList, xiiStringView sName, xiiColor color=xiiColor::Black)
 Constructs a debug group with the specified name and color.
 
 ~xiiGALScopedDebugGroup ()
 Destructor, automatically ends the debug group.
 
 xiiGALScopedDebugGroup (xiiGALScopedDebugGroup &&rhs) noexcept
 Move constructor.
 
xiiGALScopedDebugGroupoperator= (xiiGALScopedDebugGroup &&rhs) noexcept
 Move assignment operator.
 
- Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Additional Inherited Members

- Static Public Member Functions inherited from xiiNoBase
static const xiiRTTIGetStaticRTTI ()
 

Detailed Description

A helper class for managing debug groups in a command list.

This class allows developers to create scoped debug groups, which can be useful for debugging and profiling graphics commands. When instantiated, it marks the beginning of a debug group, and when destroyed, it marks the end.

Note
This class ensures that debug groups are properly created and closed within the scope they are used.

Usage example:

{
xiiGALScopedDebugGroup debugGroup(pCommandList, "Rendering Pass", xiiColor::Red);
// Commands within this scope belong to the "Rendering Pass" debug group.
}
static const xiiColor Red
#FF0000
Definition Color.h:170
xiiGALScopedDebugGroup() noexcept
Default constructor.
Definition ScopedDebugGroup_inl.h:2

Constructor & Destructor Documentation

◆ xiiGALScopedDebugGroup() [1/3]

XII_ALWAYS_INLINE xiiGALScopedDebugGroup::xiiGALScopedDebugGroup ( )
noexcept

Default constructor.

Note
Initializes an empty debug group.

◆ xiiGALScopedDebugGroup() [2/3]

XII_ALWAYS_INLINE xiiGALScopedDebugGroup::xiiGALScopedDebugGroup ( xiiSharedPtr< xiiGALCommandList > pCommandList,
xiiStringView sName,
xiiColor color = xiiColor::Black )

Constructs a debug group with the specified name and color.

Parameters
pCommandList- Pointer to the command list where the debug group is applied.
sName- Name of the debug group for debugging and profiling purposes.
color- Color used for visual representation (defaults to black).

◆ xiiGALScopedDebugGroup() [3/3]

XII_ALWAYS_INLINE xiiGALScopedDebugGroup::xiiGALScopedDebugGroup ( xiiGALScopedDebugGroup && rhs)
noexcept

Move constructor.

Parameters
rhs- Another debug group to move from.

Member Function Documentation

◆ operator=()

XII_ALWAYS_INLINE xiiGALScopedDebugGroup & xiiGALScopedDebugGroup::operator= ( xiiGALScopedDebugGroup && rhs)
noexcept

Move assignment operator.

Parameters
rhs- Another debug group to move from.
Returns
Reference to this object.

The documentation for this class was generated from the following files: