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::Vulkan::BufferMemory Class Reference

#include <BufferMemory.h>

Inherits AZ::RHI::DeviceObject.

Classes

struct  Descriptor
 

Public Member Functions

 AZ_CLASS_ALLOCATOR (BufferMemory, AZ::ThreadPoolAllocator)
 
 AZ_RTTI (BufferMemory, "{39053FBD-CE0E-44E8-A9BF-29C4014C3958}", Base)
 
RHI::ResultCode Init (Device &device, const MemoryView &memoryView, const Descriptor &descriptor)
 
RHI::ResultCode Init (Device &device, const Descriptor &descriptor)
 
CpuVirtualAddress Map (size_t offset, size_t size, RHI::HostMemoryAccess hostAccess)
 
void Unmap (size_t offset, RHI::HostMemoryAccess hostAccess)
 
const VkBuffer GetNativeBuffer ()
 
const DescriptorGetDescriptor () const
 
size_t GetSize () const
 
- Public Member Functions inherited from AZ::RHI::DeviceObject
 AZ_RTTI (DeviceObject, "{17D34F71-944C-4AF5-9823-627474C4C0A6}", Object)
 
bool IsInitialized () const
 Returns whether the device object is initialized.
 
DeviceGetDevice () const
 
- Public Member Functions inherited from AZ::RHI::Object
 AZ_RTTI (Object, "{E43378F1-2331-4173-94B8-990ED20E6003}")
 
void SetName (const Name &name)
 Sets the name of the object.
 
const Name & GetName () const
 Returns the name set on the object by SetName.
 
uint32_t use_count ()
 Returns the current use count of the object.
 

Static Public Member Functions

static RHI::Ptr< BufferMemoryCreate ()
 

Additional Inherited Members

- Protected Member Functions inherited from AZ::RHI::DeviceObject
void Init (Device &device)
 The derived class should call this method to assign the device.
 
void Shutdown () override
 Clears the current bound device to null.
 
- Protected Member Functions inherited from AZ::RHI::Object
void add_ref () const
 
void release () const
 
- Protected Attributes inherited from AZ::RHI::Object
AZStd::atomic_int m_useCount = 0
 

Detailed Description

A BufferMemory represents a Vulkan's Buffer that will be sub allocated into one or multiple RHI Buffer Resources. Each of the RHI Buffers reference a section of the Vulkan Buffer. The Vulkan Buffer sits on top of a Vulkan Memory Region. When it is removed, the native buffer will be freed.


| VmaAllocation | |_______________________________________________________________|


| VkBuffer (BufferMemoryView) || VkBuffer (BufferMemoryView) | |_______________________________||______________________________|


| RHI Buffer || RHI Buffer || RHI Buffer | |_______________||______________||______________________________|


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