|
|
| AZ_CLASS_ALLOCATOR (Fence, AZ::SystemAllocator, 0) |
| |
|
| AZ_RTTI (Fence, "{5FF150A4-2C1E-4EC6-AE36-8EBD1CE22C31}", MultiDeviceObject) |
| |
|
| AZ_RHI_MULTI_DEVICE_OBJECT_GETTER (Fence) |
| |
| ResultCode | Init (MultiDevice::DeviceMask deviceMask, FenceState initialState, bool usedForWaitingOnDevice=false, AZStd::optional< int > ownerDeviceIndex={}) |
| |
| void | Shutdown () override final |
| | Shuts down all device-specific fences.
|
| |
|
RHI::ResultCode | SignalOnCpu () |
| | Signals the device-specific fences managed by this class.
|
| |
|
RHI::ResultCode | Reset () |
| | Resets the device-specific fences.
|
| |
|
| 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 |
| |
|
| 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.
|
| |
|
|
bool | ValidateIsInitialized () const |
| |
|
void | Init (MultiDevice::DeviceMask deviceMask) |
| | The derived class should call this method to assign the device.
|
| |
| void | Shutdown () override |
| | Clears the current bound device to null.
|
| |
|
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 |
| |
|
void | add_ref () const |
| |
| void | release () const |
| |
A multi-device synchronization primitive, holding device-specific Fences, than can be used to insert dependencies between a queue and a host