pub enum Action<'a, R: ReferenceType> {
Show 44 variants
Init {
desc: DeviceDescriptor<'a>,
backend: Backend,
},
ConfigureSurface(R::Surface, SurfaceConfiguration<Vec<TextureFormat>>),
CreateBuffer(R::Buffer, BufferDescriptor<'a>),
FreeBuffer(R::Buffer),
DestroyBuffer(R::Buffer),
CreateTexture(R::Texture, TextureDescriptor<'a>),
FreeTexture(R::Texture),
DestroyTexture(R::Texture),
CreateTextureView {
id: R::TextureView,
parent: R::Texture,
desc: TextureViewDescriptor<'a>,
},
DestroyTextureView(R::TextureView),
CreateExternalTexture {
id: R::ExternalTexture,
desc: ExternalTextureDescriptor<'a>,
planes: Box<[R::TextureView]>,
},
FreeExternalTexture(R::ExternalTexture),
DestroyExternalTexture(R::ExternalTexture),
CreateSampler(PointerId<Sampler>, SamplerDescriptor<'a>),
DestroySampler(PointerId<Sampler>),
GetSurfaceTexture {
id: R::Texture,
parent: R::Surface,
},
Present(R::Surface),
DiscardSurfaceTexture(R::Surface),
CreateBindGroupLayout(PointerId<BindGroupLayout>, BindGroupLayoutDescriptor<'a>),
DestroyBindGroupLayout(PointerId<BindGroupLayout>),
CreatePipelineLayout(PointerId<PipelineLayout>, ResolvedPipelineLayoutDescriptor<'a, PointerId<BindGroupLayout>>),
DestroyPipelineLayout(PointerId<PipelineLayout>),
CreateBindGroup(PointerId<BindGroup>, TraceBindGroupDescriptor<'a>),
DestroyBindGroup(PointerId<BindGroup>),
CreateShaderModule {
id: PointerId<ShaderModule>,
desc: ShaderModuleDescriptor<'a>,
data: String,
},
CreateShaderModulePassthrough {
id: PointerId<ShaderModule>,
data: Vec<String>,
entry_point: String,
label: Label<'a>,
num_workgroups: (u32, u32, u32),
runtime_checks: ShaderRuntimeChecks,
},
DestroyShaderModule(PointerId<ShaderModule>),
CreateComputePipeline {
id: PointerId<ComputePipeline>,
desc: TraceComputePipelineDescriptor<'a>,
},
DestroyComputePipeline(PointerId<ComputePipeline>),
CreateGeneralRenderPipeline {
id: PointerId<RenderPipeline>,
desc: TraceGeneralRenderPipelineDescriptor<'a>,
},
DestroyRenderPipeline(PointerId<RenderPipeline>),
CreatePipelineCache {
id: PointerId<PipelineCache>,
desc: PipelineCacheDescriptor<'a>,
},
DestroyPipelineCache(PointerId<PipelineCache>),
CreateRenderBundle {
id: R::RenderBundle,
desc: RenderBundleEncoderDescriptor<'a>,
base: BasePass<RenderCommand<R>, Infallible>,
},
DestroyRenderBundle(PointerId<RenderBundle>),
CreateQuerySet {
id: PointerId<QuerySet>,
desc: QuerySetDescriptor<'a>,
},
DestroyQuerySet(PointerId<QuerySet>),
WriteBuffer {
id: R::Buffer,
data: String,
range: Range<BufferAddress>,
queued: bool,
},
WriteTexture {
to: TexelCopyTextureInfo<R::Texture>,
data: String,
layout: TexelCopyBufferLayout,
size: Extent3d,
},
Submit(SubmissionIndex, Vec<Command<R>>),
CreateBlas {
id: R::Blas,
desc: BlasDescriptor<'a>,
sizes: BlasGeometrySizeDescriptors,
},
DestroyBlas(R::Blas),
CreateTlas {
id: R::Tlas,
desc: TlasDescriptor<'a>,
},
DestroyTlas(R::Tlas),
}Variants§
Init
ConfigureSurface(R::Surface, SurfaceConfiguration<Vec<TextureFormat>>)
CreateBuffer(R::Buffer, BufferDescriptor<'a>)
FreeBuffer(R::Buffer)
DestroyBuffer(R::Buffer)
CreateTexture(R::Texture, TextureDescriptor<'a>)
FreeTexture(R::Texture)
DestroyTexture(R::Texture)
CreateTextureView
DestroyTextureView(R::TextureView)
CreateExternalTexture
FreeExternalTexture(R::ExternalTexture)
DestroyExternalTexture(R::ExternalTexture)
CreateSampler(PointerId<Sampler>, SamplerDescriptor<'a>)
DestroySampler(PointerId<Sampler>)
GetSurfaceTexture
Present(R::Surface)
DiscardSurfaceTexture(R::Surface)
CreateBindGroupLayout(PointerId<BindGroupLayout>, BindGroupLayoutDescriptor<'a>)
DestroyBindGroupLayout(PointerId<BindGroupLayout>)
CreatePipelineLayout(PointerId<PipelineLayout>, ResolvedPipelineLayoutDescriptor<'a, PointerId<BindGroupLayout>>)
DestroyPipelineLayout(PointerId<PipelineLayout>)
CreateBindGroup(PointerId<BindGroup>, TraceBindGroupDescriptor<'a>)
DestroyBindGroup(PointerId<BindGroup>)
CreateShaderModule
CreateShaderModulePassthrough
DestroyShaderModule(PointerId<ShaderModule>)
CreateComputePipeline
DestroyComputePipeline(PointerId<ComputePipeline>)
CreateGeneralRenderPipeline
DestroyRenderPipeline(PointerId<RenderPipeline>)
CreatePipelineCache
DestroyPipelineCache(PointerId<PipelineCache>)
CreateRenderBundle
Fields
§
id: R::RenderBundle§
desc: RenderBundleEncoderDescriptor<'a>§
base: BasePass<RenderCommand<R>, Infallible>DestroyRenderBundle(PointerId<RenderBundle>)
CreateQuerySet
DestroyQuerySet(PointerId<QuerySet>)
WriteBuffer
WriteTexture
Submit(SubmissionIndex, Vec<Command<R>>)
CreateBlas
DestroyBlas(R::Blas)
CreateTlas
DestroyTlas(R::Tlas)
Trait Implementations§
Source§impl<'de, 'a, R: ReferenceType> Deserialize<'de> for Action<'a, R>where
R::Buffer: Serialize + for<'d> Deserialize<'d>,
R::Surface: Serialize + for<'d> Deserialize<'d>,
R::Texture: Serialize + for<'d> Deserialize<'d>,
R::TextureView: Serialize + for<'d> Deserialize<'d>,
R::ExternalTexture: Serialize + for<'d> Deserialize<'d>,
R::QuerySet: Serialize + for<'d> Deserialize<'d>,
R::BindGroup: Serialize + for<'d> Deserialize<'d>,
R::RenderPipeline: Serialize + for<'d> Deserialize<'d>,
R::RenderBundle: Serialize + for<'d> Deserialize<'d>,
R::ComputePipeline: Serialize + for<'d> Deserialize<'d>,
R::Blas: Serialize + for<'d> Deserialize<'d>,
R::Tlas: Serialize + for<'d> Deserialize<'d>,
BufferTransition<R::Buffer>: Serialize + for<'d> Deserialize<'d>,
TextureTransition<R::Texture>: Serialize + for<'d> Deserialize<'d>,
impl<'de, 'a, R: ReferenceType> Deserialize<'de> for Action<'a, R>where
R::Buffer: Serialize + for<'d> Deserialize<'d>,
R::Surface: Serialize + for<'d> Deserialize<'d>,
R::Texture: Serialize + for<'d> Deserialize<'d>,
R::TextureView: Serialize + for<'d> Deserialize<'d>,
R::ExternalTexture: Serialize + for<'d> Deserialize<'d>,
R::QuerySet: Serialize + for<'d> Deserialize<'d>,
R::BindGroup: Serialize + for<'d> Deserialize<'d>,
R::RenderPipeline: Serialize + for<'d> Deserialize<'d>,
R::RenderBundle: Serialize + for<'d> Deserialize<'d>,
R::ComputePipeline: Serialize + for<'d> Deserialize<'d>,
R::Blas: Serialize + for<'d> Deserialize<'d>,
R::Tlas: Serialize + for<'d> Deserialize<'d>,
BufferTransition<R::Buffer>: Serialize + for<'d> Deserialize<'d>,
TextureTransition<R::Texture>: Serialize + for<'d> Deserialize<'d>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'a, R: ReferenceType> Serialize for Action<'a, R>where
R::Buffer: Serialize + for<'d> Deserialize<'d>,
R::Surface: Serialize + for<'d> Deserialize<'d>,
R::Texture: Serialize + for<'d> Deserialize<'d>,
R::TextureView: Serialize + for<'d> Deserialize<'d>,
R::ExternalTexture: Serialize + for<'d> Deserialize<'d>,
R::QuerySet: Serialize + for<'d> Deserialize<'d>,
R::BindGroup: Serialize + for<'d> Deserialize<'d>,
R::RenderPipeline: Serialize + for<'d> Deserialize<'d>,
R::RenderBundle: Serialize + for<'d> Deserialize<'d>,
R::ComputePipeline: Serialize + for<'d> Deserialize<'d>,
R::Blas: Serialize + for<'d> Deserialize<'d>,
R::Tlas: Serialize + for<'d> Deserialize<'d>,
BufferTransition<R::Buffer>: Serialize + for<'d> Deserialize<'d>,
TextureTransition<R::Texture>: Serialize + for<'d> Deserialize<'d>,
impl<'a, R: ReferenceType> Serialize for Action<'a, R>where
R::Buffer: Serialize + for<'d> Deserialize<'d>,
R::Surface: Serialize + for<'d> Deserialize<'d>,
R::Texture: Serialize + for<'d> Deserialize<'d>,
R::TextureView: Serialize + for<'d> Deserialize<'d>,
R::ExternalTexture: Serialize + for<'d> Deserialize<'d>,
R::QuerySet: Serialize + for<'d> Deserialize<'d>,
R::BindGroup: Serialize + for<'d> Deserialize<'d>,
R::RenderPipeline: Serialize + for<'d> Deserialize<'d>,
R::RenderBundle: Serialize + for<'d> Deserialize<'d>,
R::ComputePipeline: Serialize + for<'d> Deserialize<'d>,
R::Blas: Serialize + for<'d> Deserialize<'d>,
R::Tlas: Serialize + for<'d> Deserialize<'d>,
BufferTransition<R::Buffer>: Serialize + for<'d> Deserialize<'d>,
TextureTransition<R::Texture>: Serialize + for<'d> Deserialize<'d>,
Auto Trait Implementations§
impl<'a, R> Freeze for Action<'a, R>where
<R as ReferenceType>::Surface: Freeze,
<R as ReferenceType>::Buffer: Freeze,
<R as ReferenceType>::Texture: Freeze,
<R as ReferenceType>::TextureView: Freeze,
<R as ReferenceType>::ExternalTexture: Freeze,
<R as ReferenceType>::RenderBundle: Freeze,
<R as ReferenceType>::Blas: Freeze,
<R as ReferenceType>::Tlas: Freeze,
impl<'a, R> RefUnwindSafe for Action<'a, R>where
<R as ReferenceType>::Surface: RefUnwindSafe,
<R as ReferenceType>::Buffer: RefUnwindSafe,
<R as ReferenceType>::Texture: RefUnwindSafe,
<R as ReferenceType>::TextureView: RefUnwindSafe,
<R as ReferenceType>::ExternalTexture: RefUnwindSafe,
<R as ReferenceType>::RenderBundle: RefUnwindSafe,
<R as ReferenceType>::Blas: RefUnwindSafe,
<R as ReferenceType>::Tlas: RefUnwindSafe,
<R as ReferenceType>::QuerySet: RefUnwindSafe,
<R as ReferenceType>::RenderPipeline: RefUnwindSafe,
<R as ReferenceType>::BindGroup: RefUnwindSafe,
<R as ReferenceType>::ComputePipeline: RefUnwindSafe,
impl<'a, R> Send for Action<'a, R>where
<R as ReferenceType>::Surface: Send,
<R as ReferenceType>::Buffer: Send,
<R as ReferenceType>::Texture: Send,
<R as ReferenceType>::TextureView: Send,
<R as ReferenceType>::ExternalTexture: Send,
<R as ReferenceType>::RenderBundle: Send,
<R as ReferenceType>::Blas: Send,
<R as ReferenceType>::Tlas: Send,
<R as ReferenceType>::QuerySet: Send,
<R as ReferenceType>::RenderPipeline: Send,
<R as ReferenceType>::BindGroup: Send,
<R as ReferenceType>::ComputePipeline: Send,
impl<'a, R> Sync for Action<'a, R>where
<R as ReferenceType>::Surface: Sync,
<R as ReferenceType>::Buffer: Sync,
<R as ReferenceType>::Texture: Sync,
<R as ReferenceType>::TextureView: Sync,
<R as ReferenceType>::ExternalTexture: Sync,
<R as ReferenceType>::RenderBundle: Sync,
<R as ReferenceType>::Blas: Sync,
<R as ReferenceType>::Tlas: Sync,
<R as ReferenceType>::QuerySet: Sync,
<R as ReferenceType>::RenderPipeline: Sync,
<R as ReferenceType>::BindGroup: Sync,
<R as ReferenceType>::ComputePipeline: Sync,
impl<'a, R> Unpin for Action<'a, R>where
<R as ReferenceType>::Surface: Unpin,
<R as ReferenceType>::Buffer: Unpin,
<R as ReferenceType>::Texture: Unpin,
<R as ReferenceType>::TextureView: Unpin,
<R as ReferenceType>::ExternalTexture: Unpin,
<R as ReferenceType>::RenderBundle: Unpin,
<R as ReferenceType>::Blas: Unpin,
<R as ReferenceType>::Tlas: Unpin,
<R as ReferenceType>::QuerySet: Unpin,
<R as ReferenceType>::RenderPipeline: Unpin,
<R as ReferenceType>::BindGroup: Unpin,
<R as ReferenceType>::ComputePipeline: Unpin,
impl<'a, R> UnwindSafe for Action<'a, R>where
<R as ReferenceType>::Surface: UnwindSafe,
<R as ReferenceType>::Buffer: UnwindSafe,
<R as ReferenceType>::Texture: UnwindSafe,
<R as ReferenceType>::TextureView: UnwindSafe + RefUnwindSafe,
<R as ReferenceType>::ExternalTexture: UnwindSafe,
<R as ReferenceType>::RenderBundle: UnwindSafe,
<R as ReferenceType>::Blas: UnwindSafe,
<R as ReferenceType>::Tlas: UnwindSafe,
<R as ReferenceType>::QuerySet: UnwindSafe,
<R as ReferenceType>::RenderPipeline: UnwindSafe,
<R as ReferenceType>::BindGroup: UnwindSafe,
<R as ReferenceType>::ComputePipeline: 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