VV::V1::Semaphore struct

Semaphores are a synchronization primitive that can be used to insert a dependency between queue operations or between a queue operation and the host. Binary semaphores have two states - signaled and unsignaled.

Specification

Base classes

template<EOS>
struct VV::V0::Semaphore_Maker<V0::OS_Platform>

Derived classes

struct VV::V2::Semaphore
Semaphores are a synchronization primitive that can be used to insert a dependency between queue operations or between a queue operation and the host. Binary semaphores have two states - signaled and unsignaled.

Public types

struct CreateInfo
Specification APISpec_Synchronization_and_Cache_Control
struct ExportCreateInfo
Specification
struct SignalInfo
Specification
struct TypeSpecifiedCreateInfo
Specification
struct WaitInfo
Specification

Public static functions

static auto Create(LogicalDevice::Handle _device, const CreateInfo& _createInfo, const Memory::AllocationCallbacks* _allocator, Handle& _semaphore) -> EResult
Create a semaphore.
static void Destroy(LogicalDevice::Handle _device, Handle _semaphore, const Memory::AllocationCallbacks* _allocator)
Destroy a semaphore.
static auto GetCounterValue(LogicalDevice::Handle _device, Handle _semaphore, u64& _value) -> EResult
Query the current counter value of a semaphore created with a SemaphoreType of Timeline from the host.
static auto Signal(LogicalDevice::Handle _device, const SignalInfo& _signalInfo) -> EResult
Signal a semaphore created with a SemaphoreType of Timeline with a particular counter value, on the host.
static auto WaitFor(LogicalDevice::Handle _device, const WaitInfo& _waitInfo, u64 _timeout) -> EResult
Wait for a set of semaphores created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_TIMELINE to reach particular counter values on the host.