#[non_exhaustive]#[repr(u32)]pub enum ExternalSemaphoreHandleType {
OpaqueFd = 1,
OpaqueWin32 = 2,
OpaqueWin32Kmt = 4,
D3D12Fence = 8,
SyncFd = 16,
ZirconEvent = 128,
}
Expand description
The handle type used to export or import semaphores to/from an external source.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
OpaqueFd = 1
A POSIX file descriptor handle that is only usable with Vulkan and compatible APIs.
This handle type has reference transference.
OpaqueWin32 = 2
A Windows NT handle that is only usable with Vulkan and compatible APIs.
This handle type has reference transference.
OpaqueWin32Kmt = 4
A Windows global share handle that is only usable with Vulkan and compatible APIs.
This handle type has reference transference.
D3D12Fence = 8
A Windows NT handle that refers to a Direct3D 11 or 12 fence.
This handle type has reference transference.
SyncFd = 16
A POSIX file descriptor handle to a Linux Sync File or Android Fence object.
This handle type has copy transference.
ZirconEvent = 128
A handle to a Zircon event object.
This handle type has reference transference.
The fuchsia_external_semaphore
extension must be enabled on the device.
Implementations§
source§impl ExternalSemaphoreHandleType
impl ExternalSemaphoreHandleType
sourcepub fn has_copy_transference(self) -> bool
pub fn has_copy_transference(self) -> bool
Returns whether the given handle type has copy transference rather than reference transference.
Imports of handles with copy transference must always be temporary. Exports of such handles must only occur if no queue is waiting on the semaphore, and only if the semaphore is already signaled, or if there is a semaphore signal operation pending in a queue.
Trait Implementations§
source§impl Clone for ExternalSemaphoreHandleType
impl Clone for ExternalSemaphoreHandleType
source§fn clone(&self) -> ExternalSemaphoreHandleType
fn clone(&self) -> ExternalSemaphoreHandleType
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ExternalSemaphoreHandleType
impl Debug for ExternalSemaphoreHandleType
source§impl From<ExternalSemaphoreHandleType> for ExternalSemaphoreHandleTypeFlags
impl From<ExternalSemaphoreHandleType> for ExternalSemaphoreHandleTypeFlags
source§fn from(val: ExternalSemaphoreHandleType) -> Self
fn from(val: ExternalSemaphoreHandleType) -> Self
source§impl From<ExternalSemaphoreHandleType> for ExternalSemaphoreHandleTypes
impl From<ExternalSemaphoreHandleType> for ExternalSemaphoreHandleTypes
source§fn from(val: ExternalSemaphoreHandleType) -> Self
fn from(val: ExternalSemaphoreHandleType) -> Self
source§impl FromIterator<ExternalSemaphoreHandleType> for ExternalSemaphoreHandleTypes
impl FromIterator<ExternalSemaphoreHandleType> for ExternalSemaphoreHandleTypes
source§fn from_iter<T>(iter: T) -> Selfwhere
T: IntoIterator<Item = ExternalSemaphoreHandleType>,
fn from_iter<T>(iter: T) -> Selfwhere T: IntoIterator<Item = ExternalSemaphoreHandleType>,
source§impl Hash for ExternalSemaphoreHandleType
impl Hash for ExternalSemaphoreHandleType
source§impl PartialEq for ExternalSemaphoreHandleType
impl PartialEq for ExternalSemaphoreHandleType
source§fn eq(&self, other: &ExternalSemaphoreHandleType) -> bool
fn eq(&self, other: &ExternalSemaphoreHandleType) -> bool
self
and other
values to be equal, and is used
by ==
.