#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 BufferDescriptor & | GetDescriptor () const |
void | ReportMemoryUsage (MemoryStatisticsBuilder &builder) const override |
const BufferFrameAttachment * | GetFrameAttachment () const |
Returns the buffer frame attachment if the buffer is currently attached. | |
Ptr< BufferView > | GetBufferView (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 ResourcePool * | GetPool () const |
ResourcePool * | GetPool () |
uint32_t | GetVersion () const |
virtual void | ReportMemoryUsage (MemoryStatisticsBuilder &builder) const =0 |
Reports memory usage of this image to the memory statistics builder. | |
const FrameAttachment * | GetFrameAttachment () 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. | |
Device & | GetDevice () 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< ImageView > | GetResourceView (const ImageViewDescriptor &imageViewDescriptor) const |
Returns view based on the descriptor. | |
Ptr< BufferView > | GetResourceView (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 |
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.
|
overridevirtual |
This implementation estimates memory usage using the descriptor. Platforms may override to report more accurate usage metrics.
Implements AZ::RHI::Resource.