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 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more