Struct wgpu::CommandEncoder [−][src]
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,
desc: &ComputePassDescriptor<'_>
) -> ComputePass<'_>
[src]
&mut self,
desc: &ComputePassDescriptor<'_>
) -> ComputePass<'_>
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.
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]
&mut self,
query_set: &QuerySet,
query_range: Range<u32>,
destination: &Buffer,
destination_offset: BufferAddress
)
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
Auto Trait Implementations
impl !RefUnwindSafe for CommandEncoder
[src]
impl !Send for CommandEncoder
[src]
impl !Sync for CommandEncoder
[src]
impl Unpin for CommandEncoder
[src]
impl !UnwindSafe for CommandEncoder
[src]
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> Downcast<T> for T
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.