pub struct Queue {
raw: Queue,
device: Arc<DeviceShared>,
family_index: u32,
relay_semaphores: Mutex<RelaySemaphores>,
signal_semaphores: Mutex<SemaphoreList>,
}Available on
vulkan only.Fields§
§raw: Queue§device: Arc<DeviceShared>§family_index: u32§relay_semaphores: Mutex<RelaySemaphores>§signal_semaphores: Mutex<SemaphoreList>Implementations§
Source§impl Queue
impl Queue
pub fn raw_device(&self) -> &Device
pub fn add_signal_semaphore( &self, semaphore: Semaphore, semaphore_value: Option<u64>, )
Sourcepub fn remove_signal_semaphore(&self, semaphore: Semaphore) -> bool
pub fn remove_signal_semaphore(&self, semaphore: Semaphore) -> bool
Remove semaphore from the pending signal list if it is still present.
Returns true if the semaphore was found and removed. If the submit
already consumed it, this is a harmless no-op that returns false.
Trait Implementations§
Source§impl DynResource for Queue
impl DynResource for Queue
Source§impl Queue for Queue
impl Queue for Queue
type A = Api
Source§unsafe fn submit(
&self,
command_buffers: &[&CommandBuffer],
surface_textures: &[&SurfaceTexture],
(signal_fence, signal_value): (&mut Fence, FenceValue),
) -> Result<(), DeviceError>
unsafe fn submit( &self, command_buffers: &[&CommandBuffer], surface_textures: &[&SurfaceTexture], (signal_fence, signal_value): (&mut Fence, FenceValue), ) -> Result<(), DeviceError>
Submit
command_buffers for execution on GPU. Read moreSource§unsafe fn present(
&self,
surface: &Surface,
texture: SurfaceTexture,
) -> Result<(), SurfaceError>
unsafe fn present( &self, surface: &Surface, texture: SurfaceTexture, ) -> Result<(), SurfaceError>
Present a surface texture to the screen. Read more
unsafe fn get_timestamp_period(&self) -> f32
Source§unsafe fn wait_for_idle(&self) -> Result<(), DeviceError>
unsafe fn wait_for_idle(&self) -> Result<(), DeviceError>
Block until all previously submitted work on this queue has completed,
including any pending presentations. Read more
Auto Trait Implementations§
impl !Freeze for Queue
impl !RefUnwindSafe for Queue
impl Send for Queue
impl Sync for Queue
impl Unpin for Queue
impl !UnwindSafe for Queue
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<Q> DynQueue for Qwhere
Q: Queue + DynResource,
impl<Q> DynQueue for Qwhere
Q: Queue + DynResource,
unsafe fn submit( &self, command_buffers: &[&(dyn DynCommandBuffer + 'static)], surface_textures: &[&(dyn DynSurfaceTexture + 'static)], signal_fence: (&mut (dyn DynFence + 'static), u64), ) -> Result<(), DeviceError>
unsafe fn present( &self, surface: &(dyn DynSurface + 'static), texture: Box<dyn DynSurfaceTexture>, ) -> Result<(), SurfaceError>
unsafe fn get_timestamp_period(&self) -> f32
unsafe fn wait_for_idle(&self) -> Result<(), DeviceError>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more