[−]Struct amethyst_rendy::rendy::hal::CommandPool
Strong-typed command pool.
This a safer wrapper around RawCommandPool
which ensures that only one
command buffer is recorded at the same time from the current queue.
Command buffers are stored internally and can only be obtained via a strong-typed
CommandBuffer
wrapper for encoding.
Implementations
impl<B, C> CommandPool<B, C> where
B: Backend,
B: Backend,
pub unsafe fn new(raw: <B as Backend>::CommandPool) -> CommandPool<B, C>
Create typed command pool from raw.
Safety
<C as Capability>::supported_by(queue_type)
must return true
for queue_type
being the type of queues from family this raw
pool is associated with.
pub unsafe fn reset(&mut self, release_resources: bool)
Reset the command pool and the corresponding command buffers.
Synchronization: You may not free the pool if a command buffer is still in use (pool memory still in use)
pub fn acquire_command_buffer<S>(
&mut self
) -> CommandBuffer<B, C, S, Primary, <B as Backend>::CommandBuffer> where
S: Shot,
&mut self
) -> CommandBuffer<B, C, S, Primary, <B as Backend>::CommandBuffer> where
S: Shot,
Allocates a new primary command buffer from the pool.
pub fn acquire_secondary_command_buffer<S>(
&mut self
) -> CommandBuffer<B, C, S, Secondary, <B as Backend>::CommandBuffer> where
S: Shot,
&mut self
) -> CommandBuffer<B, C, S, Secondary, <B as Backend>::CommandBuffer> where
S: Shot,
Allocates a new secondary command buffer from the pool.
pub unsafe fn free<I>(&mut self, cmd_buffers: I) where
I: IntoIterator,
<I as IntoIterator>::Item: IntoRawCommandBuffer<B, C>,
I: IntoIterator,
<I as IntoIterator>::Item: IntoRawCommandBuffer<B, C>,
Free the given iterator of command buffers from the pool.
pub fn into_raw(self) -> <B as Backend>::CommandPool
Downgrade a typed command pool to untyped one.
impl<B, C> CommandPool<B, C> where
B: Backend,
C: Supports<Graphics>,
B: Backend,
C: Supports<Graphics>,
pub fn acquire_subpass_command_buffer<S>(
&mut self
) -> SubpassCommandBuffer<B, S, <B as Backend>::CommandBuffer> where
S: Shot,
&mut self
) -> SubpassCommandBuffer<B, S, <B as Backend>::CommandBuffer> where
S: Shot,
Allocates a new subpass command buffer from the pool.
Trait Implementations
impl<B, C> Debug for CommandPool<B, C> where
B: Backend + Debug,
C: Debug,
<B as Backend>::CommandPool: Debug,
B: Backend + Debug,
C: Debug,
<B as Backend>::CommandPool: Debug,
Auto Trait Implementations
impl<B, C> RefUnwindSafe for CommandPool<B, C> where
C: RefUnwindSafe,
<B as Backend>::CommandPool: RefUnwindSafe,
C: RefUnwindSafe,
<B as Backend>::CommandPool: RefUnwindSafe,
impl<B, C> Send for CommandPool<B, C> where
C: Send,
<B as Backend>::CommandPool: Send,
C: Send,
<B as Backend>::CommandPool: Send,
impl<B, C> Sync for CommandPool<B, C> where
C: Sync,
<B as Backend>::CommandPool: Sync,
C: Sync,
<B as Backend>::CommandPool: Sync,
impl<B, C> Unpin for CommandPool<B, C> where
C: Unpin,
<B as Backend>::CommandPool: Unpin,
C: Unpin,
<B as Backend>::CommandPool: Unpin,
impl<B, C> UnwindSafe for CommandPool<B, C> where
C: UnwindSafe,
<B as Backend>::CommandPool: UnwindSafe,
C: UnwindSafe,
<B as Backend>::CommandPool: UnwindSafe,
Blanket Implementations
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
D: AdaptFrom<S, Swp, Dwp, T>,
Dwp: WhitePoint,
Swp: WhitePoint,
T: Component + Float,
[src]
D: AdaptFrom<S, Swp, Dwp, T>,
Dwp: WhitePoint,
Swp: WhitePoint,
T: Component + Float,
fn adapt_into_using<M>(self, method: M) -> D where
M: TransformMatrix<Swp, Dwp, T>,
[src]
M: TransformMatrix<Swp, Dwp, T>,
fn adapt_into(self) -> D
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Any for T where
T: Any,
T: Any,
fn get_type_id(&self) -> TypeId
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> Event for T where
T: Send + Sync + 'static,
T: Send + Sync + 'static,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Resource for T where
T: Any + Send + Sync,
T: Any + Send + Sync,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn is_in_subset(&self) -> bool
unsafe fn to_subset_unchecked(&self) -> SS
fn from_subset(element: &SS) -> SP
impl<T> Supports<T> for 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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,