[][src]Struct wgpu::CommandEncoder

pub struct CommandEncoder { /* fields omitted */ }

Encodes a series of GPU operations.

A CommandEncoder can record [RenderPass]es, [ComputePass]es, and transfer operations between driver-managed resources like [Buffer]s and [Texture]s.

When finished recording, call [CommandEncoder::finish] to obtain a [CommandBuffer] which may be submitted for execution.

Methods

impl CommandEncoder[src]

pub fn finish(self) -> CommandBuffer[src]

Finishes recording and returns a [CommandBuffer] that can be submitted for execution.

pub fn begin_render_pass<'a>(
    &'a mut self,
    desc: &RenderPassDescriptor<'a, '_>
) -> RenderPass<'a>
[src]

Begins recording of a render pass.

This function returns a [RenderPass] object which records a single render pass.

pub fn begin_compute_pass(&mut self) -> ComputePass[src]

Begins recording of a compute pass.

This function returns a [ComputePass] object which records a single compute pass.

pub fn copy_buffer_to_buffer(
    &mut self,
    source: &Buffer,
    source_offset: BufferAddress,
    destination: &Buffer,
    destination_offset: BufferAddress,
    copy_size: BufferAddress
)
[src]

Copy data from one buffer to another.

Panics

  • Buffer offsets or copy size not a multiple of [COPY_BUFFER_ALIGNMENT].
  • Copy would overrun buffer.

pub fn copy_buffer_to_texture(
    &mut self,
    source: BufferCopyView,
    destination: TextureCopyView,
    copy_size: Extent3d
)
[src]

Copy data from a buffer to a texture.

Panics

  • Copy would overrun buffer.
  • Copy would overrun texture.
  • source.layout.bytes_per_row isn't divisible by [COPY_BYTES_PER_ROW_ALIGNMENT].

pub fn copy_texture_to_buffer(
    &mut self,
    source: TextureCopyView,
    destination: BufferCopyView,
    copy_size: Extent3d
)
[src]

Copy data from a texture to a buffer.

Panics

  • Copy would overrun buffer.
  • Copy would overrun texture.
  • source.layout.bytes_per_row isn't divisible by [COPY_BYTES_PER_ROW_ALIGNMENT].

pub fn copy_texture_to_texture(
    &mut self,
    source: TextureCopyView,
    destination: TextureCopyView,
    copy_size: Extent3d
)
[src]

Copy data from one texture to another.

Panics

  • Textures are not the same type
  • If a depth texture, or a multisampled texture, the entire texture must be copied
  • Copy would overrun either texture

Auto Trait Implementations

impl !RefUnwindSafe for CommandEncoder

impl !Send for CommandEncoder

impl !Sync for CommandEncoder

impl Unpin for CommandEncoder

impl !UnwindSafe for CommandEncoder

Blanket Implementations

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

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.