Struct wgpu_hal::vulkan::Adapter

source ·
pub struct Adapter {
    raw: PhysicalDevice,
    instance: Arc<InstanceShared>,
    known_memory_flags: MemoryPropertyFlags,
    phd_capabilities: PhysicalDeviceProperties,
    downlevel_flags: DownlevelFlags,
    private_caps: PrivateCapabilities,
    workarounds: Workarounds,
}

Fields§

§raw: PhysicalDevice§instance: Arc<InstanceShared>§known_memory_flags: MemoryPropertyFlags§phd_capabilities: PhysicalDeviceProperties§downlevel_flags: DownlevelFlags§private_caps: PrivateCapabilities§workarounds: Workarounds

Implementations§

source§

impl Adapter

source

pub fn raw_physical_device(&self) -> PhysicalDevice

source

pub fn physical_device_capabilities(&self) -> &PhysicalDeviceProperties

source

pub fn shared_instance(&self) -> &InstanceShared

source

pub fn required_device_extensions( &self, features: Features, ) -> Vec<&'static CStr>

source

pub fn physical_device_features( &self, enabled_extensions: &[&'static CStr], features: Features, ) -> PhysicalDeviceFeatures

Create a PhysicalDeviceFeatures for opening a logical device with features from this adapter.

The given enabled_extensions set must include all the extensions selected by required_device_extensions when passed features. Otherwise, the PhysicalDeviceFeatures value may not be able to select all the Vulkan features needed to represent features and this adapter’s characteristics.

Typically, you’d simply call required_device_extensions, and then pass its return value and the feature set you gave it directly to this function. But it’s fine to add more extensions to the list.

source

pub unsafe fn device_from_raw( &self, raw_device: Device, drop_callback: Option<DropCallback>, enabled_extensions: &[&'static CStr], features: Features, memory_hints: &MemoryHints, family_index: u32, queue_index: u32, ) -> Result<OpenDevice<Api>, DeviceError>

§Safety
  • raw_device must be created from this adapter.
  • raw_device must be created using family_index, enabled_extensions and physical_device_features()
  • enabled_extensions must be a superset of required_device_extensions().
  • If drop_callback is None, wgpu-hal will take ownership of raw_device. If drop_callback is Some, raw_device must be valid until the callback is called.

Trait Implementations§

source§

impl Adapter for Adapter

§

type A = Api

source§

unsafe fn open( &self, features: Features, _limits: &Limits, memory_hints: &MemoryHints, ) -> Result<OpenDevice<Api>, 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: &Surface, ) -> Option<SurfaceCapabilities>

Returns the capabilities of working with a specified surface. Read more
source§

unsafe fn get_presentation_timestamp(&self) -> PresentationTimestamp

Creates a PresentationTimestamp using the adapter’s WSI.
source§

impl DynResource for Adapter

source§

fn as_any(&self) -> &dyn Any

source§

fn as_any_mut(&mut self) -> &mut dyn Any

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

impl<T> Downcast<T> for T

source§

fn downcast(&self) -> &T

source§

impl<A> DynAdapter for A
where A: Adapter + DynResource,

source§

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

source§

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

source§

unsafe fn surface_capabilities( &self, surface: &(dyn DynSurface + 'static), ) -> Option<SurfaceCapabilities>

source§

unsafe fn get_presentation_timestamp(&self) -> PresentationTimestamp

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

impl<T> Upcast<T> for T

source§

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

source§

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

source§

impl<T> WasmNotSendSync for T

source§

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