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

#include <ImagePoolResolver.h>

Inherits AZ::Vulkan::ResourcePoolResolver.

Public Member Functions

 AZ_RTTI (ImagePoolResolver, "{8112B50E-E26D-4686-87A3-0757A90BE4EF}", Base)
 
 AZ_CLASS_ALLOCATOR (ImagePoolResolver, AZ::SystemAllocator)
 
 ImagePoolResolver (Device &device)
 
RHI::ResultCode UpdateImage (const RHI::ImageUpdateRequest &request, size_t &bytesTransferred)
 Uploads new content to an image subresource.
 
void Compile (const RHI::HardwareQueueClass hardwareClass) override
 ResourcePoolResolver.
 
void Resolve (CommandList &commandList) override
 Performs resolve-specific copy / streaming operations.
 
void Deactivate () override
 Called at the end of the frame after execution.
 
void OnResourceShutdown (const RHI::Resource &resource) override
 Called when a resource from the pool is being Shutdown.
 
void QueuePrologueTransitionBarriers (CommandList &commandList) override
 Queues transition barriers at the beginning of a scope.
 
void QueueEpilogueTransitionBarriers (CommandList &commandList) override
 Queues transition barriers at the end of a scope.
 
- Public Member Functions inherited from AZ::Vulkan::ResourcePoolResolver
 AZ_RTTI (ResourcePoolResolver, "F5FDB9DF-0C3A-4AC8-9E86-9ADABCD1267F", RHI::ResourcePoolResolver)
 
 ResourcePoolResolver (Device &device)
 
virtual void Compile (const RHI::HardwareQueueClass hardwareClass)
 Called during compilation of the frame, prior to execution.
 
virtual void QueuePrologueTransitionBarriers (CommandList &)
 Queues transition barriers at the beginning of a scope.
 
virtual void Resolve (CommandList &)
 Performs resolve-specific copy / streaming operations.
 
virtual void QueueEpilogueTransitionBarriers (CommandList &)
 Queues transition barriers at the end of a scope.
 
virtual void Deactivate ()
 Called at the end of the frame after execution.
 
virtual void OnResourceShutdown (const RHI::Resource &resource)
 Called when a resource from the pool is being Shutdown.
 
DeviceGetDevice () const
 
- Public Member Functions inherited from AZ::RHI::ResourcePoolResolver
 AZ_RTTI (ResourcePoolResolver, "{2468216A-46EF-483C-9D0D-66F2EFC937BD}")
 

Additional Inherited Members

- Protected Attributes inherited from AZ::Vulkan::ResourcePoolResolver
Devicem_device
 

Detailed Description

Provides a way to update an image content using a staging buffer. This class is in charge of doing the appropiate barrier transitions before and after updating the image.

The ImagePoolResolver is part of an ImagePool and the Resolve function must be called from a scope in order to execute the image updates.

Member Function Documentation

◆ Compile()

void AZ::Vulkan::ImagePoolResolver::Compile ( const RHI::HardwareQueueClass  hardwareClass)
overridevirtual

◆ Deactivate()

void AZ::Vulkan::ImagePoolResolver::Deactivate ( )
overridevirtual

Called at the end of the frame after execution.

Reimplemented from AZ::Vulkan::ResourcePoolResolver.

◆ OnResourceShutdown()

void AZ::Vulkan::ImagePoolResolver::OnResourceShutdown ( const RHI::Resource resource)
overridevirtual

Called when a resource from the pool is being Shutdown.

Reimplemented from AZ::Vulkan::ResourcePoolResolver.

◆ QueueEpilogueTransitionBarriers()

void AZ::Vulkan::ImagePoolResolver::QueueEpilogueTransitionBarriers ( CommandList )
overridevirtual

Queues transition barriers at the end of a scope.

Reimplemented from AZ::Vulkan::ResourcePoolResolver.

◆ QueuePrologueTransitionBarriers()

void AZ::Vulkan::ImagePoolResolver::QueuePrologueTransitionBarriers ( CommandList )
overridevirtual

Queues transition barriers at the beginning of a scope.

Reimplemented from AZ::Vulkan::ResourcePoolResolver.

◆ Resolve()

void AZ::Vulkan::ImagePoolResolver::Resolve ( CommandList )
overridevirtual

Performs resolve-specific copy / streaming operations.

Reimplemented from AZ::Vulkan::ResourcePoolResolver.


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