Open 3D Engine Atom Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::RHI::BufferDescriptor Struct Reference

#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.
 

Detailed Description

A buffer corresponds to a region of linear memory and used for rendering operations. Its lifecycle is managed by buffer pools.

Member Data Documentation

◆ m_alignment

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.

◆ m_byteCount

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.


The documentation for this struct was generated from the following file: