[][src]Struct rendy_command::CommandPool

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

Simple pool wrapper. Doesn't provide any guarantees. Wraps raw buffers into CommandCommand buffer.

Methods

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

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

Get owner id.

pub fn assert_family_owner(&self, family: &Family<B, C>)[src]

Assert specified family is owner.

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

Assert specified device is owner.

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

Assert specified instance is owner.

impl<B, C, R> CommandPool<B, C, R> where
    B: Backend,
    R: Reset
[src]

pub unsafe fn create(
    family: FamilyId,
    capability: C,
    device: &Device<B>
) -> Result<Self, 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.

Safety

Family must belong to specified device. Family must have specified capability.

pub unsafe fn from_raw(
    raw: B::CommandPool,
    capability: C,
    reset: R,
    family: FamilyId
) -> Self
[src]

Wrap raw command pool.

Safety

  • raw must be valid command pool handle.
  • The command pool must be created for specified family index.
  • capability must be subset of capabilites of the family the pool was created for.
  • if reset is IndividualReset the pool must be created with individual command buffer reset flag set.

pub fn allocate_buffers<L: Level>(
    &mut self,
    count: usize
) -> Vec<CommandBuffer<B, C, InitialState, L, R>> where
    L: Level,
    C: Capability
[src]

Allocate new command buffers.

pub unsafe fn free_buffers(
    &mut self,
    buffers: impl IntoIterator<Item = CommandBuffer<B, C, impl Resettable, impl Level, R>>
)
[src]

Free buffers. Buffers must be in droppable state. TODO: Validate buffers were allocated from this pool.

pub unsafe fn reset(&mut self)[src]

Reset all buffers of this pool.

Safety

All buffers allocated from this pool must be marked reset. See CommandBuffer::mark_reset(struct.Command buffer.html#method.mark_reset)

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

Dispose of command pool.

Safety

All buffers allocated from this pool must be freed.

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

Convert capability level

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

Convert capability level

Trait Implementations

impl<B: Debug + Backend, C: Debug, R: Debug> Debug for CommandPool<B, C, R> where
    B::CommandPool: Debug
[src]

Auto Trait Implementations

impl<B, C, R> Send for CommandPool<B, C, R> where
    C: Send,
    R: Send,
    <B as Backend>::CommandPool: Send

impl<B, C, R> Sync for CommandPool<B, C, R> where
    C: Sync,
    R: Sync,
    <B as Backend>::CommandPool: Sync

impl<B, C, R> Unpin for CommandPool<B, C, R> where
    C: Unpin,
    R: Unpin,
    <B as Backend>::CommandPool: Unpin

impl<B, C, R> UnwindSafe for CommandPool<B, C, R> where
    C: UnwindSafe,
    R: UnwindSafe,
    <B as Backend>::CommandPool: UnwindSafe

impl<B, C, R> RefUnwindSafe for CommandPool<B, C, R> where
    C: RefUnwindSafe,
    R: RefUnwindSafe,
    <B as Backend>::CommandPool: RefUnwindSafe

Blanket Implementations

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

impl<T> From<T> for 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.

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

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

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