pub struct Capabilities {
    pub min_image_count: u32,
    pub max_image_count: Option<u32>,
    pub current_extent: Option<[u32; 2]>,
    pub min_image_extent: [u32; 2],
    pub max_image_extent: [u32; 2],
    pub max_image_array_layers: u32,
    pub supported_transforms: SupportedSurfaceTransforms,
    pub current_transform: SurfaceTransform,
    pub supported_composite_alpha: SupportedCompositeAlpha,
    pub supported_usage_flags: ImageUsage,
    pub supported_formats: Vec<(Format, ColorSpace)>,
    pub present_modes: SupportedPresentModes,
}
Expand description

The capabilities of a surface when used by a physical device.

You have to match these capabilities when you create a swapchain.

Fields

min_image_count: u32

Minimum number of images that must be present in the swapchain.

max_image_count: Option<u32>

Maximum number of images that must be present in the swapchain, or None if there is no maximum value. Note that “no maximum” doesn’t mean that you can set a very high value, as you may still get out of memory errors.

current_extent: Option<[u32; 2]>

The current dimensions of the surface. None means that the surface’s dimensions will depend on the dimensions of the swapchain that you are going to create.

min_image_extent: [u32; 2]

Minimum width and height of a swapchain that uses this surface.

max_image_extent: [u32; 2]

Maximum width and height of a swapchain that uses this surface.

max_image_array_layers: u32

Maximum number of image layers if you create an image array. The minimum is 1.

supported_transforms: SupportedSurfaceTransforms

List of transforms supported for the swapchain.

current_transform: SurfaceTransform

Current transform used by the surface.

supported_composite_alpha: SupportedCompositeAlpha

List of composite alpha modes supports for the swapchain.

supported_usage_flags: ImageUsage

List of image usages that are supported for images of the swapchain. Only the color_attachment usage is guaranteed to be supported.

supported_formats: Vec<(Format, ColorSpace)>

List of formats supported for the swapchain.

present_modes: SupportedPresentModes

List of present modes that are supported. Fifo is always guaranteed to be supported.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Builds a pointer to this type from a raw pointer.
Returns true if the size is suitable to store a type like this.
Returns the size of an individual element.

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.