Skip to content

Commit 8fd02d3

Browse files
committed
Remove pending_query_resets from CommandBufferMutable
It is emptied by `reset_queries` at the end of every render pass, so it's just keeping an allocation alive, not holding any state. It seems unlikely that there is sufficient performance gain from reusing the memory allocation to justify the complexity of additional state at higher layers.
1 parent 4853133 commit 8fd02d3

File tree

2 files changed

+8
-11
lines changed

2 files changed

+8
-11
lines changed

wgpu-core/src/command/mod.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -645,8 +645,6 @@ pub struct CommandBufferMutable {
645645
buffer_memory_init_actions: Vec<BufferInitTrackerAction>,
646646
texture_memory_actions: CommandBufferTextureMemoryActions,
647647

648-
pub(crate) pending_query_resets: QueryResetMap,
649-
650648
as_actions: Vec<AsAction>,
651649
temp_resources: Vec<TempResource>,
652650

@@ -722,7 +720,6 @@ impl CommandEncoder {
722720
trackers: Tracker::new(),
723721
buffer_memory_init_actions: Default::default(),
724722
texture_memory_actions: Default::default(),
725-
pending_query_resets: QueryResetMap::new(),
726723
as_actions: Default::default(),
727724
temp_resources: Default::default(),
728725
indirect_draw_validation_resources:

wgpu-core/src/command/render.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1848,12 +1848,11 @@ impl Global {
18481848
let mut indirect_draw_validation_batcher =
18491849
crate::indirect_validation::DrawBatcher::new();
18501850

1851-
let (scope, pending_discard_init_fixups) = {
1851+
let (scope, pending_discard_init_fixups, mut pending_query_resets) = {
18521852
let encoder = &mut cmd_buf_data.encoder;
18531853
let tracker = &mut cmd_buf_data.trackers;
18541854
let buffer_memory_init_actions = &mut cmd_buf_data.buffer_memory_init_actions;
18551855
let texture_memory_actions = &mut cmd_buf_data.texture_memory_actions;
1856-
let pending_query_resets = &mut cmd_buf_data.pending_query_resets;
18571856
let indirect_draw_validation_resources =
18581857
&mut cmd_buf_data.indirect_draw_validation_resources;
18591858

@@ -1865,6 +1864,7 @@ impl Global {
18651864
.open_pass(base.label.as_deref())
18661865
.map_pass_err(pass_scope)?;
18671866

1867+
let mut pending_query_resets = QueryResetMap::new();
18681868
let mut pending_discard_init_fixups = SurfacesInDiscardState::new();
18691869

18701870
let info = RenderPassInfo::start(
@@ -1879,7 +1879,7 @@ impl Global {
18791879
encoder,
18801880
tracker,
18811881
texture_memory_actions,
1882-
pending_query_resets,
1882+
&mut pending_query_resets,
18831883
&mut pending_discard_init_fixups,
18841884
snatch_guard,
18851885
)
@@ -2139,7 +2139,7 @@ impl Global {
21392139
pass::write_timestamp::<RenderPassErrorInner>(
21402140
&mut state.general,
21412141
cmd_enc.as_ref(),
2142-
Some(&mut cmd_buf_data.pending_query_resets),
2142+
Some(&mut pending_query_resets),
21432143
query_set,
21442144
query_index,
21452145
)
@@ -2160,7 +2160,7 @@ impl Global {
21602160
state.general.raw_encoder,
21612161
&mut state.general.tracker.query_sets,
21622162
query_index,
2163-
Some(&mut cmd_buf_data.pending_query_resets),
2163+
Some(&mut pending_query_resets),
21642164
&mut state.active_occlusion_query,
21652165
)
21662166
.map_pass_err(scope)?;
@@ -2191,7 +2191,7 @@ impl Global {
21912191
&mut state.general.tracker.query_sets,
21922192
cmd_enc.as_ref(),
21932193
query_index,
2194-
Some(&mut cmd_buf_data.pending_query_resets),
2194+
Some(&mut pending_query_resets),
21952195
&mut state.active_pipeline_statistics_query,
21962196
)
21972197
.map_pass_err(scope)?;
@@ -2243,7 +2243,7 @@ impl Global {
22432243
let pending_discard_init_fixups = state.general.pending_discard_init_fixups;
22442244

22452245
encoder.close().map_pass_err(pass_scope)?;
2246-
(trackers, pending_discard_init_fixups)
2246+
(trackers, pending_discard_init_fixups, pending_query_resets)
22472247
};
22482248

22492249
let encoder = &mut cmd_buf_data.encoder;
@@ -2265,7 +2265,7 @@ impl Global {
22652265
snatch_guard,
22662266
);
22672267

2268-
cmd_buf_data.pending_query_resets.reset_queries(transit);
2268+
pending_query_resets.reset_queries(transit);
22692269

22702270
CommandEncoder::insert_barriers_from_scope(transit, tracker, &scope, snatch_guard);
22712271

0 commit comments

Comments
 (0)