#include <BufferDescriptor.h>
Inherited by AZ::Vulkan::BufferMemory::Descriptor.
Public Member Functions | |
AZ_TYPE_INFO (BufferDescriptor, "{05321516-CDE4-451D-80A2-3D179AB3DB5D}") | |
BufferDescriptor (BufferBindFlags bindFlags, size_t byteCount) | |
AZ::HashValue64 | GetHash (AZ::HashValue64 seed=AZ::HashValue64{ 0 }) const |
Static Public Member Functions | |
static void | Reflect (AZ::ReflectContext *context) |
Public Attributes | |
AZ::u64 | m_byteCount = 0 |
AZ::u64 | m_alignment = 0 |
BufferBindFlags | m_bindFlags = BufferBindFlags::None |
Union of all bind points for this buffer. | |
HardwareQueueClassMask | m_sharedQueueMask = HardwareQueueClassMask::All |
The mask of queue classes supporting shared access of this resource. | |
A buffer corresponds to a region of linear memory and used for rendering operations. Its lifecycle is managed by buffer pools.
AZ::u64 AZ::RHI::BufferDescriptor::m_alignment = 0 |
[GFX TODO] we need to reconsider where is the best place to propagate a buffer alignment to backend Provide the higher level code to provide a desired alignment for backend allocators to use when allocate memory for this buffer. For example, this value need to be set as its buffer view descriptor's m_elementSize
for dx12 to create SRV or UAV properly. If it set to 0, the default alignment defined internally will be used.
AZ::u64 AZ::RHI::BufferDescriptor::m_byteCount = 0 |
Number of bytes in the buffer. Does not need to adhere to alignment requirements by the hardware (that is done for you internally). This type can't be size_t since it's reflected data and size_t is a different size depending on the platform.