#[repr(i32)]pub enum PresentMode {
Immediate = 0,
Mailbox = 1,
FIFO = 2,
FIFORelaxed = 3,
}
Expand description
Presentation mode supported for a surface
Variants§
Immediate = 0
The presentation engine does not wait for a vertical blanking period to update the current image, meaning this mode may result in visible tearing
Mailbox = 1
The presentation engine waits for the next vertical blanking period to update the current image. Tearing cannot be observed. An internal single-entry queue is used to hold pending presentation requests. If the queue is full when a new presentation request is received, the new request replaces the existing entry, and any images associated with the prior entry become available for re-use by the application
FIFO = 2
The presentation engine waits for the next vertical blanking period to update the current image. Tearing cannot be observed. An internal queue is used to hold pending presentation requests. New requests are appended to the end of the queue, and one request is removed from the beginning of the queue and processed during each vertical blanking period in which the queue is non-empty.
FIFORelaxed = 3
The presentation engine generally waits for the next vertical blanking period to update the currnt image. If a vertical blanking period has already passed since the last update of the current image then the presentation engine does not wait for another vertical blanking period for the update, meaning this mode may result in visible tearing in this case
Trait Implementations§
Source§impl Clone for PresentMode
impl Clone for PresentMode
Source§fn clone(&self) -> PresentMode
fn clone(&self) -> PresentMode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more