Enum VulkanRendererError

Source
pub enum VulkanRendererError {
Show 28 variants InvalidTargetImage, InvalidTargetView, InvalidTargetExtent { width: u32, height: u32, }, MissingMemoryProperties, NoCompatibleMemoryType { type_bits: u32, flags: u32, }, CreateBuffer { result: Result, }, AllocateMemory { result: Result, }, BindBufferMemory { result: Result, }, MapMemory { result: Result, }, CreateImage { result: Result, }, BindImageMemory { result: Result, }, CreateImageView { result: Result, }, CreateSampler { result: Result, }, CreateDescriptorSetLayout { result: Result, }, CreateDescriptorPool { result: Result, }, AllocateDescriptorSet { result: Result, }, CreateShaderModule { result: Result, }, CreateRenderPass { result: Result, }, CreatePipelineLayout { result: Result, }, CreateGraphicsPipeline { result: Result, }, CreateFramebuffer { result: Result, }, AllocateCommandBuffer { result: Result, }, BeginCommandBuffer { result: Result, }, EndCommandBuffer { result: Result, }, QueueSubmit { result: Result, }, QueueWaitIdle { result: Result, }, TextAtlasFull, Host(String),
}
Expand description

Failure while configuring or using the Vulkan renderer.

Every Vulkan-call variant retains the exact [vk::Result] returned by the driver. Host integration failures use Self::Host for an opaque message.

§Examples

use ailloli_ui_render_vulkan::VulkanRendererError;
let error = VulkanRendererError::InvalidTargetExtent { width: 0, height: 720 };
assert_eq!(error.to_string(), "vulkan target has invalid extent 0x720");

Variants§

§

InvalidTargetImage

The host supplied [vk::Image::null()].

§

InvalidTargetView

The host supplied [vk::ImageView::null()].

§

InvalidTargetExtent

At least one target dimension in physical pixels was zero.

Fields

§width: u32

Target width in physical pixels.

§height: u32

Target height in physical pixels.

§

MissingMemoryProperties

Resource allocation was requested from a context built without memory properties.

§

NoCompatibleMemoryType

No physical-device memory type satisfies both the type mask and required flags.

Fields

§type_bits: u32

Bit mask of memory types accepted by the resource requirements.

§flags: u32

Raw [vk::MemoryPropertyFlags] bits requested by the allocation.

§

CreateBuffer

vkCreateBuffer failed.

Fields

§result: Result

Driver result.

§

AllocateMemory

vkAllocateMemory failed.

Fields

§result: Result

Driver result.

§

BindBufferMemory

vkBindBufferMemory failed.

Fields

§result: Result

Driver result.

§

MapMemory

vkMapMemory failed.

Fields

§result: Result

Driver result.

§

CreateImage

vkCreateImage failed.

Fields

§result: Result

Driver result.

§

BindImageMemory

vkBindImageMemory failed.

Fields

§result: Result

Driver result.

§

CreateImageView

vkCreateImageView failed.

Fields

§result: Result

Driver result.

§

CreateSampler

vkCreateSampler failed.

Fields

§result: Result

Driver result.

§

CreateDescriptorSetLayout

vkCreateDescriptorSetLayout failed.

Fields

§result: Result

Driver result.

§

CreateDescriptorPool

vkCreateDescriptorPool failed.

Fields

§result: Result

Driver result.

§

AllocateDescriptorSet

vkAllocateDescriptorSets failed.

Fields

§result: Result

Driver result.

§

CreateShaderModule

vkCreateShaderModule failed.

Fields

§result: Result

Driver result.

§

CreateRenderPass

vkCreateRenderPass failed.

Fields

§result: Result

Driver result.

§

CreatePipelineLayout

vkCreatePipelineLayout failed.

Fields

§result: Result

Driver result.

§

CreateGraphicsPipeline

vkCreateGraphicsPipelines failed.

Fields

§result: Result

Driver result.

§

CreateFramebuffer

vkCreateFramebuffer failed.

Fields

§result: Result

Driver result.

§

AllocateCommandBuffer

vkAllocateCommandBuffers failed.

Fields

§result: Result

Driver result.

§

BeginCommandBuffer

vkBeginCommandBuffer failed.

Fields

§result: Result

Driver result.

§

EndCommandBuffer

vkEndCommandBuffer failed.

Fields

§result: Result

Driver result.

§

QueueSubmit

vkQueueSubmit failed.

Fields

§result: Result

Driver result.

§

QueueWaitIdle

vkQueueWaitIdle failed.

Fields

§result: Result

Driver result.

§

TextAtlasFull

The single fixed-size glyph atlas has no room for another rasterized glyph.

§

Host(String)

Opaque integration error supplied by the host.

Trait Implementations§

Source§

impl Debug for VulkanRendererError

Source§

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

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

impl Display for VulkanRendererError

Source§

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

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

impl Error for VulkanRendererError

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where 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 T
where 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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

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 T
where U: TryFrom<T>,

Source§

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.
§

impl<T> ErasedDestructor for T
where T: 'static,