[]Struct amethyst_rendy::rendy::hal::CommandQueue

pub struct CommandQueue<B, C>(_, _)
where
    B: Backend
;

Stronger-typed and safer CommandQueue wraps around RawCommandQueue.

Implementations

impl<B, C> CommandQueue<B, C> where
    B: Backend,
    C: Capability

pub unsafe fn new(raw: <B as Backend>::CommandQueue) -> CommandQueue<B, C>

Create typed command queue from raw.

Safety

<C as Capability>::supported_by(queue_type) must return true for queue_type being the type this raw queue.

pub fn as_raw(&self) -> &<B as Backend>::CommandQueue

Get a reference to the raw command queue

pub unsafe fn as_raw_mut(&mut self) -> &mut <B as Backend>::CommandQueue

Get a mutable reference to the raw command queue

pub fn into_raw(self) -> <B as Backend>::CommandQueue

Downgrade a typed command queue to untyped one.

pub unsafe fn submit<'a, T, Ic, S, Iw, Is>(
    &mut self,
    submission: Submission<Ic, Iw, Is>,
    fence: Option<&<B as Backend>::Fence>
) where
    Ic: IntoIterator<Item = &'a T>,
    Is: IntoIterator<Item = &'a S>,
    Iw: IntoIterator<Item = (&'a S, PipelineStage)>,
    S: 'a + Borrow<<B as Backend>::Semaphore>,
    T: 'a + Submittable<B, C, Primary>, 

Submit command buffers to queue for execution. fence must be in unsignalled state, and will be signalled after all command buffers in the submission have finished execution.

pub unsafe fn submit_without_semaphores<'a, T, I>(
    &mut self,
    command_buffers: I,
    fence: Option<&<B as Backend>::Fence>
) where
    I: IntoIterator<Item = &'a T>,
    T: 'a + Submittable<B, C, Primary>, 

Submit command buffers without any semaphore waits or signals.

pub unsafe fn present<'a, W, Is, S, Iw>(
    &mut self,
    swapchains: Is,
    wait_semaphores: Iw
) -> Result<Option<Suboptimal>, PresentError> where
    Is: IntoIterator<Item = (&'a W, u32)>,
    Iw: IntoIterator<Item = &'a S>,
    S: 'a + Borrow<<B as Backend>::Semaphore>,
    W: 'a + Borrow<<B as Backend>::Swapchain>, 

Presents the result of the queue to the given swapchains, after waiting on all the semaphores given in wait_semaphores. A given swapchain must not appear in this list more than once.

pub fn wait_idle(&self) -> Result<(), HostExecutionError>

Wait for the queue to idle.

pub unsafe fn downgrade<D>(&mut self) -> &mut CommandQueue<B, D> where
    C: Supports<D>, 

Downgrade a command queue to a lesser capability type.

Trait Implementations

impl<B, C> Debug for CommandQueue<B, C> where
    B: Backend + Debug,
    C: Debug,
    <B as Backend>::CommandQueue: Debug

Auto Trait Implementations

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

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

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

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

impl<B, C> UnwindSafe for CommandQueue<B, C> where
    C: UnwindSafe,
    <B as Backend>::CommandQueue: 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]

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

impl<T> Any for T where
    T: Any

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

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

impl<T> Event for T where
    T: Send + Sync + 'static, 

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

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

impl<T> Resource for T where
    T: Any + Send + Sync

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SetParameter for T

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T> Supports<T> for T

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<V, T> VZip<V> for T where
    V: MultiLane<T>,