pub struct Adapter { /* private fields */ }
Expand description
Handle to a physical graphics and/or compute device.
Adapters can be used to open a connection to the corresponding Device
on the host system by using Adapter::request_device
.
Does not have to be kept alive.
Corresponds to WebGPU GPUAdapter
.
Implementations
sourceimpl Adapter
impl Adapter
sourcepub fn request_device(
&self,
desc: &DeviceDescriptor<'_>,
trace_path: Option<&Path>
) -> impl Future<Output = Result<(Device, Queue), RequestDeviceError>> + Send
pub fn request_device(
&self,
desc: &DeviceDescriptor<'_>,
trace_path: Option<&Path>
) -> impl Future<Output = Result<(Device, Queue), RequestDeviceError>> + Send
Requests a connection to a physical device, creating a logical device.
Returns the Device
together with a Queue
that executes command buffers.
Arguments
desc
- Description of the features and limits requested from the given device.trace_path
- Can be used for API call tracing, if that feature is enabled inwgpu-core
.
Panics
- Features specified by
desc
are not supported by this adapter. - Unsafe features were requested but not enabled when requesting the adapter.
- Limits requested exceed the values provided by the adapter.
- Adapter does not support all features wgpu requires to safely operate.
sourcepub unsafe fn create_device_from_hal<A: HalApi>(
&self,
hal_device: OpenDevice<A>,
desc: &DeviceDescriptor<'_>,
trace_path: Option<&Path>
) -> Result<(Device, Queue), RequestDeviceError>
pub unsafe fn create_device_from_hal<A: HalApi>(
&self,
hal_device: OpenDevice<A>,
desc: &DeviceDescriptor<'_>,
trace_path: Option<&Path>
) -> Result<(Device, Queue), RequestDeviceError>
sourcepub unsafe fn as_hal<A: HalApi, F: FnOnce(Option<&A::Adapter>) -> R, R>(
&self,
hal_adapter_callback: F
) -> R
pub unsafe fn as_hal<A: HalApi, F: FnOnce(Option<&A::Adapter>) -> R, R>(
&self,
hal_adapter_callback: F
) -> R
Returns the inner hal Adapter using a callback. The hal adapter will be None
if the
backend type argument does not match with this wgpu Adapter
Safety
- The raw handle obtained from the hal Adapter must not be manually destroyed
sourcepub fn is_surface_supported(&self, surface: &Surface) -> bool
pub fn is_surface_supported(&self, surface: &Surface) -> bool
Returns whether this adapter may present to the passed surface.
sourcepub fn features(&self) -> Features
pub fn features(&self) -> Features
List all features that are supported with this adapter.
Features must be explicitly requested in Adapter::request_device
in order
to use them.
sourcepub fn limits(&self) -> Limits
pub fn limits(&self) -> Limits
List the “best” limits that are supported by this adapter.
Limits must be explicitly requested in Adapter::request_device
to set
the values that you are allowed to use.
sourcepub fn get_info(&self) -> AdapterInfo
pub fn get_info(&self) -> AdapterInfo
Get info about the adapter itself.
sourcepub fn get_downlevel_capabilities(&self) -> DownlevelCapabilities
pub fn get_downlevel_capabilities(&self) -> DownlevelCapabilities
Get info about the adapter itself.
sourcepub fn get_texture_format_features(
&self,
format: TextureFormat
) -> TextureFormatFeatures
pub fn get_texture_format_features(
&self,
format: TextureFormat
) -> TextureFormatFeatures
Returns the features supported for a given texture format by this adapter.
Note that the WebGPU spec further restricts the available usages/features.
To disable these restrictions on a device, request the Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES
feature.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Adapter
impl Send for Adapter
impl Sync for Adapter
impl Unpin for Adapter
impl !UnwindSafe for Adapter
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more