pub struct Instance {
    pub name: String,
    pub instance_per_backend: Vec<(Backend, Box<dyn DynInstance>)>,
    pub flags: InstanceFlags,
}

Fields§

§name: String§instance_per_backend: Vec<(Backend, Box<dyn DynInstance>)>

List of instances per backend.

The ordering in this list implies prioritization and needs to be preserved.

§flags: InstanceFlags

Implementations§

source§

impl Instance

source

pub fn new(name: &str, instance_desc: InstanceDescriptor) -> Self

source

pub fn raw(&self, backend: Backend) -> Option<&dyn DynInstance>

source

pub unsafe fn as_hal<A: HalApi>(&self) -> Option<&A::Instance>

Safety
  • The raw instance handle returned must not be manually destroyed.
source

pub unsafe fn create_surface( &self, display_handle: RawDisplayHandle, window_handle: RawWindowHandle ) -> Result<Surface, CreateSurfaceError>

Available on crate feature raw-window-handle only.

Creates a new surface targeting the given display/window handles.

Internally attempts to create hal surfaces for all enabled backends.

Fails only if creation for surfaces for all enabled backends fails in which case the error for each enabled backend is listed. Vice versa, if creation for any backend succeeds, success is returned. Surface creation errors are logged to the debug log in any case.

Safety
  • display_handle must be a valid object to create a surface upon.
  • window_handle must remain valid as long as the returned SurfaceId is being used.
source

pub fn enumerate_adapters(&self, backends: Backends) -> Vec<Adapter>

source

pub fn request_adapter( &self, desc: &RequestAdapterOptions<&Surface>, backends: Backends ) -> Result<Adapter, RequestAdapterError>

Trait Implementations§

source§

impl Default for Instance

source§

fn default() -> Instance

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

§

impl<T> WasmNotSend for T
where T: Send,

§

impl<T> WasmNotSendSync for T
where T: WasmNotSend + WasmNotSync,

§

impl<T> WasmNotSync for T
where T: Sync,