Reintroduce backend selection through ICED_BACKEND env var
This commit is contained in:
parent
441e9237cd
commit
4f5b63f1f4
8 changed files with 196 additions and 83 deletions
|
|
@ -1,5 +1,7 @@
|
|||
//! See what can go wrong when creating graphical backends.
|
||||
|
||||
/// An error that occurred while creating an application's graphical context.
|
||||
#[derive(Debug, thiserror::Error)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, thiserror::Error)]
|
||||
pub enum Error {
|
||||
/// The requested backend version is not supported.
|
||||
#[error("the requested backend version is not supported")]
|
||||
|
|
@ -11,9 +13,30 @@ pub enum Error {
|
|||
|
||||
/// A suitable graphics adapter or device could not be found.
|
||||
#[error("a suitable graphics adapter or device could not be found")]
|
||||
GraphicsAdapterNotFound,
|
||||
GraphicsAdapterNotFound {
|
||||
/// The name of the backend where the error happened
|
||||
backend: &'static str,
|
||||
/// The reason why this backend could not be used
|
||||
reason: Reason,
|
||||
},
|
||||
|
||||
/// An error occurred in the context's internal backend
|
||||
#[error("an error occurred in the context's internal backend")]
|
||||
BackendError(String),
|
||||
|
||||
/// Multiple errors occurred
|
||||
#[error("multiple errors occurred: {0:?}")]
|
||||
List(Vec<Self>),
|
||||
}
|
||||
|
||||
/// The reason why a graphics adapter could not be found
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
pub enum Reason {
|
||||
/// The backend did not match the preference
|
||||
DidNotMatch {
|
||||
/// The preferred backend
|
||||
preferred_backend: String,
|
||||
},
|
||||
/// The request to create the backend failed
|
||||
RequestFailed(String),
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue