Trait wgpu_hal::Surface

source ·
pub trait Surface: WasmNotSendSync {
    type A: Api;

    // Required methods
    unsafe fn configure(
        &self,
        device: &<Self::A as Api>::Device,
        config: &SurfaceConfiguration
    ) -> Result<(), SurfaceError>;
    unsafe fn unconfigure(&self, device: &<Self::A as Api>::Device);
    unsafe fn acquire_texture(
        &self,
        timeout: Option<Duration>
    ) -> Result<Option<AcquiredSurfaceTexture<Self::A>>, SurfaceError>;
    unsafe fn discard_texture(&self, texture: <Self::A as Api>::SurfaceTexture);
}

Required Associated Types§

source

type A: Api

Required Methods§

source

unsafe fn configure( &self, device: &<Self::A as Api>::Device, config: &SurfaceConfiguration ) -> Result<(), SurfaceError>

Configures the surface to use the given device.

Safety
source

unsafe fn unconfigure(&self, device: &<Self::A as Api>::Device)

Unconfigures the surface on the given device.

Safety
source

unsafe fn acquire_texture( &self, timeout: Option<Duration> ) -> Result<Option<AcquiredSurfaceTexture<Self::A>>, SurfaceError>

Returns the next texture to be presented by the swapchain for drawing

A timeout of None means to wait indefinitely, with no timeout.

Portability

Some backends can’t support a timeout when acquiring a texture and the timeout will be ignored.

Returns None on timing out.

source

unsafe fn discard_texture(&self, texture: <Self::A as Api>::SurfaceTexture)

Implementors§

source§

impl Surface for Context

§

type A = Api

source§

impl Surface for Surface

Available on vulkan only.
§

type A = Api