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::Buffer Class Reference

#include <Buffer.h>

Inherits AZ::RHI::Resource.

Inherited by AZ::DX12::Buffer, AZ::Metal::Buffer, AZ::Null::Buffer, and AZ::Vulkan::Buffer.

Public Member Functions

 AZ_RTTI (Buffer, "{3C918323-F39C-4DC6-BEE9-BC220DBA9414}", Resource)
 
const BufferDescriptorGetDescriptor () const
 
void ReportMemoryUsage (MemoryStatisticsBuilder &builder) const override
 
const BufferFrameAttachmentGetFrameAttachment () const
 Returns the buffer frame attachment if the buffer is currently attached.
 
Ptr< BufferViewGetBufferView (const BufferViewDescriptor &bufferViewDescriptor)
 
const HashValue64 GetHash () const
 
- Public Member Functions inherited from AZ::RHI::Resource
 AZ_RTTI (Resource, "{9D02CDAC-80EB-4B77-8E62-849AC6E69206}", DeviceObject)
 
bool IsAttachment () const
 Returns whether the resource is currently an attachment on a frame graph.
 
void Shutdown () override final
 Shuts down the buffer by detaching it from its parent pool.
 
const ResourcePoolGetPool () const
 
ResourcePoolGetPool ()
 
uint32_t GetVersion () const
 
virtual void ReportMemoryUsage (MemoryStatisticsBuilder &builder) const =0
 Reports memory usage of this image to the memory statistics builder.
 
const FrameAttachmentGetFrameAttachment () const
 Returns the frame attachment associated with this image (if it exists).
 
void InvalidateViews ()
 
bool IsInResourceCache (const ImageViewDescriptor &imageViewDescriptor)
 Returns true if the ResourceView is in the cache.
 
bool IsInResourceCache (const BufferViewDescriptor &bufferViewDescriptor)
 
void EraseResourceView (ResourceView *resourceView) const
 Removes the provided ResourceView from the cache.
 
- 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.
 

Protected Member Functions

void SetDescriptor (const BufferDescriptor &descriptor)
 
- Protected Member Functions inherited from AZ::RHI::Resource
Ptr< ImageViewGetResourceView (const ImageViewDescriptor &imageViewDescriptor) const
 Returns view based on the descriptor.
 
Ptr< BufferViewGetResourceView (const BufferViewDescriptor &bufferViewDescriptor) const
 
- 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
 

Friends

class BufferPoolBase
 

Additional Inherited Members

- Protected Attributes inherited from AZ::RHI::Object
AZStd::atomic_int m_useCount = 0
 

Detailed Description

A buffer corresponds to a region of linear memory and used for rendering operations. The user manages the lifecycle of a buffer through a BufferPool.

Member Function Documentation

◆ ReportMemoryUsage()

void AZ::RHI::Buffer::ReportMemoryUsage ( MemoryStatisticsBuilder builder) const
overridevirtual

This implementation estimates memory usage using the descriptor. Platforms may override to report more accurate usage metrics.

Implements AZ::RHI::Resource.


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