Resource state transition barrier description. More...
#include <DeviceContext.h>
Public Member Functions | |
constexpr | StateTransitionDesc (IDeviceObject *_pResourceBefore, IDeviceObject *_pResourceAfter) noexcept |
Aliasing barrier. | |
Public Attributes | |
IDeviceObject * | pResourceBefore = nullptr |
Previous resource for aliasing transition. | |
IDeviceObject * | pResource = nullptr |
Resource to transition. | |
Uint32 | FirstMipLevel = 0 |
When transitioning a texture, first mip level of the subresource range to transition. | |
Uint32 | MipLevelsCount = REMAINING_MIP_LEVELS |
When transitioning a texture, number of mip levels of the subresource range to transition. | |
Uint32 | FirstArraySlice = 0 |
When transitioning a texture, first array slice of the subresource range to transition. | |
Uint32 | ArraySliceCount = REMAINING_ARRAY_SLICES |
When transitioning a texture, number of array slices of the subresource range to transition. | |
RESOURCE_STATE | OldState = RESOURCE_STATE_UNKNOWN |
Resource state before transition. | |
RESOURCE_STATE | NewState = RESOURCE_STATE_UNKNOWN |
Resource state after transition. | |
STATE_TRANSITION_TYPE | TransitionType = STATE_TRANSITION_TYPE_IMMEDIATE |
State transition type, see Diligent::STATE_TRANSITION_TYPE. | |
STATE_TRANSITION_FLAGS | Flags = STATE_TRANSITION_FLAG_NONE |
State transition flags, see Diligent::STATE_TRANSITION_FLAGS. | |
Resource state transition barrier description.
RESOURCE_STATE Diligent::StateTransitionDesc::NewState = RESOURCE_STATE_UNKNOWN |
Resource state after transition.
Must not be Diligent::RESOURCE_STATE_UNKNOWN or Diligent::RESOURCE_STATE_UNDEFINED.
RESOURCE_STATE Diligent::StateTransitionDesc::OldState = RESOURCE_STATE_UNKNOWN |
Resource state before transition.
If this value is Diligent::RESOURCE_STATE_UNKNOWN, internal resource state will be used, which must be defined in this case.
IDeviceObject* Diligent::StateTransitionDesc::pResource = nullptr |
Resource to transition.
Can be ITexture, IBuffer, IBottomLevelAS, ITopLevelAS.
pResource
may be null
, which indicates that any sparse or normal resource could cause aliasing. IDeviceObject* Diligent::StateTransitionDesc::pResourceBefore = nullptr |
Previous resource for aliasing transition.
This member is only used for aliasing transition (Diligent::STATE_TRANSITION_FLAG_ALIASING flag is set), and ignored otherwise, and must point to a texture or a buffer object.
pResourceBefore
may be null
, which indicates that any sparse or normal resource could cause aliasing. STATE_TRANSITION_TYPE Diligent::StateTransitionDesc::TransitionType = STATE_TRANSITION_TYPE_IMMEDIATE |
State transition type, see Diligent::STATE_TRANSITION_TYPE.
OldState
and NewState
equal Diligent::RESOURCE_STATE_UNORDERED_ACCESS), TransitionType
must be Diligent::STATE_TRANSITION_TYPE_IMMEDIATE.