Trait QueueMut

Source
pub trait QueueMut: Queue + VkHandleMut {
    // Provided methods
    fn wait(&mut self) -> Result<()> { ... }
    fn bind_sparse(
        &mut self,
        batches: &[impl SparseBindingOpBatch],
        fence: Option<VkHandleRefMut<'_, VkFence>>,
    ) -> Result<()> { ... }
    unsafe fn bind_sparse_raw(
        &mut self,
        batches: &[VkBindSparseInfo],
        fence: Option<VkHandleRefMut<'_, VkFence>>,
    ) -> Result<()> { ... }
    fn submit(
        &mut self,
        batches: &[impl SubmissionBatch],
        fence: Option<VkHandleRefMut<'_, VkFence>>,
    ) -> Result<()> { ... }
    unsafe fn submit_raw(
        &mut self,
        batches: &[SubmitInfo<'_, '_, '_>],
        fence: Option<VkHandleRefMut<'_, VkFence>>,
    ) -> Result<()> { ... }
    fn submit2(
        &mut self,
        batches: &[SubmitInfo2<'_, '_>],
        fence: Option<VkHandleRefMut<'_, VkFence>>,
    ) -> Result<()> { ... }
    fn present<'r>(&mut self, info: &PresentInfo<'r>) -> Result<()> { ... }
}

Provided Methods§

Source

fn wait(&mut self) -> Result<()>

Available on crate feature Implements only.

Wait for a object to become idle

Source

fn bind_sparse( &mut self, batches: &[impl SparseBindingOpBatch], fence: Option<VkHandleRefMut<'_, VkFence>>, ) -> Result<()>

Available on crate features Implements and alloc only.

Bind device memory to a sparse resource object

§Failure

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_DEVICE_LOST
Source

unsafe fn bind_sparse_raw( &mut self, batches: &[VkBindSparseInfo], fence: Option<VkHandleRefMut<'_, VkFence>>, ) -> Result<()>

Available on crate feature Implements only.

Bind device memory to a sparse resource object

§Failure

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_DEVICE_LOST
§Safety

no guarantees will be provided (simply calls under api)

Source

fn submit( &mut self, batches: &[impl SubmissionBatch], fence: Option<VkHandleRefMut<'_, VkFence>>, ) -> Result<()>

Available on crate features Implements and alloc only.

Submits a sequence of semaphores or command buffers to a queue

§Failure

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_DEVICE_LOST
Source

unsafe fn submit_raw( &mut self, batches: &[SubmitInfo<'_, '_, '_>], fence: Option<VkHandleRefMut<'_, VkFence>>, ) -> Result<()>

Available on crate feature Implements only.

Submits a sequence of semaphores or command buffers to a queue

§Failure

On failure, this command returns

§Safety

no guarantees will be provided (simply calls under api)

Source

fn submit2( &mut self, batches: &[SubmitInfo2<'_, '_>], fence: Option<VkHandleRefMut<'_, VkFence>>, ) -> Result<()>

Available on crate features Implements and VK_KHR_synchronization2 only.

Submits command buffers to a queue

§Failure

On failure, this command returns

Source

fn present<'r>(&mut self, info: &PresentInfo<'r>) -> Result<()>

Available on crate features Implements and VK_KHR_swapchain only.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'s, T> QueueMut for &'s mut T
where T: QueueMut + ?Sized,

Source§

impl<T> QueueMut for Box<T>
where T: QueueMut + ?Sized,

Source§

impl<T> QueueMut for RefMut<'_, T>
where T: QueueMut + ?Sized,

Source§

impl<T> QueueMut for ManuallyDrop<T>
where T: QueueMut,

Source§

impl<T> QueueMut for MutexGuard<'_, T>
where T: QueueMut + ?Sized,

Source§

impl<T> QueueMut for RwLockWriteGuard<'_, T>
where T: QueueMut + ?Sized,

Source§

impl<T> QueueMut for MutexGuard<'_, T>
where T: QueueMut + ?Sized,

Source§

impl<T> QueueMut for RwLockWriteGuard<'_, T>
where T: QueueMut + ?Sized,

Implementors§

Source§

impl<Device: Device> QueueMut for QueueObject<Device>