#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. | |
| AZStd::optional< int > | m_ownerDeviceIndex |
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.
| AZStd::optional<int> AZ::RHI::BufferDescriptor::m_ownerDeviceIndex |
Settings for enabling cross device buffers If set the Buffer will only be allocated on the owner device On all other devices the Buffer from the owner device will be exported and then imported again on their own devices Check DeviceFeatures::m_crossDeviceDeviceMemory and DeviceFeatures::m_crossDeviceHostMemory before setting the owner device All devices the buffer will be created for must have the respective device feature