Struct wgpu::CommandEncoder [−][src]
pub struct CommandEncoder { /* fields omitted */ }
Encodes a series of GPU operations.
A command encoder 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.
Implementations
impl CommandEncoder
[src]
impl CommandEncoder
[src]pub fn finish(self) -> CommandBuffer
[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]
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]
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]
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: ImageCopyBuffer<'_>,
destination: ImageCopyTexture<'_>,
copy_size: Extent3d
)
[src]
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
- Copy would overrun buffer.
- Copy would overrun texture.
source.layout.bytes_per_row
isn’t divisible byCOPY_BYTES_PER_ROW_ALIGNMENT
.
pub fn copy_texture_to_buffer(
&mut self,
source: ImageCopyTexture<'_>,
destination: ImageCopyBuffer<'_>,
copy_size: Extent3d
)
[src]
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
- Copy would overrun buffer.
- Copy would overrun texture.
source.layout.bytes_per_row
isn’t divisible byCOPY_BYTES_PER_ROW_ALIGNMENT
.
pub fn copy_texture_to_texture(
&mut self,
source: ImageCopyTexture<'_>,
destination: ImageCopyTexture<'_>,
copy_size: Extent3d
)
[src]
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]
pub fn insert_debug_marker(&mut self, label: &str)
[src]Inserts debug marker.
pub fn push_debug_group(&mut self, label: &str)
[src]
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]
pub fn pop_debug_group(&mut self)
[src]Stops command recording and creates debug group.
impl CommandEncoder
[src]
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]
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]
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]
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 Debug for CommandEncoder
[src]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> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more