pub struct SurfaceCapabilities {
pub formats: Vec<SurfaceFormatCapabilities>,
pub maximum_frame_latency: RangeInclusive<u32>,
pub current_extent: Option<Extent3d>,
pub usage: TextureUses,
pub present_modes: Vec<PresentMode>,
pub composite_alpha_modes: Vec<CompositeAlphaMode>,
}Expand description
Describes information about what a Surface’s presentation capabilities are.
Fetch this with Adapter::surface_capabilities.
Fields§
§formats: Vec<SurfaceFormatCapabilities>List of supported texture formats together with the color spaces supported for each format.
Must be at least one. At most one entry per format, each with a non-empty set of color spaces.
maximum_frame_latency: RangeInclusive<u32>Range for the number of queued frames.
This adjusts either the swapchain frame count to value + 1 - or sets SetMaximumFrameLatency to the value given, or uses a wait-for-present in the acquire method to limit rendering such that it acts like it’s a value + 1 swapchain frame set.
maximum_frame_latency.startmust be at least 1.maximum_frame_latency.endmust be larger or equal tomaximum_frame_latency.start.
current_extent: Option<Extent3d>Current extent of the surface, if known.
usage: TextureUsesSupported texture usage flags.
Must have at least wgt::TextureUses::COLOR_TARGET
present_modes: Vec<PresentMode>List of supported V-sync modes.
Must be at least one.
composite_alpha_modes: Vec<CompositeAlphaMode>List of supported alpha composition modes.
Must be at least one.
Implementations§
Source§impl SurfaceCapabilities
impl SurfaceCapabilities
Sourcepub fn texture_formats(&self) -> impl Iterator<Item = TextureFormat> + '_
pub fn texture_formats(&self) -> impl Iterator<Item = TextureFormat> + '_
Returns the supported texture formats, dropping the per-format color-space
information carried in Self::formats.
Trait Implementations§
Source§impl Clone for SurfaceCapabilities
impl Clone for SurfaceCapabilities
Source§fn clone(&self) -> SurfaceCapabilities
fn clone(&self) -> SurfaceCapabilities
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for SurfaceCapabilities
impl RefUnwindSafe for SurfaceCapabilities
impl Send for SurfaceCapabilities
impl Sync for SurfaceCapabilities
impl Unpin for SurfaceCapabilities
impl UnwindSafe for SurfaceCapabilities
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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