#[non_exhaustive]pub enum RenderError {
Show 24 variants
ZeroDimension,
DimensionTooLarge,
InvalidColor,
InvalidVisual,
InvalidEffectParameter,
UnknownEffect,
InvalidEffectParams,
InvalidEffectResource,
MissingEffectResource,
EffectResourceKindMismatch,
MissingEffectInput,
MissingText,
InvalidImageData,
TextureReadback(ReadbackFailure),
InvalidGraph,
ExternalTextureSync(Option<GpuFault>),
InvalidPlaneTarget,
GpuTimeout,
GpuWorkDropped,
Gpu {
kind: GpuErrorKind,
},
GpuDeviceLost,
GpuDeviceHung {
frame: Option<u64>,
time_ticks: Option<i64>,
gpu_ms: u32,
watchdog_ms: u32,
},
UnsupportedHdr,
InvalidSource,
}Expand description
Render input or output failure.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ZeroDimension
Render targets must have non-zero dimensions.
DimensionTooLarge
Render dimensions exceed the configured or physical device limit.
InvalidColor
Colors must be finite, in the unit interval, and premultiplied.
InvalidVisual
A layer transform is non-finite, has zero scale, or invalid opacity.
InvalidEffectParameter
An effect parameter is non-finite or outside its supported range.
UnknownEffect
No effect with the requested identity is registered.
InvalidEffectParams
Supplied parameter names or types do not match the effect schema.
InvalidEffectResource
An uploaded effect resource has an invalid identity, shape, or payload.
MissingEffectResource
An effect invocation omitted a required registered resource.
EffectResourceKindMismatch
A resource identity resolves to a different representation than required.
MissingEffectInput
A transition invocation omitted its second texture.
MissingText
A frame needs a caption, text generator or layout its host did not prepare at this size.
InvalidImageData
RGBA input byte length does not match the declared image size.
TextureReadback(ReadbackFailure)
A rendered texture could not be read back to host memory, and where.
InvalidGraph
An internally constructed render graph was structurally invalid.
ExternalTextureSync(Option<GpuFault>)
A native texture could not synchronize with the submission, with the platform’s device status when available.
InvalidPlaneTarget
Caller NV12 planes are not R8 luma and RG8 chroma render attachments at full and half size.
GpuTimeout
GPU work did not complete within the renderer’s wait timeout.
GpuWorkDropped
The device completed a submission without running it (a readback lacked its canary). The renderer refuses further work; only a new process gets a working device.
Gpu
The GPU rejected this frame’s work (failed allocation or invalid use). Nothing ran, the device is fine, and the renderer kept nothing of the frame.
Fields
kind: GpuErrorKindThe class of error the GPU reported.
GpuDeviceLost
The device can no longer create the resources a frame needs; the renderer refuses further work.
GpuDeviceHung
The device was lost after a recent submission kept the GPU busy for at least half the OS
watchdog (alpha2_gpu::hung_threshold_ms). Rerunning the same work will hang again.
Fields
UnsupportedHdr
An HDR (PQ or HLG) source met crate::ColorPolicy::RejectHdr.
InvalidSource
A source belongs to the other backend (CPU source on GPU renderer or vice versa).
Trait Implementations§
Source§impl Clone for RenderError
impl Clone for RenderError
impl Copy for RenderError
Source§impl Debug for RenderError
impl Debug for RenderError
Source§impl Display for RenderError
impl Display for RenderError
impl Eq for RenderError
Source§impl Error for RenderError
impl Error for RenderError
1.30.0 · 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
use the Display impl or to_string()
Source§impl From<RenderError> for GraphError
impl From<RenderError> for GraphError
Source§fn from(error: RenderError) -> Self
fn from(error: RenderError) -> Self
Source§impl PartialEq for RenderError
impl PartialEq for RenderError
impl StructuralPartialEq for RenderError
Auto Trait Implementations§
impl Freeze for RenderError
impl RefUnwindSafe for RenderError
impl Send for RenderError
impl Sync for RenderError
impl Unpin for RenderError
impl UnsafeUnpin for RenderError
impl UnwindSafe for RenderError
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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