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

This describes the resource state barrier description. More...

#include <CommandList.h>

Public Member Functions

 XII_DECLARE_POD_TYPE ()

Public Attributes

xiiGALResource * m_pPreviousResource = nullptr
xiiGALResource * m_pResource = nullptr
xiiUInt32 m_uiFirstMipLevel = 0U
 When transitioning a texture, first mip level of the subresource range to transition.
xiiUInt32 m_uiMipLevelCount = XII_GAL_REMAINING_MIP_LEVELS
 When transitioning a texture, number of mip levels of the subresource range to transition.
xiiUInt32 m_uiFirstArraySlice = 0U
 When transitioning a texture, first array slice of the subresource range to transition.
xiiUInt32 m_uiArraySliceCount = XII_GAL_REMAINING_ARRAY_SLICES
 When transitioning a texture, number of array slices of the subresource range to transition.
xiiBitflags< xiiGALResourceStateFlags > m_OldState = xiiGALResourceStateFlags::Unknown
xiiBitflags< xiiGALResourceStateFlags > m_NewState = xiiGALResourceStateFlags::Unknown
xiiEnum< xiiGALStateTransitionType > m_TransitionType = xiiGALStateTransitionType::Immediate
xiiBitflags< xiiGALStateTransitionFlags > m_TransitionFlags = xiiGALStateTransitionFlags::None
 State transition flags, see xiiGALStateTransitionFlags.

Detailed Description

This describes the resource state barrier description.

Member Data Documentation

◆ m_NewState

xiiBitflags<xiiGALResourceStateFlags> xiiGALStateTransitionDescription::m_NewState = xiiGALResourceStateFlags::Unknown

Resource state after transition. This must not be xiiGALResourceState::Unknown or xiiGALResourceState::Undefined.

                                                         \note Resource state must be compatible with the command list queue type. 

◆ m_OldState

xiiBitflags<xiiGALResourceStateFlags> xiiGALStateTransitionDescription::m_OldState = xiiGALResourceStateFlags::Unknown

Resource state before transition. If this value is xiiGALResourceState::Unknown, internal resource state will be used, which must be defined in this case.

                                                         \note Resource state must be compatible with the command list queue type. 

◆ m_pPreviousResource

xiiGALResource* xiiGALStateTransitionDescription::m_pPreviousResource = nullptr

Previous resource for aliasing transition. This member is only used for aliasing transition (xiiGALStateTransitionFlags::Aliasing flag is set), and ignored otherwise, and must point to a texture or a buffer object.

      \note pPreviousResource may be null, which indicates that any sparse or normal resource could cause aliasing. 

◆ m_pResource

xiiGALResource* xiiGALStateTransitionDescription::m_pResource = nullptr

Resource to transition. Can be xiiGALTexture, xiiGALBuffer, xiiGALBottomLevelAS, xiiGALTopLevelAS.

      \note For aliasing transition (xiiGALStateTransitionFlags::Aliasing flag is set), pResource may be null, which indicates that any sparse or normal resource could cause aliasing. 

◆ m_TransitionType

xiiEnum<xiiGALStateTransitionType> xiiGALStateTransitionDescription::m_TransitionType = xiiGALStateTransitionType::Immediate

State transition type, see xiiGALStateTransitionType.

                                                             \note When issuing UAV barrier (i.e. OldState and NewState equal xiiGALResourceState::UnorderedAccess), the transition type must be xiiGALStateTransitionType::Immediate. 

The documentation for this struct was generated from the following file:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsFoundation/CommandEncoder/CommandList.h