Enum Command
pub enum Command<R>where
R: ReferenceType,{
Show 15 variants
CopyBufferToBuffer {
src: <R as ReferenceType>::Buffer,
src_offset: u64,
dst: <R as ReferenceType>::Buffer,
dst_offset: u64,
size: Option<u64>,
},
CopyBufferToTexture {
src: TexelCopyBufferInfo<<R as ReferenceType>::Buffer>,
dst: TexelCopyTextureInfo<<R as ReferenceType>::Texture>,
size: Extent3d,
},
CopyTextureToBuffer {
src: TexelCopyTextureInfo<<R as ReferenceType>::Texture>,
dst: TexelCopyBufferInfo<<R as ReferenceType>::Buffer>,
size: Extent3d,
},
CopyTextureToTexture {
src: TexelCopyTextureInfo<<R as ReferenceType>::Texture>,
dst: TexelCopyTextureInfo<<R as ReferenceType>::Texture>,
size: Extent3d,
},
ClearBuffer {
dst: <R as ReferenceType>::Buffer,
offset: u64,
size: Option<u64>,
},
ClearTexture {
dst: <R as ReferenceType>::Texture,
subresource_range: ImageSubresourceRange,
},
WriteTimestamp {
query_set: <R as ReferenceType>::QuerySet,
query_index: u32,
},
ResolveQuerySet {
query_set: <R as ReferenceType>::QuerySet,
start_query: u32,
query_count: u32,
destination: <R as ReferenceType>::Buffer,
destination_offset: u64,
},
PushDebugGroup(String),
PopDebugGroup,
InsertDebugMarker(String),
RunComputePass {
pass: BasePass<ComputeCommand<R>, Infallible>,
timestamp_writes: Option<PassTimestampWrites<<R as ReferenceType>::QuerySet>>,
},
RunRenderPass {
pass: BasePass<RenderCommand<R>, Infallible>,
color_attachments: SmallVec<[Option<RenderPassColorAttachment<<R as ReferenceType>::TextureView>>; 1]>,
depth_stencil_attachment: Option<ResolvedRenderPassDepthStencilAttachment<<R as ReferenceType>::TextureView>>,
timestamp_writes: Option<PassTimestampWrites<<R as ReferenceType>::QuerySet>>,
occlusion_query_set: Option<<R as ReferenceType>::QuerySet>,
multiview_mask: Option<NonZero<u32>>,
},
BuildAccelerationStructures {
blas: Vec<OwnedBlasBuildEntry<R>>,
tlas: Vec<OwnedTlasPackage<R>>,
},
TransitionResources {
buffer_transitions: Vec<BufferTransition<<R as ReferenceType>::Buffer>>,
texture_transitions: Vec<TextureTransition<<R as ReferenceType>::Texture>>,
},
}Available on crate feature
unstable-wgpu-28 only.Variants§
CopyBufferToBuffer
CopyBufferToTexture
Fields
§
src: TexelCopyBufferInfo<<R as ReferenceType>::Buffer>§
dst: TexelCopyTextureInfo<<R as ReferenceType>::Texture>CopyTextureToBuffer
Fields
§
src: TexelCopyTextureInfo<<R as ReferenceType>::Texture>§
dst: TexelCopyBufferInfo<<R as ReferenceType>::Buffer>CopyTextureToTexture
Fields
§
src: TexelCopyTextureInfo<<R as ReferenceType>::Texture>§
dst: TexelCopyTextureInfo<<R as ReferenceType>::Texture>ClearBuffer
ClearTexture
WriteTimestamp
ResolveQuerySet
PushDebugGroup(String)
PopDebugGroup
InsertDebugMarker(String)
RunComputePass
Fields
§
pass: BasePass<ComputeCommand<R>, Infallible>§
timestamp_writes: Option<PassTimestampWrites<<R as ReferenceType>::QuerySet>>RunRenderPass
Fields
§
pass: BasePass<RenderCommand<R>, Infallible>§
color_attachments: SmallVec<[Option<RenderPassColorAttachment<<R as ReferenceType>::TextureView>>; 1]>§
depth_stencil_attachment: Option<ResolvedRenderPassDepthStencilAttachment<<R as ReferenceType>::TextureView>>§
timestamp_writes: Option<PassTimestampWrites<<R as ReferenceType>::QuerySet>>§
occlusion_query_set: Option<<R as ReferenceType>::QuerySet>BuildAccelerationStructures
TransitionResources
Fields
§
buffer_transitions: Vec<BufferTransition<<R as ReferenceType>::Buffer>>§
texture_transitions: Vec<TextureTransition<<R as ReferenceType>::Texture>>Trait Implementations§
§impl<R> Clone for Command<R>where
R: Clone + ReferenceType,
<R as ReferenceType>::Buffer: Clone,
<R as ReferenceType>::Texture: Clone,
<R as ReferenceType>::QuerySet: Clone,
<R as ReferenceType>::TextureView: Clone,
impl<R> Clone for Command<R>where
R: Clone + ReferenceType,
<R as ReferenceType>::Buffer: Clone,
<R as ReferenceType>::Texture: Clone,
<R as ReferenceType>::QuerySet: Clone,
<R as ReferenceType>::TextureView: Clone,
§impl<R> Debug for Command<R>where
R: Debug + ReferenceType,
<R as ReferenceType>::Buffer: Debug,
<R as ReferenceType>::Texture: Debug,
<R as ReferenceType>::QuerySet: Debug,
<R as ReferenceType>::TextureView: Debug,
impl<R> Debug for Command<R>where
R: Debug + ReferenceType,
<R as ReferenceType>::Buffer: Debug,
<R as ReferenceType>::Texture: Debug,
<R as ReferenceType>::QuerySet: Debug,
<R as ReferenceType>::TextureView: Debug,
Auto Trait Implementations§
impl<R> Freeze for Command<R>where
<R as ReferenceType>::Buffer: Freeze,
<R as ReferenceType>::Texture: Freeze,
<R as ReferenceType>::QuerySet: Freeze,
<R as ReferenceType>::TextureView: Freeze,
impl<R> RefUnwindSafe for Command<R>where
<R as ReferenceType>::Buffer: RefUnwindSafe,
<R as ReferenceType>::Texture: RefUnwindSafe,
<R as ReferenceType>::QuerySet: RefUnwindSafe,
<R as ReferenceType>::TextureView: RefUnwindSafe,
<R as ReferenceType>::Blas: RefUnwindSafe,
<R as ReferenceType>::Tlas: RefUnwindSafe,
<R as ReferenceType>::ComputePipeline: RefUnwindSafe,
<R as ReferenceType>::RenderPipeline: RefUnwindSafe,
<R as ReferenceType>::RenderBundle: RefUnwindSafe,
<R as ReferenceType>::BindGroup: RefUnwindSafe,
impl<R> Send for Command<R>where
<R as ReferenceType>::Buffer: Send,
<R as ReferenceType>::Texture: Send,
<R as ReferenceType>::QuerySet: Send,
<R as ReferenceType>::TextureView: Send,
<R as ReferenceType>::Blas: Send,
<R as ReferenceType>::Tlas: Send,
<R as ReferenceType>::ComputePipeline: Send,
<R as ReferenceType>::RenderPipeline: Send,
<R as ReferenceType>::RenderBundle: Send,
<R as ReferenceType>::BindGroup: Send,
impl<R> Sync for Command<R>where
<R as ReferenceType>::Buffer: Sync,
<R as ReferenceType>::Texture: Sync,
<R as ReferenceType>::QuerySet: Sync,
<R as ReferenceType>::TextureView: Sync,
<R as ReferenceType>::Blas: Sync,
<R as ReferenceType>::Tlas: Sync,
<R as ReferenceType>::ComputePipeline: Sync,
<R as ReferenceType>::RenderPipeline: Sync,
<R as ReferenceType>::RenderBundle: Sync,
<R as ReferenceType>::BindGroup: Sync,
impl<R> Unpin for Command<R>where
<R as ReferenceType>::Buffer: Unpin,
<R as ReferenceType>::Texture: Unpin,
<R as ReferenceType>::QuerySet: Unpin,
<R as ReferenceType>::TextureView: Unpin,
<R as ReferenceType>::Blas: Unpin,
<R as ReferenceType>::Tlas: Unpin,
<R as ReferenceType>::ComputePipeline: Unpin,
<R as ReferenceType>::RenderPipeline: Unpin,
<R as ReferenceType>::RenderBundle: Unpin,
<R as ReferenceType>::BindGroup: Unpin,
impl<R> UnwindSafe for Command<R>where
<R as ReferenceType>::Buffer: UnwindSafe,
<R as ReferenceType>::Texture: UnwindSafe,
<R as ReferenceType>::QuerySet: UnwindSafe,
<R as ReferenceType>::TextureView: UnwindSafe + RefUnwindSafe,
<R as ReferenceType>::Blas: UnwindSafe,
<R as ReferenceType>::Tlas: UnwindSafe,
<R as ReferenceType>::ComputePipeline: UnwindSafe,
<R as ReferenceType>::RenderPipeline: UnwindSafe,
<R as ReferenceType>::RenderBundle: UnwindSafe,
<R as ReferenceType>::BindGroup: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.