[−][src]Struct wgpu::CommandEncoder
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]
&'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 by [COPY_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 by [COPY_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
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,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> 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>,
type Error = Infallible
The type returned in the event of a conversion error.
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>,