pub struct Surface { /* private fields */ }Expand description
Handle to a presentable surface.
A Surface represents a platform-specific surface (e.g. a window) onto which rendered images may
be presented. A Surface may be created with the unsafe function Instance::create_surface.
Implementations
sourceimpl Surface
impl Surface
sourcepub fn get_supported_formats(&self, adapter: &Adapter) -> Vec<TextureFormat>
pub fn get_supported_formats(&self, adapter: &Adapter) -> Vec<TextureFormat>
Returns a vec of supported texture formats to use for the Surface with this adapter.
Note: The first format in the vector is preferred
Returns an empty vector if the surface is incompatible with the adapter.
sourcepub fn get_supported_present_modes(&self, adapter: &Adapter) -> Vec<PresentMode>
pub fn get_supported_present_modes(&self, adapter: &Adapter) -> Vec<PresentMode>
Returns a vec of supported presentation modes to use for the Surface with this adapter.
Returns an empty vector if the surface is incompatible with the adapter.
sourcepub fn get_supported_alpha_modes(
&self,
adapter: &Adapter
) -> Vec<CompositeAlphaMode>
pub fn get_supported_alpha_modes(
&self,
adapter: &Adapter
) -> Vec<CompositeAlphaMode>
Returns a vec of supported alpha modes to use for the Surface with this adapter.
Will return at least one element, CompositeAlphaMode::Opaque or CompositeAlphaMode::Inherit.
sourcepub fn configure(&self, device: &Device, config: &SurfaceConfiguration)
pub fn configure(&self, device: &Device, config: &SurfaceConfiguration)
Initializes Surface for presentation.
Panics
- A old
SurfaceTextureis still alive referencing an old surface. - Texture format requested is unsupported on the surface.
sourcepub fn get_current_texture(&self) -> Result<SurfaceTexture, SurfaceError>
pub fn get_current_texture(&self) -> Result<SurfaceTexture, SurfaceError>
Returns the next texture to be presented by the swapchain for drawing.
In order to present the SurfaceTexture returned by this method,
first a Queue::submit needs to be done with some work rendering to this texture.
Then SurfaceTexture::present needs to be called.
If a SurfaceTexture referencing this surface is alive when the swapchain is recreated, recreating the swapchain will panic.