|
UraniumCompute 0.1.0
A GPU accelerated parallel task scheduler
|
An interface for fences - synchronization primitives that can be either signaled or reset. More...
#include <IFence.h>
Public Types | |
| using | DescriptorType = FenceDesc |
Public Member Functions | |
| virtual const DescriptorType & | GetDesc () const =0 |
| virtual ResultCode | Init (const DescriptorType &desc)=0 |
| virtual ResultCode | SignalOnCpu ()=0 |
| Signal the fence on CPU. More... | |
| virtual ResultCode | WaitOnCpu (std::chrono::nanoseconds timeout)=0 |
| Wait for the fence to signal. More... | |
| virtual ResultCode | WaitOnCpu ()=0 |
| Wait for the fence to signal. More... | |
| virtual void | ResetState ()=0 |
| Reset fence state. More... | |
| virtual FenceState | GetState ()=0 |
| Get current fence state. More... | |
Public Member Functions inherited from UN::IDeviceObject | |
| virtual std::string_view | GetDebugName () const =0 |
| Get debug name of the object. | |
| virtual void | Reset ()=0 |
| Reset the object to uninitialized state. More... | |
| virtual IComputeDevice * | GetDevice () const =0 |
| Get the compute device this object was created on. More... | |
Public Member Functions inherited from UN::IObject | |
| virtual UInt32 | AddRef ()=0 |
| Add a strong reference to object's reference counter. More... | |
| virtual UInt32 | Release ()=0 |
| Remove a strong reference from object's reference counter. More... | |
| virtual void | AttachRefCounter (ReferenceCounter *counter)=0 |
| Attach a ReferenceCounter to this object. More... | |
| virtual ReferenceCounter * | GetRefCounter ()=0 |
| Get reference counter that belongs to this object. More... | |
An interface for fences - synchronization primitives that can be either signaled or reset.
|
pure virtual |
Get current fence state.
Implemented in UN::VulkanFence.
|
pure virtual |
Reset fence state.
Implemented in UN::VulkanFence.
|
pure virtual |
Signal the fence on CPU.
Implemented in UN::VulkanFence.
|
pure virtual |
Wait for the fence to signal.
Same as WaitOnCpu(std::chrono::nanoseconds), but without a timeout.
Implemented in UN::VulkanFence.
|
pure virtual |
Wait for the fence to signal.
| timeout | - Waiting timeout in nanoseconds. |
Implemented in UN::VulkanFence.