Skip to content

Commit c0c1607

Browse files
committed
Rename and relocate ID resolution helpers
1 parent 8858450 commit c0c1607

File tree

2 files changed

+37
-56
lines changed

2 files changed

+37
-56
lines changed

wgpu-core/src/command/mod.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ use crate::binding_model::BindingError;
3636
use crate::command::transition_resources::TransitionResourcesError;
3737
use crate::device::queue::TempResource;
3838
use crate::device::{Device, DeviceError, MissingFeatures};
39+
use crate::id::Id;
3940
use crate::lock::{rank, Mutex};
4041
use crate::snatch::SnatchGuard;
4142

@@ -1155,6 +1156,26 @@ impl WebGpuError for TimestampWritesError {
11551156
}
11561157

11571158
impl Global {
1159+
fn resolve_buffer_id(
1160+
&self,
1161+
buffer_id: Id<id::markers::Buffer>,
1162+
) -> Result<Arc<crate::resource::Buffer>, InvalidResourceError> {
1163+
let hub = &self.hub;
1164+
let buffer = hub.buffers.get(buffer_id).get()?;
1165+
1166+
Ok(buffer)
1167+
}
1168+
1169+
fn resolve_query_set(
1170+
&self,
1171+
query_set_id: Id<id::markers::QuerySet>,
1172+
) -> Result<Arc<QuerySet>, InvalidResourceError> {
1173+
let hub = &self.hub;
1174+
let query_set = hub.query_sets.get(query_set_id).get()?;
1175+
1176+
Ok(query_set)
1177+
}
1178+
11581179
pub fn command_encoder_finish(
11591180
&self,
11601181
encoder_id: id::CommandEncoderId,

wgpu-core/src/command/render.rs

Lines changed: 16 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -3082,26 +3082,6 @@ fn execute_bundle(
30823082
// that the `pass_try!` and `pass_base!` macros may return early from the
30833083
// function that invokes them, like the `?` operator.
30843084
impl Global {
3085-
fn resolve_render_pass_buffer_id(
3086-
&self,
3087-
buffer_id: id::Id<id::markers::Buffer>,
3088-
) -> Result<Arc<crate::resource::Buffer>, InvalidResourceError> {
3089-
let hub = &self.hub;
3090-
let buffer = hub.buffers.get(buffer_id).get()?;
3091-
3092-
Ok(buffer)
3093-
}
3094-
3095-
fn resolve_render_pass_query_set(
3096-
&self,
3097-
query_set_id: id::Id<id::markers::QuerySet>,
3098-
) -> Result<Arc<QuerySet>, InvalidResourceError> {
3099-
let hub = &self.hub;
3100-
let query_set = hub.query_sets.get(query_set_id).get()?;
3101-
3102-
Ok(query_set)
3103-
}
3104-
31053085
pub fn render_pass_set_bind_group(
31063086
&self,
31073087
pass: &mut RenderPass,
@@ -3183,7 +3163,7 @@ impl Global {
31833163
let base = pass_base!(pass, scope);
31843164

31853165
base.commands.push(ArcRenderCommand::SetIndexBuffer {
3186-
buffer: pass_try!(base, scope, self.resolve_render_pass_buffer_id(buffer_id)),
3166+
buffer: pass_try!(base, scope, self.resolve_buffer_id(buffer_id)),
31873167
index_format,
31883168
offset,
31893169
size,
@@ -3205,7 +3185,7 @@ impl Global {
32053185

32063186
base.commands.push(ArcRenderCommand::SetVertexBuffer {
32073187
slot,
3208-
buffer: pass_try!(base, scope, self.resolve_render_pass_buffer_id(buffer_id)),
3188+
buffer: pass_try!(base, scope, self.resolve_buffer_id(buffer_id)),
32093189
offset,
32103190
size,
32113191
});
@@ -3413,7 +3393,7 @@ impl Global {
34133393
let base = pass_base!(pass, scope);
34143394

34153395
base.commands.push(ArcRenderCommand::DrawIndirect {
3416-
buffer: pass_try!(base, scope, self.resolve_render_pass_buffer_id(buffer_id)),
3396+
buffer: pass_try!(base, scope, self.resolve_buffer_id(buffer_id)),
34173397
offset,
34183398
count: 1,
34193399
family: DrawCommandFamily::Draw,
@@ -3438,7 +3418,7 @@ impl Global {
34383418
let base = pass_base!(pass, scope);
34393419

34403420
base.commands.push(ArcRenderCommand::DrawIndirect {
3441-
buffer: pass_try!(base, scope, self.resolve_render_pass_buffer_id(buffer_id)),
3421+
buffer: pass_try!(base, scope, self.resolve_buffer_id(buffer_id)),
34423422
offset,
34433423
count: 1,
34443424
family: DrawCommandFamily::DrawIndexed,
@@ -3463,7 +3443,7 @@ impl Global {
34633443
let base = pass_base!(pass, scope);
34643444

34653445
base.commands.push(ArcRenderCommand::DrawIndirect {
3466-
buffer: pass_try!(base, scope, self.resolve_render_pass_buffer_id(buffer_id)),
3446+
buffer: pass_try!(base, scope, self.resolve_buffer_id(buffer_id)),
34673447
offset,
34683448
count: 1,
34693449
family: DrawCommandFamily::DrawMeshTasks,
@@ -3489,7 +3469,7 @@ impl Global {
34893469
let base = pass_base!(pass, scope);
34903470

34913471
base.commands.push(ArcRenderCommand::DrawIndirect {
3492-
buffer: pass_try!(base, scope, self.resolve_render_pass_buffer_id(buffer_id)),
3472+
buffer: pass_try!(base, scope, self.resolve_buffer_id(buffer_id)),
34933473
offset,
34943474
count,
34953475
family: DrawCommandFamily::Draw,
@@ -3515,7 +3495,7 @@ impl Global {
35153495
let base = pass_base!(pass, scope);
35163496

35173497
base.commands.push(ArcRenderCommand::DrawIndirect {
3518-
buffer: pass_try!(base, scope, self.resolve_render_pass_buffer_id(buffer_id)),
3498+
buffer: pass_try!(base, scope, self.resolve_buffer_id(buffer_id)),
35193499
offset,
35203500
count,
35213501
family: DrawCommandFamily::DrawIndexed,
@@ -3541,7 +3521,7 @@ impl Global {
35413521
let base = pass_base!(pass, scope);
35423522

35433523
base.commands.push(ArcRenderCommand::DrawIndirect {
3544-
buffer: pass_try!(base, scope, self.resolve_render_pass_buffer_id(buffer_id)),
3524+
buffer: pass_try!(base, scope, self.resolve_buffer_id(buffer_id)),
35453525
offset,
35463526
count,
35473527
family: DrawCommandFamily::DrawMeshTasks,
@@ -3570,13 +3550,9 @@ impl Global {
35703550

35713551
base.commands
35723552
.push(ArcRenderCommand::MultiDrawIndirectCount {
3573-
buffer: pass_try!(base, scope, self.resolve_render_pass_buffer_id(buffer_id)),
3553+
buffer: pass_try!(base, scope, self.resolve_buffer_id(buffer_id)),
35743554
offset,
3575-
count_buffer: pass_try!(
3576-
base,
3577-
scope,
3578-
self.resolve_render_pass_buffer_id(count_buffer_id)
3579-
),
3555+
count_buffer: pass_try!(base, scope, self.resolve_buffer_id(count_buffer_id)),
35803556
count_buffer_offset,
35813557
max_count,
35823558
family: DrawCommandFamily::Draw,
@@ -3602,13 +3578,9 @@ impl Global {
36023578

36033579
base.commands
36043580
.push(ArcRenderCommand::MultiDrawIndirectCount {
3605-
buffer: pass_try!(base, scope, self.resolve_render_pass_buffer_id(buffer_id)),
3581+
buffer: pass_try!(base, scope, self.resolve_buffer_id(buffer_id)),
36063582
offset,
3607-
count_buffer: pass_try!(
3608-
base,
3609-
scope,
3610-
self.resolve_render_pass_buffer_id(count_buffer_id)
3611-
),
3583+
count_buffer: pass_try!(base, scope, self.resolve_buffer_id(count_buffer_id)),
36123584
count_buffer_offset,
36133585
max_count,
36143586
family: DrawCommandFamily::DrawIndexed,
@@ -3634,13 +3606,9 @@ impl Global {
36343606

36353607
base.commands
36363608
.push(ArcRenderCommand::MultiDrawIndirectCount {
3637-
buffer: pass_try!(base, scope, self.resolve_render_pass_buffer_id(buffer_id)),
3609+
buffer: pass_try!(base, scope, self.resolve_buffer_id(buffer_id)),
36383610
offset,
3639-
count_buffer: pass_try!(
3640-
base,
3641-
scope,
3642-
self.resolve_render_pass_buffer_id(count_buffer_id)
3643-
),
3611+
count_buffer: pass_try!(base, scope, self.resolve_buffer_id(count_buffer_id)),
36443612
count_buffer_offset,
36453613
max_count,
36463614
family: DrawCommandFamily::DrawMeshTasks,
@@ -3705,11 +3673,7 @@ impl Global {
37053673
let base = pass_base!(pass, scope);
37063674

37073675
base.commands.push(ArcRenderCommand::WriteTimestamp {
3708-
query_set: pass_try!(
3709-
base,
3710-
scope,
3711-
self.resolve_render_pass_query_set(query_set_id)
3712-
),
3676+
query_set: pass_try!(base, scope, self.resolve_query_set(query_set_id)),
37133677
query_index,
37143678
});
37153679

@@ -3753,11 +3717,7 @@ impl Global {
37533717

37543718
base.commands
37553719
.push(ArcRenderCommand::BeginPipelineStatisticsQuery {
3756-
query_set: pass_try!(
3757-
base,
3758-
scope,
3759-
self.resolve_render_pass_query_set(query_set_id)
3760-
),
3720+
query_set: pass_try!(base, scope, self.resolve_query_set(query_set_id)),
37613721
query_index,
37623722
});
37633723

0 commit comments

Comments
 (0)