Struct wgpu_types::SurfaceConfiguration
source · #[repr(C)]pub struct SurfaceConfiguration<V> {
pub usage: TextureUsages,
pub format: TextureFormat,
pub width: u32,
pub height: u32,
pub present_mode: PresentMode,
pub alpha_mode: CompositeAlphaMode,
pub view_formats: V,
}Expand description
Configures a Surface for presentation.
Fields§
§usage: TextureUsagesThe usage of the swap chain. The only supported usage is RENDER_ATTACHMENT.
format: TextureFormatThe texture format of the swap chain. The only formats that are guaranteed are
Bgra8Unorm and Bgra8UnormSrgb
width: u32Width of the swap chain. Must be the same size as the surface.
height: u32Height of the swap chain. Must be the same size as the surface.
present_mode: PresentModePresentation mode of the swap chain. Fifo is the only mode guaranteed to be supported. FifoRelaxed, Immediate, and Mailbox will crash if unsupported, while AutoVsync and AutoNoVsync will gracefully do a designed sets of fallbacks if their primary modes are unsupported.
alpha_mode: CompositeAlphaModeSpecifies how the alpha channel of the textures should be handled during compositing.
view_formats: VSpecifies what view formats will be allowed when calling create_view() on texture returned by get_current_texture().
View formats of the same format as the texture are always allowed.
Note: currently, only the srgb-ness is allowed to change. (ex: Rgba8Unorm texture + Rgba8UnormSrgb view)
Implementations§
source§impl<V: Clone> SurfaceConfiguration<V>
impl<V: Clone> SurfaceConfiguration<V>
sourcepub fn map_view_formats<M>(
&self,
fun: impl FnOnce(V) -> M
) -> SurfaceConfiguration<M>
pub fn map_view_formats<M>( &self, fun: impl FnOnce(V) -> M ) -> SurfaceConfiguration<M>
Map view_formats of the texture descriptor into another.
Trait Implementations§
source§impl<V: Clone> Clone for SurfaceConfiguration<V>
impl<V: Clone> Clone for SurfaceConfiguration<V>
source§fn clone(&self) -> SurfaceConfiguration<V>
fn clone(&self) -> SurfaceConfiguration<V>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl<V: Debug> Debug for SurfaceConfiguration<V>
impl<V: Debug> Debug for SurfaceConfiguration<V>
source§impl<'de, V> Deserialize<'de> for SurfaceConfiguration<V>where
V: Deserialize<'de>,
impl<'de, V> Deserialize<'de> for SurfaceConfiguration<V>where V: Deserialize<'de>,
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
source§impl<V: Hash> Hash for SurfaceConfiguration<V>
impl<V: Hash> Hash for SurfaceConfiguration<V>
source§impl<V: PartialEq> PartialEq<SurfaceConfiguration<V>> for SurfaceConfiguration<V>
impl<V: PartialEq> PartialEq<SurfaceConfiguration<V>> for SurfaceConfiguration<V>
source§fn eq(&self, other: &SurfaceConfiguration<V>) -> bool
fn eq(&self, other: &SurfaceConfiguration<V>) -> bool
self and other values to be equal, and is used
by ==.