Skip to main content

QueueMut

Trait QueueMut 

Source
pub trait QueueMut: Queue + VkHandleMut {
    // Provided methods
    fn wait(&mut self) -> Result<()> { ... }
    fn submit(
        &mut self,
        batches: &[SubmitInfo<'_, '_, '_>],
        fence: Option<VkHandleRefMut<'_, VkFence>>,
    ) -> Result<()> { ... }
    fn bind_sparse(
        &mut self,
        batches: &[BindSparseInfo<'_>],
        fence: Option<VkHandleRefMut<'_, VkFence>>,
    ) -> Result<()> { ... }
    fn present<'r>(&mut self, info: &PresentInfo<'r>) -> Result<PresentResult> { ... }
    fn submit2_khr(
        &mut self,
        device: &(impl DeviceSynchronization2Extension + ?Sized),
        batches: &[SubmitInfo2<'_, '_>],
        fence: Option<VkHandleRefMut<'_, VkFence>>,
    ) -> Result<()> { ... }
    fn bind_sparse_ops(
        &mut self,
        batches: &[impl SparseBindingOpBatch],
        fence: Option<VkHandleRefMut<'_, VkFence>>,
    ) -> Result<()> { ... }
    fn submit_ops(
        &mut self,
        batches: &[impl SubmissionBatch],
        fence: Option<VkHandleRefMut<'_, VkFence>>,
    ) -> Result<()> { ... }
}

Provided Methods§

Source

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

Wait for a object to become idle

Source

fn submit( &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

  • brvk::VK_ERROR_OUT_OF_HOST_MEMORY
  • brvk::VK_ERROR_OUT_OF_DEVICE_MEMORY
  • brvk::VK_ERROR_DEVICE_LOST
Source

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

Bind device memory to a sparse resource object

§Failure

On failure, this command returns

  • brvk::VK_ERROR_OUT_OF_HOST_MEMORY
  • brvk::VK_ERROR_OUT_OF_DEVICE_MEMORY
  • brvk::VK_ERROR_DEVICE_LOST
Source

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

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 bind_sparse_ops( &mut self, batches: &[impl SparseBindingOpBatch], fence: Option<VkHandleRefMut<'_, VkFence>>, ) -> Result<()>

👎Deprecated:

use bind_sparse with creating BindSparseInfo

Bind device memory to a sparse resource object

§Failure

On failure, this command returns

  • brvk::VK_ERROR_OUT_OF_HOST_MEMORY
  • brvk::VK_ERROR_OUT_OF_DEVICE_MEMORY
  • brvk::VK_ERROR_DEVICE_LOST
Source

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

👎Deprecated:

use submit with creating `SubmitInfo

Submits a sequence of semaphores or command buffers to a queue

§Failure

On failure, this command returns

  • brvk::VK_ERROR_OUT_OF_HOST_MEMORY
  • brvk::VK_ERROR_OUT_OF_DEVICE_MEMORY
  • brvk::VK_ERROR_DEVICE_LOST

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>