logo
pub enum ImageCreationError {
Show 27 variants AllocError(DeviceMemoryAllocationError), ExtensionNotEnabled { extension: &'static str, reason: &'static str, }, FeatureNotEnabled { feature: &'static str, reason: &'static str, }, Array2dCompatibleNot3d, BlockTexelViewCompatibleNotCompressed, CubeCompatibleNot2d, CubeCompatibleNotEnoughArrayLayers, CubeCompatibleNotSquare, CubeCompatibleMultisampling, ExternalMemoryInvalidInitialLayout, FormatNotSupported, FormatUsageNotSupported { usage: &'static str, }, ImageFormatPropertiesNotSupported, MaxArrayLayersExceeded { array_layers: u32, max: u32, }, MaxDimensionsExceeded { extent: [u32; 3], max: [u32; 3], }, MaxFramebufferDimensionsExceeded { extent: [u32; 2], max: [u32; 2], }, MaxMipLevelsExceeded { mip_levels: u32, max: u32, }, MultisampleCubeCompatible, MultisampleLinearTiling, MultisampleMultipleMipLevels, MultisampleNot2d, SampleCountNotSupported { samples: SampleCount, supported: SampleCounts, }, SharingInvalidQueueFamilyId { id: u32, }, YcbcrFormatInvalidDimensions, YcbcrFormatMultipleMipLevels, YcbcrFormatMultisampling, YcbcrFormatNot2d,
}
Expand description

Error that can happen when creating an instance.

Variants

AllocError(DeviceMemoryAllocationError)

Allocating memory failed.

ExtensionNotEnabled

Fields

extension: &'static str
reason: &'static str

FeatureNotEnabled

Fields

feature: &'static str
reason: &'static str

Array2dCompatibleNot3d

The array_2d_compatible flag was enabled, but the image type was not 3D.

BlockTexelViewCompatibleNotCompressed

The block_texel_view_compatible flag was enabled, but the given format was not compressed.

CubeCompatibleNot2d

The cube_compatible flag was enabled, but the image type was not 2D.

CubeCompatibleNotEnoughArrayLayers

The cube_compatible flag was enabled, but the number of array layers was less than 6.

CubeCompatibleNotSquare

The cube_compatible flag was enabled, but the image dimensions were not square.

CubeCompatibleMultisampling

The cube_compatible flag was enabled together with multisampling.

ExternalMemoryInvalidInitialLayout

One or more external memory handle types were provided, but the initial layout was not Undefined.

FormatNotSupported

The given format was not supported by the device.

FormatUsageNotSupported

Fields

usage: &'static str

A requested usage flag was not supported by the given format.

ImageFormatPropertiesNotSupported

The image configuration as queried through the image_format_properties function was not supported by the device.

MaxArrayLayersExceeded

Fields

array_layers: u32
max: u32

The number of array layers exceeds the maximum supported by the device for this image configuration.

MaxDimensionsExceeded

Fields

extent: [u32; 3]
max: [u32; 3]

The specified dimensions exceed the maximum supported by the device for this image configuration.

MaxFramebufferDimensionsExceeded

Fields

extent: [u32; 2]
max: [u32; 2]

The usage included one of the attachment types, and the specified width and height exceeded the max_framebuffer_width or max_framebuffer_height limits.

MaxMipLevelsExceeded

Fields

mip_levels: u32
max: u32

The maximum number of mip levels for the given dimensions has been exceeded.

MultisampleCubeCompatible

Multisampling was enabled, and the cube_compatible flag was set.

MultisampleLinearTiling

Multisampling was enabled, and tiling was Linear.

MultisampleMultipleMipLevels

Multisampling was enabled, and multiple mip levels were specified.

MultisampleNot2d

Multisampling was enabled, but the image type was not 2D.

SampleCountNotSupported

Fields

samples: SampleCount
supported: SampleCounts

The sample count is not supported by the device for this image configuration.

SharingInvalidQueueFamilyId

Fields

id: u32

The sharing mode was set to Concurrent, but one of the specified queue family ids was not valid.

YcbcrFormatInvalidDimensions

A YCbCr format was given, but the specified width and/or height was not a multiple of 2 as required by the format’s chroma subsampling.

YcbcrFormatMultipleMipLevels

A YCbCr format was given, and multiple mip levels were specified.

YcbcrFormatMultisampling

A YCbCr format was given, and multisampling was enabled.

YcbcrFormatNot2d

A YCbCr format was given, but the image type was not 2D.

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

Formats the value using the given formatter. Read more

The lower-level source of this error, if any. Read more

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Performs the conversion.

Performs the conversion.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

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

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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

Converts the given value to a String. 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.