VV::V1::Fence struct

Fences are a synchronization primitive that can be used to insert a dependency from a queue to the host. Fences have two states - signaled and unsignaled.

Specification

Base classes

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

Derived classes

struct VV::V2::Fence
Fences are a synchronization primitive that can be used to insert a dependency from a queue to the host. Fences have two states - signaled and unsignaled.

Public types

struct CreateInfo
Specification
struct DeviceEventInfo
Specification
struct DisplayEventInfo
Specification
struct ExportCreateInfo
Specification
using CreateFlags = Bitfield<EFenceCreateFlag, VkFenceCreateFlags>
Specification
using ExternalHandleFlags = Bitfield<EExternalFenceHandleTypeFlag, VkExternalFenceHandleTypeFlags>
Specification

Public static functions

static auto Create(LogicalDevice::Handle _logicalDevice, const CreateInfo& _createInfo, const Memory::AllocationCallbacks* _allocator, Handle& _fence) -> EResult
Create a fence.
static void Destroy(LogicalDevice::Handle _logicalDevice, Handle _fence, const Memory::AllocationCallbacks* _allocator)
Destroy a fence.
static auto GetStatus(LogicalDevice::Handle _logicalDevice, Handle _fence) -> EResult
Export a Windows handle representing the state of a fence.
static auto RegisterDeviceEvent(LogicalDevice::Handle _device, const DeviceEventInfo& _deviceEventInfo, const Memory::AllocationCallbacks* _allocator, Handle& _fence) -> EResult
Create a fence that will be signaled when an event occurs on a device.
static auto RegisterDisplayEvent(LogicalDevice::Handle _device, Display::Handle _display, const DisplayEventInfo& _displayEventInfo, const Memory::AllocationCallbacks* _allocator, Handle& _fence) -> EResult
Create a fence that will be signaled when an event occurs on a Display object.
static auto Reset(LogicalDevice::Handle _logicalDevice, Handle* _fences, ui32 _fenceCount) -> EResult
Specification
static auto WaitForFences(LogicalDevice::Handle _device, ui32 _fenceCount, const Handle* _fences, Bool _waitAll, u64 _timeout) -> EResult
Wait for one or more fences to enter the signaled state on the host.