Open 3D Engine Atom Gem API Reference  22.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AZ::RHI::Fence Class Referenceabstract

Inherits AZ::RHI::DeviceObject.

Public Types

using SignalCallback = AZStd::function< void()>
 

Public Member Functions

 AZ_RTTI (Fence, "{D66C8B8F-226A-4018-89C1-F190A730CBC3}", Object)
 
ResultCode Init (Device &device, FenceState initialState)
 Initializes the fence using the provided device and initial state.
 
void Shutdown () override final
 Shuts down the fence.
 
RHI::ResultCode SignalOnCpu ()
 Signals the fence from the calling thread.
 
RHI::ResultCode WaitOnCpu () const
 Waits (blocks) for the fence on the calling thread.
 
RHI::ResultCode Reset ()
 Resets the fence.
 
FenceState GetFenceState () const
 Returns whether the fence is signaled or not.
 
ResultCode WaitOnCpuAsync (SignalCallback callback)
 
- 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)
 
const Name & GetName () const
 

Protected Member Functions

bool ValidateIsInitialized () const
 
- Protected Member Functions inherited from AZ::RHI::DeviceObject
void Init (Device &device)
 The derived class should call this method to assign the device.
 

Protected Attributes

AZStd::thread m_waitThread
 

Member Function Documentation

◆ WaitOnCpuAsync()

ResultCode AZ::RHI::Fence::WaitOnCpuAsync ( SignalCallback  callback)

Spawns a dedicated thread to wait on the fence. The provided callback is invoked when the fence completes.


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