#include <ImagePool.h>
Inherits AZ::RHI::ImagePoolBase.
Public Member Functions | |
| AZ_CLASS_ALLOCATOR (ImagePool, AZ::SystemAllocator, 0) | |
| AZ_RTTI (ImagePool, "{11D804D0-8332-490B-8A3E-BE279FCEFB8E}", ImagePoolBase) | |
| AZ_RHI_MULTI_DEVICE_OBJECT_GETTER (ImagePool) | |
| ResultCode | Init (const ImagePoolDescriptor &descriptor) |
| Initializes the pool. The pool must be initialized before images can be registered with it. | |
| ResultCode | InitImage (const ImageInitRequest &request) |
| Initializes an image onto the pool. The pool provides backing GPU resources to the image. | |
| ResultCode | UpdateImageDeviceMask (const ImageDeviceMaskRequest &request) |
| Updates the device mask of an image instance created from this pool. | |
| ResultCode | UpdateImageContents (const ImageUpdateRequest &request) |
| Updates image content from the CPU. | |
| const ImagePoolDescriptor & | GetDescriptor () const override final |
| Returns the descriptor used to initialize the pool. | |
| void | Shutdown () override final |
| Shuts down the pool. This method will shutdown all resources associated with the pool. | |
Public Member Functions inherited from AZ::RHI::ImagePoolBase | |
| AZ_RTTI (ImagePoolBase, "{CAC2167A-D65A-493F-A450-FDE2B1A883B1}", ResourcePool) | |
Public Member Functions inherited from AZ::RHI::ResourcePool | |
| AZ_RTTI (ResourcePool, "{BAE5442C-A312-4133-AE80-1200753A7C3E}", MultiDeviceObject) | |
| template<typename ResourceType > | |
| void | ForEach (AZStd::function< void(ResourceType &)> callback) |
| template<typename ResourceType > | |
| void | ForEach (AZStd::function< void(const ResourceType &)> callback) const |
| uint32_t | GetResourceCount () const |
| Returns the number of resources in the pool. | |
Public Member Functions inherited from AZ::RHI::MultiDeviceObject | |
| AZ_RTTI (MultiDeviceObject, "{17D34F71-944C-4AF5-9823-627474C4C0A6}", Object) | |
| bool | IsInitialized () const |
| Returns whether the device object is initialized. | |
| AZ_FORCE_INLINE bool | IsDeviceSet (int deviceIndex) const |
| MultiDevice::DeviceMask | GetDeviceMask () 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. | |
Additional Inherited Members | |
Static Public Member Functions inherited from AZ::RHI::MultiDeviceObject | |
| template<typename T > | |
| static AZ_FORCE_INLINE void | IterateDevices (MultiDevice::DeviceMask deviceMask, T callback) |
Protected Types inherited from AZ::RHI::ResourcePool | |
| using | PlatformMethod = AZStd::function< RHI::ResultCode()> |
| //!//!//!//!//!//!//!//!//!//!//!//!//!//!//!//!//!//!//!//!//!//!//!// | |
Protected Member Functions inherited from AZ::RHI::ImagePoolBase | |
| ResultCode | InitImage (Image *image, const ImageDescriptor &descriptor, PlatformMethod platformInitResourceMethod) |
Protected Member Functions inherited from AZ::RHI::ResourcePool | |
| ResultCode | Init (MultiDevice::DeviceMask deviceMask, const PlatformMethod &initMethod) |
| ResultCode | InitResource (Resource *resource, const PlatformMethod &initResourceMethod) |
| bool | ValidateIsRegistered (const Resource *resource) const |
| bool | ValidateIsUnregistered (const Resource *resource) const |
| bool | ValidateIsInitialized () const |
| Validates that the resource pool is initialized and ready to service requests. | |
Protected Member Functions inherited from AZ::RHI::MultiDeviceObject | |
| void | Init (MultiDevice::DeviceMask deviceMask) |
| The derived class should call this method to assign the device. | |
| template<typename T > | |
| AZ_FORCE_INLINE void | IterateDevices (T callback) |
| Helper method that will iterate over all selected devices and call the provided callback. | |
| template<typename T , typename U > | |
| AZ_FORCE_INLINE decltype(auto) | IterateObjects (U callback) |
| template<typename T , typename U > | |
| AZ_FORCE_INLINE decltype(auto) | IterateObjects (U callback) const |
| template<typename T > | |
| AZ_FORCE_INLINE Ptr< T > | GetDeviceObject (int deviceIndex) const |
Protected Member Functions inherited from AZ::RHI::Object | |
| void | add_ref () const |
| void | release () const |
Protected Attributes inherited from AZ::RHI::MultiDeviceObject | |
| AZStd::unordered_map< int, Ptr< DeviceObject > > | m_deviceObjects |
| A map of all device-specific objects, indexed by the device index. | |
Protected Attributes inherited from AZ::RHI::Object | |
| AZStd::atomic_int | m_useCount = 0 |
ImagePool is a pool of images that will be bound as attachments to the frame scheduler. As a result, they are intended to be produced and consumed by the GPU. Persistent Color / Depth Stencil / Image attachments should be created from this pool. This pool is not designed for intra-frame aliasing. If transient images are required, they can be created from the frame scheduler itself.
|
finaloverridevirtual |
Returns the descriptor used to initialize the pool.
Implements AZ::RHI::ResourcePool.
|
finaloverridevirtual |
Shuts down the pool. This method will shutdown all resources associated with the pool.
Implements AZ::RHI::ResourcePool.