[][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,
    R: Reset
[src]

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: &impl 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: Backend, C, R> Debug for CommandPool<B, C, R> where
    C: Debug,
    R: 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

Blanket Implementations

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

impl<T> From for T[src]

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

impl<T> Supports for T[src]