[][src]Struct rendy_command::Family

pub struct Family<B: Backend, C = QueueType> { /* fields omitted */ }

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

impl<B, C> Family<B, C> where
    B: Backend
[src]

pub fn device_id(&self) -> DeviceId[src]

Get owned id.

pub fn assert_device_owner(&self, device: &Device<B>)[src]

Assert specified device is owner.

pub fn instance_id(&self) -> InstanceId[src]

Get owned id.

pub fn assert_instance_owner(&self, instance: &Instance<B>)[src]

Assert specified instance is owner.

impl<B> Family<B, QueueType> where
    B: Backend
[src]

pub unsafe fn from_device(
    queue_groups: &mut Vec<QueueGroup<B>>,
    id: FamilyId,
    count: usize,
    family: &impl QueueFamily
) -> Self
[src]

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.

impl<B, C> Family<B, C> where
    B: Backend
[src]

pub fn id(&self) -> FamilyId[src]

Get id of the family.

pub fn queue(&self, index: usize) -> &Queue<B>[src]

Get queue by index

pub fn queue_mut(&mut self, index: usize) -> &mut Queue<B>[src]

Get queue by index

pub fn as_slice(&self) -> &[Queue<B>][src]

Get queues of the family.

pub fn as_slice_mut(&mut self) -> &mut [Queue<B>][src]

Get queues of the family.

pub fn create_pool<R>(
    &self,
    device: &Device<B>
) -> Result<CommandPool<B, C, R>, OutOfMemory> where
    R: Reset,
    C: Capability
[src]

Create command pool associated with the family. Command buffers created from the pool could be submitted to the queues of the family.

pub fn capability(&self) -> C where
    C: Capability
[src]

Get family capability.

pub fn with_queue_type(self) -> Family<B, QueueType> where
    C: Capability
[src]

Convert capability from type-level to value-level.

pub fn with_capability<U>(self) -> Result<Family<B, U>, Self> where
    C: Supports<U>, 
[src]

Convert capability into type-level one.

Trait Implementations

impl<B: Debug + Backend, C: Debug> Debug for Family<B, C>[src]

Auto Trait Implementations

impl<B, C> RefUnwindSafe for Family<B, C> where
    C: RefUnwindSafe,
    <B as Backend>::CommandQueue: RefUnwindSafe

impl<B, C> Send for Family<B, C> where
    C: Send,
    <B as Backend>::CommandQueue: Send

impl<B, C> Sync for Family<B, C> where
    C: Sync,
    <B as Backend>::CommandQueue: Sync

impl<B, C> Unpin for Family<B, C> where
    C: Unpin,
    <B as Backend>::CommandQueue: Unpin

impl<B, C> UnwindSafe for Family<B, C> where
    C: UnwindSafe,
    <B as Backend>::CommandQueue: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.