Skip to main content

Adapter

Trait Adapter 

Source
pub trait Adapter: WasmNotSendSync {
    type A: Api;

    // Required methods
    unsafe fn open(
        &self,
        features: Features,
        limits: &Limits,
        memory_hints: &MemoryHints,
    ) -> Result<OpenDevice<Self::A>, DeviceError>;
    unsafe fn texture_format_capabilities(
        &self,
        format: TextureFormat,
    ) -> TextureFormatCapabilities;
    unsafe fn surface_capabilities(
        &self,
        surface: &<Self::A as Api>::Surface,
    ) -> Option<SurfaceCapabilities>;
    unsafe fn get_presentation_timestamp(&self) -> PresentationTimestamp;
    fn get_ordered_buffer_usages(&self) -> BufferUses;
    fn get_ordered_texture_usages(&self) -> TextureUses;
}

Required Associated Types§

Source

type A: Api

Required Methods§

Source

unsafe fn open( &self, features: Features, limits: &Limits, memory_hints: &MemoryHints, ) -> Result<OpenDevice<Self::A>, DeviceError>

Source

unsafe fn texture_format_capabilities( &self, format: TextureFormat, ) -> TextureFormatCapabilities

Return the set of supported capabilities for a texture format.

Source

unsafe fn surface_capabilities( &self, surface: &<Self::A as Api>::Surface, ) -> Option<SurfaceCapabilities>

Returns the capabilities of working with a specified surface.

None means presentation is not supported for it.

Source

unsafe fn get_presentation_timestamp(&self) -> PresentationTimestamp

Creates a PresentationTimestamp using the adapter’s WSI.

Source

fn get_ordered_buffer_usages(&self) -> BufferUses

The combination of all usages that the are guaranteed to be be ordered by the hardware. If a usage is ordered, then if the buffer state doesn’t change between draw calls, there are no barriers needed for synchronization.

Source

fn get_ordered_texture_usages(&self) -> TextureUses

The combination of all usages that the are guaranteed to be be ordered by the hardware. If a usage is ordered, then if the buffer state doesn’t change between draw calls, there are no barriers needed for synchronization.

Implementors§

Source§

impl Adapter for Adapter

Available on gles only.
Source§

type A = Api

Source§

impl Adapter for Context

Source§

type A = Api