Trait wgpu_hal::Instance

source ·
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§

source

type A: Api

Required Methods§

source

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

source

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

source

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

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Instance for Context

source§

type A = Api

source§

impl Instance for wgpu_hal::gles::egl::Instance

source§

type A = Api

source§

impl Instance for wgpu_hal::vulkan::Instance

source§

type A = Api