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.


Requests a connection to a physical device, creating a logical device.

Returns the Device together with a Queue that executes command buffers.

  • 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 in wgpu-core.
  • 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.

Create a wgpu Device and Queue from a wgpu-hal OpenDevice

  • hal_device must be created from this adapter internal handle.
  • desc.features must be a subset of hal_device features.

Apply a callback to this Adapter’s underlying backend adapter.

If this Adapter is implemented by the backend API given by A (Vulkan, Dx12, etc.), then apply hal_adapter_callback to Some(&adapter), where adapter is the underlying backend adapter type, A::Adapter.

If this Adapter uses a different backend, apply hal_adapter_callback to None.

The adapter is locked for reading while hal_adapter_callback runs. If the callback attempts to perform any wgpu operations that require write access to the adapter, deadlock will occur. The locks are automatically released when the callback returns.

  • The raw handle passed to the callback must not be manually destroyed.

Returns whether this adapter may present to the passed surface.

List all features that are supported with this adapter.

Features must be explicitly requested in Adapter::request_device in order to use them.

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.

Get info about the adapter itself.

Get info about the adapter itself.

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

Formats the value using the given formatter. Read more
Executes the destructor for this type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.