Struct wgpu::CommandEncoder[][src]

pub struct CommandEncoder { /* fields omitted */ }

Encodes a series of GPU operations.

A command encoder can record RenderPasses, ComputePasses, and transfer operations between driver-managed resources like Buffers and Textures.

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

Implementations

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,
    desc: &ComputePassDescriptor<'_>
) -> 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

pub fn copy_buffer_to_texture(
    &mut self,
    source: ImageCopyBuffer<'_>,
    destination: ImageCopyTexture<'_>,
    copy_size: Extent3d
)
[src]

Copy data from a buffer to a texture.

Panics

pub fn copy_texture_to_buffer(
    &mut self,
    source: ImageCopyTexture<'_>,
    destination: ImageCopyBuffer<'_>,
    copy_size: Extent3d
)
[src]

Copy data from a texture to a buffer.

Panics

pub fn copy_texture_to_texture(
    &mut self,
    source: ImageCopyTexture<'_>,
    destination: ImageCopyTexture<'_>,
    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

pub fn insert_debug_marker(&mut self, label: &str)[src]

Inserts debug marker.

pub fn push_debug_group(&mut self, label: &str)[src]

Start record commands and group it into debug marker group.

pub fn pop_debug_group(&mut self)[src]

Stops command recording and creates debug group.

impl CommandEncoder[src]

Features::TIMESTAMP_QUERY must be enabled on the device in order to call these functions.

pub fn write_timestamp(&mut self, query_set: &QuerySet, query_index: u32)[src]

Issue a timestamp command at this point in the queue. The timestamp will be written to the specified query set, at the specified index.

Must be multiplied by [Device::get_timestamp_period] to get the value in nanoseconds. Absolute values have no meaning, but timestamps can be subtracted to get the time it takes for a string of operations to complete.

impl CommandEncoder[src]

Features::TIMESTAMP_QUERY or Features::PIPELINE_STATISTICS_QUERY must be enabled on the device in order to call these functions.

pub fn resolve_query_set(
    &mut self,
    query_set: &QuerySet,
    query_range: Range<u32>,
    destination: &Buffer,
    destination_offset: BufferAddress
)
[src]

Resolve a query set, writing the results into the supplied destination buffer.

Queries may be between 8 and 40 bytes each. See [PipelineStatisticsType] for more information.

Trait Implementations

impl Debug for CommandEncoder[src]

impl Drop for CommandEncoder[src]

Auto Trait Implementations

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> Downcast<T> for T

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.

impl<T> Upcast<T> for T