[−][src]Struct wgpu::CommandEncoder
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]
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]
&'a mut self,
desc: &RenderPassDescriptor<'a, '_>
) -> RenderPass<'a>
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]
&mut self,
source: &Buffer,
source_offset: BufferAddress,
destination: &Buffer,
destination_offset: BufferAddress,
copy_size: BufferAddress
)
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]
&mut self,
source: BufferCopyView<'_>,
destination: TextureCopyView<'_>,
copy_size: Extent3d
)
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: TextureCopyView<'_>,
destination: BufferCopyView<'_>,
copy_size: Extent3d
)
[src]
&mut self,
source: TextureCopyView<'_>,
destination: BufferCopyView<'_>,
copy_size: Extent3d
)
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: TextureCopyView<'_>,
destination: TextureCopyView<'_>,
copy_size: Extent3d
)
[src]
&mut self,
source: TextureCopyView<'_>,
destination: TextureCopyView<'_>,
copy_size: Extent3d
)
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.
Trait Implementations
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]
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[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>,
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]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,