pub struct ImageFormatInfo {
    pub flags: ImageCreateFlags,
    pub format: Format,
    pub view_formats: Vec<Format>,
    pub image_type: ImageType,
    pub tiling: ImageTiling,
    pub usage: ImageUsage,
    pub stencil_usage: Option<ImageUsage>,
    pub drm_format_modifier_info: Option<ImageDrmFormatModifierInfo>,
    pub external_memory_handle_type: Option<ExternalMemoryHandleType>,
    pub image_view_type: Option<ImageViewType>,
    pub _ne: NonExhaustive,
}
Expand description

The image configuration to query in PhysicalDevice::image_format_properties.

Fields§

§flags: ImageCreateFlags

The flags that the image will have.

The default value is ImageCreateFlags::empty().

§format: Format

The format that the image will have.

The default value is Format::UNDEFINED.

§view_formats: Vec<Format>

The image view formats that will be allowed for the image.

If this is not empty, then the physical device API version must be at least 1.2, or the khr_image_format_list extension must be supported by the physical device.

The default value is empty.

§image_type: ImageType

The dimension type that the image will have.

The default value is ImageType::Dim2d.

§tiling: ImageTiling

The tiling that the image will have.

The default value is ImageTiling::Optimal.

§usage: ImageUsage

The usage that the image will have.

The default value is ImageUsage::empty(), which must be overridden.

§stencil_usage: Option<ImageUsage>

The stencil_usage that the image will have, if different from the regular usage.

If this is Some, then the physical device API version must be at least 1.2, or the ext_separate_stencil_usage extension must be supported by the physical device.

The default value is None.

§drm_format_modifier_info: Option<ImageDrmFormatModifierInfo>

The Linux DRM format modifier information to query.

If this is Some, then the ext_image_drm_format_modifier extension must be supported by the physical device.

The default value is None.

§external_memory_handle_type: Option<ExternalMemoryHandleType>

An external memory handle type that will be imported to or exported from the image.

This is needed to retrieve the external_memory_properties value, and the physical device API version must be at least 1.1 or the khr_external_memory_capabilities extension must be enabled on the instance.

The default value is None.

§image_view_type: Option<ImageViewType>

The image view type that will be created from the image.

This is needed to retrieve the filter_cubic and filter_cubic_minmax values, and the ext_filter_cubic extension must be supported on the physical device.

The default value is None.

§_ne: NonExhaustive

Trait Implementations§

source§

impl Clone for ImageFormatInfo

source§

fn clone(&self) -> ImageFormatInfo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ImageFormatInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ImageFormatInfo

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Hash for ImageFormatInfo

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for ImageFormatInfo

source§

fn eq(&self, other: &ImageFormatInfo) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for ImageFormatInfo

source§

impl StructuralEq for ImageFormatInfo

source§

impl StructuralPartialEq for ImageFormatInfo

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.