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::Metal::AsyncUploadQueue Class Referencefinal

#include <AsyncUploadQueue.h>

Inherits AZ::RHI::DeviceObject.

Classes

struct  Descriptor
 

Public Member Functions

 AZ_DISABLE_COPY_MOVE (AsyncUploadQueue)
 
void Init (Device &device, const Descriptor &descriptor)
 
void Shutdown ()
 Clears the current bound device to null.
 
uint64_t QueueUpload (const RHI::BufferStreamRequest &request)
 
RHI::AsyncWorkHandle QueueUpload (const RHI::StreamingImageExpandRequest &request, uint32_t residentMip)
 
bool IsUploadFinished (uint64_t fenceValue)
 
void WaitForUpload (const RHI::AsyncWorkHandle &workHandle)
 
- 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.
 

Additional Inherited Members

- 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
 

Detailed Description

This class implements a dedicated upload queue for uploading data to device resources in its own thread. It's using idea of ring buffer for staging memory. It supports buffer data uploading.

Member Function Documentation

◆ QueueUpload() [1/2]

uint64_t AZ::Metal::AsyncUploadQueue::QueueUpload ( const RHI::BufferStreamRequest request)

Queue copy commands to upload buffer resource

Returns
queue id which can be use to check whether upload finished or wait for upload finish

◆ QueueUpload() [2/2]

RHI::AsyncWorkHandle AZ::Metal::AsyncUploadQueue::QueueUpload ( const RHI::StreamingImageExpandRequest request,
uint32_t  residentMip 
)

Queue copy commands to upload image subresources.

Parameters
residentMipis the resident mip level the expand request starts from.
Returns
queue id which can be use to check whether upload finished or wait for upload finish

◆ Shutdown()

void AZ::Metal::AsyncUploadQueue::Shutdown ( )
virtual

Clears the current bound device to null.

Reimplemented from AZ::RHI::DeviceObject.


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