pub enum OpenXrRuntimeError {
Show 63 variants
LoadEntry {
message: String,
},
EnumerateExtensions {
result: Result,
},
MissingExtension(&'static str),
InvalidOpenXrName {
field: &'static str,
reason: String,
},
CreateInstance {
result: Result,
},
InstanceProperties {
result: Result,
},
System {
result: Result,
},
BlendModes {
result: Result,
},
GraphicsRequirements {
result: Result,
},
UnsupportedVulkanVersion {
requested: Version,
min: Version,
max: Version,
},
LoadVulkanEntry {
message: String,
},
InvalidVulkanName {
field: &'static str,
message: String,
},
CreateVulkanInstance {
result: Result,
},
CreateVulkanInstanceVk {
result: Result,
},
VulkanGraphicsDevice {
result: Result,
},
NoGraphicsQueueFamily,
CreateVulkanDevice {
result: Result,
},
CreateVulkanDeviceVk {
result: Result,
},
CreateCommandPool {
result: Result,
},
AllocateCommandBuffer {
result: Result,
},
BeginCommandBuffer {
result: Result,
},
EndCommandBuffer {
result: Result,
},
QueueSubmit {
result: Result,
},
QueueWaitIdle {
result: Result,
},
CreateSession {
result: Result,
},
CreateViewSpace {
result: Result,
},
LocateViewSpace {
result: Result,
},
CreateReferenceSpace {
preference: &'static str,
local_error: Option<Result>,
stage_error: Option<Result>,
},
PollEvent {
result: Result,
},
BeginSession {
result: Result,
},
EndSession {
result: Result,
},
FrameWait {
result: Result,
},
FrameBegin {
result: Result,
},
FrameEnd {
result: Result,
},
CreateActionSet {
name: &'static str,
result: Result,
},
StringToPath {
path: &'static str,
result: Result,
},
CreateAction {
name: &'static str,
result: Result,
},
SuggestInteractionProfileBindings {
profile: &'static str,
result: Result,
},
NoInteractionProfileBindings,
AttachActionSets {
result: Result,
},
CreateActionSpace {
source_name: &'static str,
result: Result,
},
SyncActions {
result: Result,
},
ActionState {
action: &'static str,
source_name: &'static str,
result: Result,
},
LocateActionSpace {
source_name: &'static str,
result: Result,
},
CreateHandTracker {
source_name: &'static str,
result: Result,
},
LocateHandJoints {
source_name: &'static str,
result: Result,
},
InvalidSwapchainExtent {
width: u32,
height: u32,
},
EnumerateSwapchainFormats {
result: Result,
},
UnsupportedSwapchainFormat {
supported: Vec<u32>,
},
CreateSwapchain {
usage: &'static str,
result: Result,
},
EnumerateSwapchainImages {
result: Result,
},
CreateSwapchainImageView {
result: Result,
},
MissingVulkanMemoryProperties {
usage: &'static str,
},
CreateStagingBuffer {
usage: &'static str,
result: Result,
},
NoHostVisibleMemoryType {
usage: &'static str,
},
AllocateStagingMemory {
usage: &'static str,
result: Result,
},
BindStagingMemory {
usage: &'static str,
result: Result,
},
MapStagingMemory {
usage: &'static str,
result: Result,
},
SwapchainImageIndexOutOfBounds {
index: u32,
len: usize,
},
AcquireSwapchainImage {
result: Result,
},
WaitSwapchainImage {
result: Result,
},
ReleaseSwapchainImage {
result: Result,
},
RenderVulkan {
source: VulkanRendererError,
},
}Expand description
Error returned by the native OpenXR runtime path.
Variants retain the native OpenXR or Vulkan result whenever one is available; configuration and loader failures retain descriptive context instead.
§Examples
use ailloli_ui_openxr::OpenXrRuntimeError;
let error = OpenXrRuntimeError::MissingExtension("XR_KHR_vulkan_enable2");
assert!(error.to_string().contains("XR_KHR_vulkan_enable2"));Variants§
LoadEntry
The platform OpenXR loader could not be opened.
EnumerateExtensions
Available extension enumeration failed.
Fields
result: ResultNative OpenXR result code.
MissingExtension(&'static str)
A mandatory runtime extension was unavailable.
InvalidOpenXrName
An application or engine name violated OpenXR byte constraints.
CreateInstance
Instance creation failed.
Fields
result: ResultNative OpenXR result code.
InstanceProperties
Runtime property lookup failed.
Fields
result: ResultNative OpenXR result code.
System
No head-mounted-display system could be obtained.
Fields
result: ResultNative OpenXR result code.
BlendModes
Environment blend-mode enumeration failed.
Fields
result: ResultNative OpenXR result code.
GraphicsRequirements
Vulkan graphics-requirement lookup failed.
Fields
result: ResultNative OpenXR result code.
UnsupportedVulkanVersion
Requested Vulkan API version falls outside the runtime range.
Fields
requested: VersionVulkan version requested by Ailloli.
min: VersionMinimum version accepted by the runtime.
max: VersionMaximum version accepted by the runtime.
LoadVulkanEntry
The Vulkan loader could not be opened.
InvalidVulkanName
A Vulkan application, engine, or layer name contained an invalid byte.
CreateVulkanInstance
OpenXR rejected Vulkan instance creation.
Fields
result: ResultNative OpenXR result code.
CreateVulkanInstanceVk
Vulkan itself rejected instance creation requested through OpenXR.
Fields
result: ResultNative Vulkan result code.
VulkanGraphicsDevice
The runtime’s Vulkan physical-device lookup failed.
Fields
result: ResultNative OpenXR result code.
NoGraphicsQueueFamily
No queue family advertised graphics support.
CreateVulkanDevice
OpenXR rejected Vulkan logical-device creation.
Fields
result: ResultNative OpenXR result code.
CreateVulkanDeviceVk
Vulkan rejected logical-device creation requested through OpenXR.
Fields
result: ResultNative Vulkan result code.
CreateCommandPool
Vulkan command-pool allocation failed.
Fields
result: ResultNative Vulkan result code.
AllocateCommandBuffer
Vulkan command-buffer allocation failed.
Fields
result: ResultNative Vulkan result code.
BeginCommandBuffer
Beginning a one-time Vulkan command buffer failed.
Fields
result: ResultNative Vulkan result code.
EndCommandBuffer
Ending a one-time Vulkan command buffer failed.
Fields
result: ResultNative Vulkan result code.
QueueSubmit
Queue submission of recorded Vulkan work failed.
Fields
result: ResultNative Vulkan result code.
QueueWaitIdle
Waiting for the Vulkan graphics queue to become idle failed.
Fields
result: ResultNative Vulkan result code.
CreateSession
Creating a Vulkan-backed OpenXR session failed.
Fields
result: ResultNative OpenXR result code.
CreateViewSpace
Creating the viewer reference space failed.
Fields
result: ResultNative OpenXR result code.
LocateViewSpace
Locating the viewer reference space failed.
Fields
result: ResultNative OpenXR result code.
CreateReferenceSpace
Neither preferred nor fallback application reference space could be created.
Fields
PollEvent
Polling the instance event queue failed.
Fields
result: ResultNative OpenXR result code.
BeginSession
Beginning the OpenXR session failed.
Fields
result: ResultNative OpenXR result code.
EndSession
Ending the OpenXR session failed.
Fields
result: ResultNative OpenXR result code.
FrameWait
Waiting for the next predicted display time failed.
Fields
result: ResultNative OpenXR result code.
FrameBegin
Beginning the frame stream failed.
Fields
result: ResultNative OpenXR result code.
FrameEnd
Ending the frame stream or submitting layers failed.
Fields
result: ResultNative OpenXR result code.
CreateActionSet
Creating an OpenXR action set failed.
StringToPath
Converting an OpenXR path string failed.
Fields
result: ResultNative OpenXR result code.
CreateAction
Creating an input action failed.
SuggestInteractionProfileBindings
A runtime rejected suggested bindings for an interaction profile.
Fields
result: ResultNative OpenXR result code.
NoInteractionProfileBindings
Every supported interaction-profile binding suggestion was rejected.
AttachActionSets
Attaching the input action set to the session failed.
Fields
result: ResultNative OpenXR result code.
CreateActionSpace
Creating a pose action space for one source failed.
Fields
result: ResultNative OpenXR result code.
SyncActions
Synchronizing action state for the current frame failed.
Fields
result: ResultNative OpenXR result code.
ActionState
Reading one action state failed.
Fields
result: ResultNative OpenXR result code.
LocateActionSpace
Locating a pose action space failed.
Fields
result: ResultNative OpenXR result code.
CreateHandTracker
Creating an extension hand tracker failed.
LocateHandJoints
Locating hand joints for one frame failed.
InvalidSwapchainExtent
Swapchain width or height was zero.
EnumerateSwapchainFormats
Runtime swapchain-format enumeration failed.
Fields
result: ResultNative OpenXR result code.
UnsupportedSwapchainFormat
None of the runtime formats matched the renderer’s Vulkan formats.
CreateSwapchain
Creating an OpenXR swapchain failed.
Fields
result: ResultNative OpenXR result code.
EnumerateSwapchainImages
Enumerating native Vulkan images for a swapchain failed.
Fields
result: ResultNative OpenXR result code.
CreateSwapchainImageView
Creating a Vulkan view for a swapchain image failed.
Fields
result: ResultNative Vulkan result code.
MissingVulkanMemoryProperties
A staging operation required unavailable Vulkan memory properties.
CreateStagingBuffer
Creating a Vulkan staging buffer failed.
NoHostVisibleMemoryType
No memory type was both host-visible and coherent.
AllocateStagingMemory
Vulkan staging-memory allocation failed.
BindStagingMemory
Binding staging memory to its Vulkan buffer failed.
MapStagingMemory
Mapping staging memory into host address space failed.
SwapchainImageIndexOutOfBounds
Runtime returned an image index beyond the enumerated image vector.
AcquireSwapchainImage
Acquiring the next swapchain image failed.
Fields
result: ResultNative OpenXR result code.
WaitSwapchainImage
Waiting for an acquired swapchain image failed or timed out.
Fields
result: ResultNative OpenXR result code.
ReleaseSwapchainImage
Releasing an acquired swapchain image failed.
Fields
result: ResultNative OpenXR result code.
RenderVulkan
Ailloli’s Vulkan renderer rejected setup or frame work.
Fields
source: VulkanRendererErrorUnderlying renderer failure.
Trait Implementations§
Source§impl Debug for OpenXrRuntimeError
impl Debug for OpenXrRuntimeError
Source§impl Display for OpenXrRuntimeError
impl Display for OpenXrRuntimeError
Source§impl Error for OpenXrRuntimeError
impl Error for OpenXrRuntimeError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Auto Trait Implementations§
impl Freeze for OpenXrRuntimeError
impl RefUnwindSafe for OpenXrRuntimeError
impl Send for OpenXrRuntimeError
impl Sync for OpenXrRuntimeError
impl Unpin for OpenXrRuntimeError
impl UnwindSafe for OpenXrRuntimeError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more