pub enum QueueFamilyOwnershipTransfer {
ExclusiveBetweenLocal {
src_index: u32,
dst_index: u32,
},
ExclusiveToExternal {
src_index: u32,
},
ExclusiveFromExternal {
dst_index: u32,
},
ExclusiveToForeign {
src_index: u32,
},
ExclusiveFromForeign {
dst_index: u32,
},
ConcurrentToExternal,
ConcurrentFromExternal,
ConcurrentToForeign,
ConcurrentFromForeign,
}Expand description
Specifies a queue family ownership transfer for a resource.
There are three classes of queues that can be used in an ownership transfer:
- A local queue exists on the current
InstanceandDevice. - An external queue does not exist on the current
Instance, but has the samedevice_uuidanddriver_uuidas the currentDevice. - A foreign queue can be an external queue, or any queue on another device for which the mentioned parameters do not match.
Variants§
ExclusiveBetweenLocal
For a resource with Sharing::Exclusive, transfers ownership between two local queues.
Fields
ExclusiveToExternal
For a resource with Sharing::Exclusive, transfers ownership from a local queue to an
external queue.
The device API version must be at least 1.1, or the khr_external_memory extension must
be enabled on the device.
ExclusiveFromExternal
For a resource with Sharing::Exclusive, transfers ownership from an external queue to a
local queue.
The device API version must be at least 1.1, or the khr_external_memory extension must
be enabled on the device.
ExclusiveToForeign
For a resource with Sharing::Exclusive, transfers ownership from a local queue to a
foreign queue.
The ext_queue_family_foreign extension must be enabled on the device.
ExclusiveFromForeign
For a resource with Sharing::Exclusive, transfers ownership from a foreign queue to a
local queue.
The ext_queue_family_foreign extension must be enabled on the device.
ConcurrentToExternal
For a resource with Sharing::Concurrent, transfers ownership from its local queues to
an external queue.
The device API version must be at least 1.1, or the khr_external_memory extension must
be enabled on the device.
ConcurrentFromExternal
For a resource with Sharing::Concurrent, transfers ownership from an external queue to
its local queues.
The device API version must be at least 1.1, or the khr_external_memory extension must
be enabled on the device.
ConcurrentToForeign
For a resource with Sharing::Concurrent, transfers ownership from its local queues to
a foreign queue.
The ext_queue_family_foreign extension must be enabled on the device.
ConcurrentFromForeign
For a resource with Sharing::Concurrent, transfers ownership from a foreign queue to
its local queues.
The ext_queue_family_foreign extension must be enabled on the device.
Trait Implementations§
Source§impl Clone for QueueFamilyOwnershipTransfer
impl Clone for QueueFamilyOwnershipTransfer
Source§fn clone(&self) -> QueueFamilyOwnershipTransfer
fn clone(&self) -> QueueFamilyOwnershipTransfer
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more