1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
use {ash::vk, thiserror::Error};
pub type InstanceResult<T> = Result<T, InstanceError>;
#[derive(Debug, Error)]
pub enum InstanceError {
#[error(transparent)]
CannotLoadVulkanEntry(#[from] ash::LoadingError),
#[error("Missing Vulkan extensions {0:?}")]
MissingExtensions(Vec<String>),
#[error("Missing Vulkan layers {0:?}")]
MissingLayers(Vec<String>),
#[error("Unexpected Vulkan error! {0:?}")]
UnexpectedVulkanError(#[from] vk::Result),
}