wgpu_core/command/
compute_command.rs1#[cfg(feature = "serde")]
2use crate::command::serde_object_reference_struct;
3use crate::command::{ArcReferences, ReferenceType};
4
5#[cfg(feature = "serde")]
6use macro_rules_attribute::apply;
7
8#[derive(Clone, Debug)]
10#[cfg_attr(feature = "serde", apply(serde_object_reference_struct))]
11pub enum ComputeCommand<R: ReferenceType> {
12 SetBindGroup {
13 index: u32,
14 num_dynamic_offsets: usize,
15 bind_group: Option<R::BindGroup>,
16 },
17
18 SetPipeline(R::ComputePipeline),
19
20 SetPushConstant {
22 offset: u32,
25
26 size_bytes: u32,
28
29 values_offset: u32,
35 },
36
37 Dispatch([u32; 3]),
38
39 DispatchIndirect {
40 buffer: R::Buffer,
41 offset: wgt::BufferAddress,
42 },
43
44 PushDebugGroup {
45 color: u32,
46 len: usize,
47 },
48
49 PopDebugGroup,
50
51 InsertDebugMarker {
52 color: u32,
53 len: usize,
54 },
55
56 WriteTimestamp {
57 query_set: R::QuerySet,
58 query_index: u32,
59 },
60
61 BeginPipelineStatisticsQuery {
62 query_set: R::QuerySet,
63 query_index: u32,
64 },
65
66 EndPipelineStatisticsQuery,
67}
68
69pub type ArcComputeCommand = ComputeCommand<ArcReferences>;