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::Image Class Referencefinal

Inherits AZ::RHI::Image.

Public Types

enum class  InitFlags : uint32_t { None = 0 , TrySparse = AZ_BIT(0) }
 Flags used for initializing an image.
 
using ImageOwnerProperty = RHI::ImageProperty< QueueId >
 
using SubresourceRangeOwner = ImageOwnerProperty::PropertyRange
 
using ImageLayoutProperty = RHI::ImageProperty< VkImageLayout >
 
using SubresourceRangeLayout = ImageLayoutProperty::PropertyRange
 

Public Member Functions

 AZ_CLASS_ALLOCATOR (Image, AZ::SystemAllocator)
 
 AZ_RTTI (Image, "725F56BF-5CCA-4110-91EE-C94E84A35B2C", Base)
 
void Invalidate ()
 
VkImage GetNativeImage () const
 
bool IsOwnerOfNativeImage () const
 
bool IsSparse () const
 
VkMemoryRequirements GetMemoryRequirements (uint16_t residentMipLevel) const
 
VkImageAspectFlags GetImageAspectFlags () const
 
size_t GetResidentSizeInBytes () const
 
void SetResidentSizeInBytes (size_t sizeInBytes)
 
uint16_t GetStreamedMipLevel () const
 
void SetStreamedMipLevel (uint16_t mipLevel)
 
void FinalizeAsyncUpload (uint16_t newStreamedMipLevels)
 
void SetUploadHandle (const RHI::AsyncWorkHandle &handle)
 
const RHI::AsyncWorkHandleGetUploadHandle () const
 
AZStd::vector< SubresourceRangeOwner > GetOwnerQueue (const RHI::ImageSubresourceRange *range=nullptr) const
 
AZStd::vector< SubresourceRangeOwner > GetOwnerQueue (const RHI::ImageView &view) const
 
void SetOwnerQueue (const QueueId &queueId, const RHI::ImageSubresourceRange *range=nullptr)
 
void SetOwnerQueue (const QueueId &queueId, const RHI::ImageView &view)
 
AZStd::vector< SubresourceRangeLayout > GetLayout (const RHI::ImageSubresourceRange *range=nullptr) const
 
void SetLayout (VkImageLayout layout, const RHI::ImageSubresourceRange *range=nullptr)
 
VkImageUsageFlags GetUsageFlags () const
 
- Public Member Functions inherited from AZ::RHI::Image
 AZ_RTTI (Image, "{39FFE66C-805A-41AD-9092-91327D51F64B}", Resource)
 
const ImageDescriptorGetDescriptor () const
 
void GetSubresourceLayouts (const ImageSubresourceRange &subresourceRange, ImageSubresourceLayout *subresourceLayouts, size_t *totalSizeInBytes) const
 
void ReportMemoryUsage (MemoryStatisticsBuilder &builder) const override
 
uint32_t GetResidentMipLevel () const
 
HardwareQueueClassMask GetSupportedQueueMask () const
 
const ImageFrameAttachmentGetFrameAttachment () const
 
Ptr< ImageViewGetImageView (const ImageViewDescriptor &imageViewDescriptor)
 
ImageAspectFlags GetAspectFlags () const
 Returns the aspects that are included in the image.
 
const HashValue64 GetHash () const
 Get the hash associated with the passed image descriptor.
 
bool IsStreamable () const
 Returns whether the image has sub-resources which can be evicted from or streamed into the device memory.
 
- 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.
 

Static Public Member Functions

static RHI::Ptr< ImageCreate ()
 

Friends

class ImagePool
 
class StreamingImagePool
 
class AliasedHeap
 
class Device
 
class SwapChain
 

Additional Inherited Members

virtual void SetDescriptor (const ImageDescriptor &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
 
- Protected Attributes inherited from AZ::RHI::Object
AZStd::atomic_int m_useCount = 0
 

Constructor & Destructor Documentation

◆ ~Image()

AZ::Vulkan::Image::~Image ( )
virtual

Reimplemented from AZ::RHI::Image.


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