![]() |
XII Release 0.1.0
|
Describes a resource state barrier synthesized during compilation. More...
#include <RenderGraph.h>
Public Member Functions | |
| XII_DECLARE_POD_TYPE () | |
| Public Member Functions inherited from xiiHashableStruct< xiiRenderGraphBarrierDescription > | |
| constexpr | xiiHashableStruct () noexcept |
| Default constructor. Initializes all bytes to zero. | |
| xiiHashableStruct & | operator= (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 | |
| xiiUInt32 | m_uiResourceIndex = xiiInvalidIndex |
| Index into the resource table. | |
| bool | m_bIsTexture = true |
| Whether the barrier is for a texture or a buffer resource. | |
| xiiUInt32 | m_uiFirstMipLevel = 0U |
| For textures, the first mip level affected by the barrier. For buffers, this is always 0. | |
| xiiUInt32 | m_uiMipLevelCount = XII_GAL_REMAINING_MIP_LEVELS |
| For textures, the number of mip levels affected by the barrier. For buffers, this is always 1. | |
| xiiUInt32 | m_uiFirstArraySlice = 0U |
| For textures, the first array slice affected by the barrier. For buffers, this is always 0. | |
| xiiUInt32 | m_uiArraySliceCount = XII_GAL_REMAINING_ARRAY_SLICES |
| For textures, the number of array slices affected by the barrier. For buffers, this is always 1. | |
| xiiBitflags< xiiGALResourceStateFlags > | m_BeforeState = xiiGALResourceStateFlags::Unknown |
| The resource state before the barrier. This is used for validation and may be Unknown if the state is not known at compile time. | |
| xiiBitflags< xiiGALResourceStateFlags > | m_AfterState = xiiGALResourceStateFlags::Unknown |
| The resource state after the barrier. This is used for validation and may be Unknown if the state is not known at compile time. | |
| xiiEnum< xiiGALStateTransitionType > | m_TransitionType = xiiGALStateTransitionType::Immediate |
| Whether this barrier is an immediate transition or a split barrier begin/end. | |
| xiiEnum< xiiGALStateTransitionFlags > | m_TransitionFlags = xiiGALStateTransitionFlags::None |
| Additional flags for the barrier, such as whether to discard content or update internal resource state. Only relevant for immediate barriers and split-barrier ends. | |
| xiiUInt8 | m_uiSourceQueue = 0U |
| Queue owning the resource before this transition. | |
| xiiUInt8 | m_uiTargetQueue = 0U |
| Queue that consumes the resource after this transition. | |
| bool | m_bQueueOwnershipTransfer = false |
| True when the transition is paired with a cross-queue fence wait. | |
Describes a resource state barrier synthesized during compilation.