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.
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
CreateBuffer
vkCreateBuffer failed.
Fields
result: ResultDriver result.
AllocateMemory
vkAllocateMemory failed.
Fields
result: ResultDriver result.
BindBufferMemory
vkBindBufferMemory failed.
Fields
result: ResultDriver result.
MapMemory
vkMapMemory failed.
Fields
result: ResultDriver result.
CreateImage
vkCreateImage failed.
Fields
result: ResultDriver result.
BindImageMemory
vkBindImageMemory failed.
Fields
result: ResultDriver result.
CreateImageView
vkCreateImageView failed.
Fields
result: ResultDriver result.
CreateSampler
vkCreateSampler failed.
Fields
result: ResultDriver result.
CreateDescriptorSetLayout
vkCreateDescriptorSetLayout failed.
Fields
result: ResultDriver result.
CreateDescriptorPool
vkCreateDescriptorPool failed.
Fields
result: ResultDriver result.
AllocateDescriptorSet
vkAllocateDescriptorSets failed.
Fields
result: ResultDriver result.
CreateShaderModule
vkCreateShaderModule failed.
Fields
result: ResultDriver result.
CreateRenderPass
vkCreateRenderPass failed.
Fields
result: ResultDriver result.
CreatePipelineLayout
vkCreatePipelineLayout failed.
Fields
result: ResultDriver result.
CreateGraphicsPipeline
vkCreateGraphicsPipelines failed.
Fields
result: ResultDriver result.
CreateFramebuffer
vkCreateFramebuffer failed.
Fields
result: ResultDriver result.
AllocateCommandBuffer
vkAllocateCommandBuffers failed.
Fields
result: ResultDriver result.
BeginCommandBuffer
vkBeginCommandBuffer failed.
Fields
result: ResultDriver result.
EndCommandBuffer
vkEndCommandBuffer failed.
Fields
result: ResultDriver result.
QueueSubmit
vkQueueSubmit failed.
Fields
result: ResultDriver result.
QueueWaitIdle
vkQueueWaitIdle failed.
Fields
result: ResultDriver result.
TextAtlasFull
The single fixed-size glyph atlas has no room for another rasterized glyph.
Host(String)
Opaque integration error supplied by the host.