[−][src]Struct rendy_command::CommandPool
Simple pool wrapper.
Doesn't provide any guarantees.
Wraps raw buffers into CommandCommand buffer
.
Implementations
impl<B, C, R> CommandPool<B, C, R> where
B: Backend,
[src]
B: Backend,
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]
B: Backend,
R: Reset,
pub unsafe fn create(
family: FamilyId,
capability: C,
device: &Device<B>
) -> Result<Self, OutOfMemory> where
R: Reset,
C: Capability,
[src]
family: FamilyId,
capability: C,
device: &Device<B>
) -> Result<Self, 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.
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]
raw: B::CommandPool,
capability: C,
reset: R,
family: FamilyId
) -> Self
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 thefamily
the pool was created for.- if
reset
isIndividualReset
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]
&mut self,
count: usize
) -> Vec<CommandBuffer<B, C, InitialState, L, R>> where
L: Level,
C: Capability,
Allocate new command buffers.
pub unsafe fn free_buffers(
&mut self,
buffers: impl IntoIterator<Item = CommandBuffer<B, C, impl Resettable, impl Level, R>>
)
[src]
&mut self,
buffers: impl IntoIterator<Item = CommandBuffer<B, C, impl Resettable, impl Level, R>>
)
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]
pub fn with_queue_type(self) -> CommandPool<B, QueueType, R> where
C: Capability,
[src]
C: Capability,
Convert capability level
pub fn with_capability<U>(self) -> Result<CommandPool<B, U, R>, Self> where
C: Supports<U>,
[src]
C: Supports<U>,
Convert capability level
Trait Implementations
impl<B: Debug + Backend, C: Debug, R: Debug> Debug for CommandPool<B, C, R> where
B::CommandPool: Debug,
[src]
B::CommandPool: Debug,
Auto Trait Implementations
impl<B, C, R> RefUnwindSafe for CommandPool<B, C, R> where
C: RefUnwindSafe,
R: RefUnwindSafe,
<B as Backend>::CommandPool: RefUnwindSafe,
C: RefUnwindSafe,
R: RefUnwindSafe,
<B as Backend>::CommandPool: RefUnwindSafe,
impl<B, C, R> Send for CommandPool<B, C, R> where
C: Send,
R: Send,
<B as Backend>::CommandPool: Send,
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,
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,
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,
C: UnwindSafe,
R: UnwindSafe,
<B as Backend>::CommandPool: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,