rerun::external::eframe::egui_wgpu::wgpu::hal

Trait Instance

pub trait Instance: Sized + WasmNotSendSync {
    type A: Api;

    // Required methods
    unsafe fn init(desc: &InstanceDescriptor<'_>) -> Result<Self, InstanceError>;
    unsafe fn create_surface(
        &self,
        display_handle: RawDisplayHandle,
        window_handle: RawWindowHandle,
    ) -> Result<<Self::A as Api>::Surface, InstanceError>;
    unsafe fn enumerate_adapters(
        &self,
        surface_hint: Option<&<Self::A as Api>::Surface>,
    ) -> Vec<ExposedAdapter<Self::A>>;
}

Required Associated Types§

type A: Api

Required Methods§

unsafe fn init(desc: &InstanceDescriptor<'_>) -> Result<Self, InstanceError>

unsafe fn create_surface( &self, display_handle: RawDisplayHandle, window_handle: RawWindowHandle, ) -> Result<<Self::A as Api>::Surface, InstanceError>

unsafe fn enumerate_adapters( &self, surface_hint: Option<&<Self::A as Api>::Surface>, ) -> Vec<ExposedAdapter<Self::A>>

surface_hint is only used by the GLES backend targeting WebGL2

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

§

impl Instance for Context

§

type A = Api

§

impl Instance for Instance

§

type A = Api