mirror of
https://github.com/gfx-rs/wgpu.git
synced 2025-12-08 21:26:17 +00:00
ArcComputePassDescriptor
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
parent
5c900f15f7
commit
9db6430fdb
@ -268,7 +268,7 @@ pub fn op_webgpu_command_encoder_begin_compute_pass(
|
||||
let command_encoder = &command_encoder_resource.1;
|
||||
let descriptor = wgpu_core::command::ComputePassDescriptor {
|
||||
label: Some(label),
|
||||
timestamp_writes: timestamp_writes.as_ref(),
|
||||
timestamp_writes,
|
||||
};
|
||||
|
||||
let (compute_pass, error) =
|
||||
|
||||
@ -60,7 +60,7 @@ impl ComputePass {
|
||||
} = desc;
|
||||
|
||||
Self {
|
||||
base: Some(BasePass::new(label)),
|
||||
base: Some(BasePass::new(&label)),
|
||||
parent,
|
||||
timestamp_writes,
|
||||
|
||||
@ -95,17 +95,13 @@ impl fmt::Debug for ComputePass {
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub struct ComputePassDescriptor<'a> {
|
||||
pub struct ComputePassDescriptor<'a, PTW = PassTimestampWrites> {
|
||||
pub label: Label<'a>,
|
||||
/// Defines where and when timestamp values will be written for this pass.
|
||||
pub timestamp_writes: Option<&'a PassTimestampWrites>,
|
||||
pub timestamp_writes: Option<PTW>,
|
||||
}
|
||||
|
||||
struct ArcComputePassDescriptor<'a> {
|
||||
pub label: &'a Label<'a>,
|
||||
/// Defines where and when timestamp values will be written for this pass.
|
||||
pub timestamp_writes: Option<ArcPassTimestampWrites>,
|
||||
}
|
||||
type ArcComputePassDescriptor<'a> = ComputePassDescriptor<'a, ArcPassTimestampWrites>;
|
||||
|
||||
#[derive(Clone, Debug, Error)]
|
||||
#[non_exhaustive]
|
||||
@ -292,7 +288,7 @@ impl Global {
|
||||
let hub = &self.hub;
|
||||
|
||||
let mut arc_desc = ArcComputePassDescriptor {
|
||||
label: &desc.label,
|
||||
label: desc.label.as_deref().map(std::borrow::Cow::Borrowed),
|
||||
timestamp_writes: None, // Handle only once we resolved the encoder.
|
||||
};
|
||||
|
||||
@ -307,6 +303,7 @@ impl Global {
|
||||
|
||||
arc_desc.timestamp_writes = match desc
|
||||
.timestamp_writes
|
||||
.as_ref()
|
||||
.map(|tw| {
|
||||
Self::validate_pass_timestamp_writes(&cmd_buf.device, &hub.query_sets.read(), tw)
|
||||
})
|
||||
@ -366,7 +363,7 @@ impl Global {
|
||||
encoder_id,
|
||||
&ComputePassDescriptor {
|
||||
label: label.as_deref().map(std::borrow::Cow::Borrowed),
|
||||
timestamp_writes,
|
||||
timestamp_writes: timestamp_writes.cloned(),
|
||||
},
|
||||
);
|
||||
if let Some(err) = encoder_error {
|
||||
|
||||
@ -2210,7 +2210,7 @@ impl dispatch::CommandEncoderInterface for CoreCommandEncoder {
|
||||
self.id,
|
||||
&wgc::command::ComputePassDescriptor {
|
||||
label: desc.label.map(Borrowed),
|
||||
timestamp_writes: timestamp_writes.as_ref(),
|
||||
timestamp_writes,
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user