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

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

#include <CommandList.h>

Public Attributes

xiiSharedPtr< xiiGALResourcem_pPreviousResource = nullptr
 
xiiSharedPtr< xiiGALResourcem_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< xiiGALResourceStateFlagsm_OldState = xiiGALResourceStateFlags::Unknown
 
xiiBitflags< xiiGALResourceStateFlagsm_NewState = xiiGALResourceStateFlags::Unknown
 
xiiEnum< xiiGALStateTransitionTypem_TransitionType = xiiGALStateTransitionType::Immediate
 
xiiBitflags< xiiGALStateTransitionFlagsm_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

xiiSharedPtr<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

xiiSharedPtr<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: