Enum vulkano::image::sys::ImageError
source · pub enum ImageError {
Show 44 variants
VulkanError(VulkanError),
AllocError(AllocationCreationError),
RequirementNotMet {
required_for: &'static str,
requires_one_of: RequiresOneOf,
},
AllocationsWrongNumberOfElements {
provided: usize,
required: usize,
},
Array2dCompatibleNot3d,
ArrayLayerOutOfRange {
provided_array_layer: u32,
image_array_layers: u32,
},
AspectNotAllowed {
provided_aspect: ImageAspect,
allowed_aspects: ImageAspects,
},
BlockTexelViewCompatibleNotCompressed,
CubeCompatibleNot2d,
CubeCompatibleNotEnoughArrayLayers,
CubeCompatibleNotSquare,
CubeCompatibleMultisampling,
DedicatedAllocationMismatch,
DedicatedAllocationRequired,
DepthStencilFormatsNotSupported,
DisjointFormatNotSupported,
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,
},
MemoryAllocationNotAligned {
allocations_index: usize,
allocation_offset: DeviceSize,
required_alignment: DeviceSize,
},
MemoryAllocationTooSmall {
allocations_index: usize,
allocation_size: DeviceSize,
required_size: DeviceSize,
},
MemoryExternalHandleTypesDisjoint {
allocations_index: usize,
image_handle_types: ExternalMemoryHandleTypes,
memory_export_handle_types: ExternalMemoryHandleTypes,
},
MemoryImportedHandleTypeNotEnabled {
allocations_index: usize,
image_handle_types: ExternalMemoryHandleTypes,
memory_imported_handle_type: ExternalMemoryHandleType,
},
MemoryProtectedMismatch {
allocations_index: usize,
image_protected: bool,
memory_protected: bool,
},
MemoryTypeNotAllowed {
allocations_index: usize,
provided_memory_type_index: u32,
allowed_memory_type_bits: u32,
},
MipLevelOutOfRange {
provided_mip_level: u32,
image_mip_levels: u32,
},
MultisampleCubeCompatible,
MultisampleLinearTiling,
MultisampleMultipleMipLevels,
MultisampleNot2d,
OptimalTilingNotSupported,
SampleCountNotSupported {
samples: SampleCount,
supported: SampleCounts,
},
SharingQueueFamilyIndexOutOfRange {
queue_family_index: u32,
queue_family_count: u32,
},
StencilUsageMismatch {
usage: ImageUsage,
stencil_usage: ImageUsage,
},
YcbcrFormatInvalidDimensions,
YcbcrFormatMultipleMipLevels,
YcbcrFormatMultisampling,
YcbcrFormatNot2d,
DirectImageViewCreationFailed(ImageViewCreationError),
}
Expand description
Error that can happen in image functions.
Variants
VulkanError(VulkanError)
AllocError(AllocationCreationError)
Allocating memory failed.
RequirementNotMet
AllocationsWrongNumberOfElements
The provided number of elements in allocations
is not what is required for image
.
Array2dCompatibleNot3d
The array_2d_compatible
flag was enabled, but the image type was not 3D.
ArrayLayerOutOfRange
The provided array layer is not less than the number of array layers in the image.
AspectNotAllowed
The provided aspect is not present in the image, or is not allowed.
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.
DedicatedAllocationMismatch
The memory was created dedicated to a resource, but not to this image.
DedicatedAllocationRequired
A dedicated allocation is required for this image, but one was not provided.
DepthStencilFormatsNotSupported
The image has a format with both a depth and a stencil aspect, which is not supported for this operation.
DisjointFormatNotSupported
The disjoint
flag was enabled, but the given format is either not multi-planar, or does
not support disjoint images.
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
The number of array layers exceeds the maximum supported by the device for this image configuration.
MaxDimensionsExceeded
The specified dimensions exceed the maximum supported by the device for this image configuration.
MaxFramebufferDimensionsExceeded
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
The maximum number of mip levels for the given dimensions has been exceeded.
MemoryAllocationNotAligned
In an allocations
element, the offset of the allocation does not have the required
alignment.
MemoryAllocationTooSmall
In an allocations
element, the size of the allocation is smaller than what is required.
MemoryExternalHandleTypesDisjoint
Fields
allocations_index: usize
image_handle_types: ExternalMemoryHandleTypes
memory_export_handle_types: ExternalMemoryHandleTypes
In an allocations
element, the memory was created with export handle types, but none of
these handle types were enabled on the image.
MemoryImportedHandleTypeNotEnabled
Fields
allocations_index: usize
image_handle_types: ExternalMemoryHandleTypes
memory_imported_handle_type: ExternalMemoryHandleType
In an allocations
element, the memory was created with an import, but the import’s handle
type was not enabled on the image.
MemoryProtectedMismatch
In an allocations
element, the protection of image and memory are not equal.
MemoryTypeNotAllowed
In an allocations
element, the provided memory type is not one of the allowed memory
types that can be bound to this image or image plane.
MipLevelOutOfRange
The provided mip level is not less than the number of mip levels in the image.
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.
OptimalTilingNotSupported
The image has optimal tiling, which is not supported for this operation.
SampleCountNotSupported
The sample count is not supported by the device for this image configuration.
SharingQueueFamilyIndexOutOfRange
The sharing mode was set to Concurrent
, but one of the specified queue family indices was
out of range.
StencilUsageMismatch
The provided usage
and stencil_usage
have different values for
depth_stencil_attachment
or transient_attachment
.
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.
DirectImageViewCreationFailed(ImageViewCreationError)
Trait Implementations
sourceimpl Clone for ImageError
impl Clone for ImageError
sourcefn clone(&self) -> ImageError
fn clone(&self) -> ImageError
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more