Struct wgpu::Device[][src]

pub struct Device { /* fields omitted */ }

Open connection to a graphics and/or compute device.

Responsible for the creation of most rendering and compute resources. These are then used in commands, which are submitted to a Queue.

A device may be requested from an adapter with Adapter::request_device.


impl Device[src]

pub fn poll(&self, maintain: Maintain)[src]

Check for resource cleanups and mapping callbacks.

no-op on the web, device is automatically polled.

pub fn features(&self) -> Features[src]

List all features that may be used with this device.

Functions may panic if you use unsupported features.

pub fn limits(&self) -> Limits[src]

List all limits that were requested of this device.

If any of these limits are exceeded, functions may panic.

pub fn create_shader_module(
    desc: &ShaderModuleDescriptor<'_>
) -> ShaderModule

Creates a shader module from either SPIR-V or WGSL source code.

pub fn create_command_encoder(
    desc: &CommandEncoderDescriptor<'_>
) -> CommandEncoder

Creates an empty CommandEncoder.

pub fn create_render_bundle_encoder(
    desc: &RenderBundleEncoderDescriptor<'_>
) -> RenderBundleEncoder<'_>

Creates an empty RenderBundleEncoder.

pub fn create_bind_group(&self, desc: &BindGroupDescriptor<'_>) -> BindGroup[src]

Creates a new BindGroup.

pub fn create_bind_group_layout(
    desc: &BindGroupLayoutDescriptor<'_>
) -> BindGroupLayout

Creates a BindGroupLayout.

pub fn create_pipeline_layout(
    desc: &PipelineLayoutDescriptor<'_>
) -> PipelineLayout

Creates a PipelineLayout.

pub fn create_render_pipeline(
    desc: &RenderPipelineDescriptor<'_>
) -> RenderPipeline

Creates a RenderPipeline.

pub fn create_compute_pipeline(
    desc: &ComputePipelineDescriptor<'_>
) -> ComputePipeline

Creates a ComputePipeline.

pub fn create_buffer(&self, desc: &BufferDescriptor<'_>) -> Buffer[src]

Creates a Buffer.

pub fn create_texture(&self, desc: &TextureDescriptor<'_>) -> Texture[src]

Creates a new Texture.

desc specifies the general format of the texture.

pub fn create_sampler(&self, desc: &SamplerDescriptor<'_>) -> Sampler[src]

Creates a new Sampler.

desc specifies the behavior of the sampler.

pub fn create_query_set(&self, desc: &QuerySetDescriptor) -> QuerySet[src]

Creates a new QuerySet.

pub fn create_swap_chain(
    surface: &Surface,
    desc: &SwapChainDescriptor
) -> SwapChain

Create a new SwapChain which targets surface.


  • A old SwapChainFrame is still alive referencing an old swapchain.
  • Texture format requested is unsupported on the swap chain.

pub fn on_uncaptured_error(&self, handler: impl UncapturedErrorHandler)[src]

Set a callback for errors that are not handled in error scopes.

pub fn start_capture(&self)[src]

Starts frame capture.

pub fn stop_capture(&self)[src]

Stops frame capture.

Trait Implementations

impl Debug for Device[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl DeviceExt for Device[src]

fn create_buffer_init(&self, descriptor: &BufferInitDescriptor<'_>) -> Buffer[src]

Creates a Buffer with data to initialize it.

fn create_texture_with_data(
    queue: &Queue,
    desc: &TextureDescriptor<'_>,
    data: &[u8]
) -> Texture

Upload an entire texture and its mipmaps from a source buffer. Read more

impl Drop for Device[src]

fn drop(&mut self)[src]

Executes the destructor for this type. Read more

Auto Trait Implementations

impl !RefUnwindSafe for Device

impl Send for Device

impl Sync for Device

impl Unpin for Device

impl !UnwindSafe for Device

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> Downcast<T> for T

pub fn downcast(&self) -> &T

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> Upcast<T> for T

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