[−][src]Struct wgpu::Device
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
.
Implementations
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(
&self,
source: ShaderModuleSource<'_>
) -> ShaderModule
[src][−]
&self,
source: ShaderModuleSource<'_>
) -> ShaderModule
Creates a shader module from either SPIR-V or WGSL source code.
pub fn create_command_encoder(
&self,
desc: &CommandEncoderDescriptor<'_>
) -> CommandEncoder
[src][−]
&self,
desc: &CommandEncoderDescriptor<'_>
) -> CommandEncoder
Creates an empty CommandEncoder
.
pub fn create_render_bundle_encoder(
&self,
desc: &RenderBundleEncoderDescriptor<'_>
) -> RenderBundleEncoder<'_>
[src][−]
&self,
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(
&self,
desc: &BindGroupLayoutDescriptor<'_>
) -> BindGroupLayout
[src][−]
&self,
desc: &BindGroupLayoutDescriptor<'_>
) -> BindGroupLayout
Creates a BindGroupLayout
.
pub fn create_pipeline_layout(
&self,
desc: &PipelineLayoutDescriptor<'_>
) -> PipelineLayout
[src][−]
&self,
desc: &PipelineLayoutDescriptor<'_>
) -> PipelineLayout
Creates a PipelineLayout
.
pub fn create_render_pipeline(
&self,
desc: &RenderPipelineDescriptor<'_>
) -> RenderPipeline
[src][−]
&self,
desc: &RenderPipelineDescriptor<'_>
) -> RenderPipeline
Creates a RenderPipeline
.
pub fn create_compute_pipeline(
&self,
desc: &ComputePipelineDescriptor<'_>
) -> ComputePipeline
[src][−]
&self,
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_swap_chain(
&self,
surface: &Surface,
desc: &SwapChainDescriptor
) -> SwapChain
[src][−]
&self,
surface: &Surface,
desc: &SwapChainDescriptor
) -> SwapChain
Create a new SwapChain
which targets surface
.
Panics
- A old
SwapChainFrame
is still alive referencing an old swapchain. - Texture format requested is unsupported on the swap chain.
Trait Implementations
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,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T> Instrument for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,