Update window.rs PresentMode docs to clarify which PresentMode will panic and which will fallback (#6160)
# Objective - Fixes contradictory docs in Window::PresentMode partaining to PresentMode fallback behavior. Fix based on commit history showing the most recent update didn't remove old references to the gracefal fallback for Immediate and Mailbox. - Fixes #5831 ## Solution - Updated the docs for Window::PresentMode itself and for each individual enum variant to clarify which will fallback and which will panic. Co-authored-by: Noah <noahshomette@gmail.com>
This commit is contained in:
		
							parent
							
								
									2a6b544a0a
								
							
						
					
					
						commit
						26c299bd2a
					
				@ -19,10 +19,12 @@ pub struct WindowId(Uuid);
 | 
				
			|||||||
/// may be observed with `Immediate` mode, but will not be observed with `Mailbox` or
 | 
					/// may be observed with `Immediate` mode, but will not be observed with `Mailbox` or
 | 
				
			||||||
/// `Fifo`.
 | 
					/// `Fifo`.
 | 
				
			||||||
///
 | 
					///
 | 
				
			||||||
/// `Immediate` or `Mailbox` will gracefully fallback to `Fifo` when unavailable.
 | 
					/// `AutoVsync` or `AutoNoVsync` will gracefully fallback to `Fifo` when unavailable.
 | 
				
			||||||
///
 | 
					///
 | 
				
			||||||
/// The presentation mode may be declared in the [`WindowDescriptor`](WindowDescriptor::present_mode)
 | 
					/// `Immediate` or `Mailbox` will panic if not supported by the platform.
 | 
				
			||||||
/// or updated on a [`Window`](Window::set_present_mode).
 | 
					///
 | 
				
			||||||
 | 
					/// The presentation mode may be declared in the [`WindowDescriptor`](WindowDescriptor) using [`WindowDescriptor::present_mode`](WindowDescriptor::present_mode)
 | 
				
			||||||
 | 
					/// or updated on a [`Window`](Window) using [`set_present_mode`](Window::set_present_mode).
 | 
				
			||||||
#[repr(C)]
 | 
					#[repr(C)]
 | 
				
			||||||
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
 | 
					#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
 | 
				
			||||||
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
 | 
					#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
 | 
				
			||||||
@ -38,16 +40,14 @@ pub enum PresentMode {
 | 
				
			|||||||
    AutoNoVsync = 1,
 | 
					    AutoNoVsync = 1,
 | 
				
			||||||
    /// The presentation engine does **not** wait for a vertical blanking period and
 | 
					    /// The presentation engine does **not** wait for a vertical blanking period and
 | 
				
			||||||
    /// the request is presented immediately. This is a low-latency presentation mode,
 | 
					    /// the request is presented immediately. This is a low-latency presentation mode,
 | 
				
			||||||
    /// but visible tearing may be observed. Will fallback to `Fifo` if unavailable on the
 | 
					    /// but visible tearing may be observed. Not optimal for mobile.
 | 
				
			||||||
    /// selected platform and backend. Not optimal for mobile.
 | 
					 | 
				
			||||||
    ///
 | 
					    ///
 | 
				
			||||||
    /// Selecting this variant will panic if not supported, it is preferred to use
 | 
					    /// Selecting this variant will panic if not supported, it is preferred to use
 | 
				
			||||||
    /// [`PresentMode::AutoNoVsync`].
 | 
					    /// [`PresentMode::AutoNoVsync`].
 | 
				
			||||||
    Immediate = 2,
 | 
					    Immediate = 2,
 | 
				
			||||||
    /// The presentation engine waits for the next vertical blanking period to update
 | 
					    /// The presentation engine waits for the next vertical blanking period to update
 | 
				
			||||||
    /// the current image, but frames may be submitted without delay. This is a low-latency
 | 
					    /// the current image, but frames may be submitted without delay. This is a low-latency
 | 
				
			||||||
    /// presentation mode and visible tearing will **not** be observed. Will fallback to `Fifo`
 | 
					    /// presentation mode and visible tearing will **not** be observed. Not optimal for mobile.
 | 
				
			||||||
    /// if unavailable on the selected platform and backend. Not optimal for mobile.
 | 
					 | 
				
			||||||
    ///
 | 
					    ///
 | 
				
			||||||
    /// Selecting this variant will panic if not supported, it is preferred to use
 | 
					    /// Selecting this variant will panic if not supported, it is preferred to use
 | 
				
			||||||
    /// [`PresentMode::AutoNoVsync`].
 | 
					    /// [`PresentMode::AutoNoVsync`].
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user