[−][src]Enum rafx_api::vulkan::VkPresentMode
Used to select which PresentMode is preferred. Some of this is hardware/platform dependent and it's a good idea to read the Vulkan spec.
Fifo is always available on Vulkan devices that comply with the spec and is a good default for
many cases.
Values here match VkPresentModeKHR
Variants
(VK_PRESENT_MODE_IMMEDIATE_KHR) - No internal buffering, and can result in screen
tearin.
(VK_PRESENT_MODE_MAILBOX_KHR) - This allows rendering as fast as the hardware will
allow, but queues the rendered images in a way that avoids tearing. In other words, if the
hardware renders 10 frames within a single vertical blanking period, the first 9 will be
dropped. This is the best choice for lowest latency where power consumption is not a
concern.
(VK_PRESENT_MODE_FIFO_KHR) - Default option, guaranteed to be available, and locks
screen draw to vsync. This is a good default choice generally, and more power efficient
than mailbox, but can have higher latency than mailbox.
(VK_PRESENT_MODE_FIFO_RELAXED_KHR) - Similar to Fifo but if rendering is late,
screen tearing can be observed.
Implementations
impl VkPresentMode[src]
pub fn to_vk(self) -> PresentModeKHR[src]
Convert to vk::PresentModeKHR
Trait Implementations
impl Clone for VkPresentMode[src]
pub fn clone(&self) -> VkPresentMode[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Copy for VkPresentMode[src]
impl Debug for VkPresentMode[src]
Auto Trait Implementations
impl RefUnwindSafe for VkPresentMode[src]
impl Send for VkPresentMode[src]
impl Sync for VkPresentMode[src]
impl Unpin for VkPresentMode[src]
impl UnwindSafe for VkPresentMode[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Downcast for T where
T: Any,
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> DowncastSync for T where
T: Send + Sync + Any,
T: Send + Sync + Any,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> Resource for T where
T: Downcast + Send + Sync, [src]
T: Downcast + Send + Sync,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,