pub struct Family<B: Backend, C = QueueType> { /* private fields */ }
Expand description
Family of the command queues. Queues from one family can share resources and execute command buffers associated with the family. All queues of the family have same capabilities.
Implementations§
Source§impl<B, C> Family<B, C>where
B: Backend,
impl<B, C> Family<B, C>where
B: Backend,
Sourcepub fn assert_device_owner(&self, device: &Device<B>)
pub fn assert_device_owner(&self, device: &Device<B>)
Assert specified device is owner.
Sourcepub fn instance_id(&self) -> InstanceId
pub fn instance_id(&self) -> InstanceId
Get owned id.
Sourcepub fn assert_instance_owner(&self, instance: &Instance<B>)
pub fn assert_instance_owner(&self, instance: &Instance<B>)
Assert specified instance is owner.
Source§impl<B> Family<B, QueueType>where
B: Backend,
impl<B> Family<B, QueueType>where
B: Backend,
Sourcepub unsafe fn from_device(
queue_groups: &mut Vec<QueueGroup<B>>,
id: FamilyId,
count: usize,
family: &impl QueueFamily,
) -> Self
pub unsafe fn from_device( queue_groups: &mut Vec<QueueGroup<B>>, id: FamilyId, count: usize, family: &impl QueueFamily, ) -> Self
Query queue family from device.
§Safety
This function shouldn’t be used more then once with the same parameters.
Raw queue handle queried from device can make Family
usage invalid.
family
must be one of the family indices used during device
creation.
properties
must be the properties retuned for queue family from physical device.
Source§impl<B, C> Family<B, C>where
B: Backend,
impl<B, C> Family<B, C>where
B: Backend,
Sourcepub fn as_slice_mut(&mut self) -> &mut [Queue<B>]
pub fn as_slice_mut(&mut self) -> &mut [Queue<B>]
Get queues of the family.
Sourcepub fn create_pool<R>(
&self,
device: &Device<B>,
) -> Result<CommandPool<B, C, R>, OutOfMemory>where
R: Reset,
C: Capability,
pub fn create_pool<R>(
&self,
device: &Device<B>,
) -> Result<CommandPool<B, C, R>, OutOfMemory>where
R: Reset,
C: Capability,
Create command pool associated with the family. Command buffers created from the pool could be submitted to the queues of the family.
Sourcepub fn capability(&self) -> Cwhere
C: Capability,
pub fn capability(&self) -> Cwhere
C: Capability,
Get family capability.
Sourcepub fn with_queue_type(self) -> Family<B, QueueType>where
C: Capability,
pub fn with_queue_type(self) -> Family<B, QueueType>where
C: Capability,
Convert capability from type-level to value-level.
Sourcepub fn with_capability<U>(self) -> Result<Family<B, U>, Self>where
C: Supports<U>,
pub fn with_capability<U>(self) -> Result<Family<B, U>, Self>where
C: Supports<U>,
Convert capability into type-level one.