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_khr(
        &mut self,
        device: &(impl DeviceSynchronization2Extension + ?Sized),
        batches: &[SubmitInfo2<'_, '_>],
        fence: Option<VkHandleRefMut<'_, VkFence>>,
    ) -> Result<()> { ... }
    fn present<'r>(&mut self, info: &PresentInfo<'r>) -> Result<()> { ... }
}

Provided Methods§

Source

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

Wait for a object to become idle

Source

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

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<()>

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<()>

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<()>

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_khr( &mut self, device: &(impl DeviceSynchronization2Extension + ?Sized), batches: &[SubmitInfo2<'_, '_>], fence: Option<VkHandleRefMut<'_, VkFence>>, ) -> Result<()>

Submits command buffers to a queue

§Failure

On failure, this command returns

Source

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

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 MappedMutexGuard<'_, T>
where T: QueueMut + ?Sized,

Source§

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

Source§

impl<T> QueueMut for MappedRwLockWriteGuard<'_, 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>