From d095dd39b77913335431b23f8df764fe74fec3c6 Mon Sep 17 00:00:00 2001 From: Dzmitry Malyshau Date: Sat, 2 Jan 2021 18:52:07 -0500 Subject: [PATCH] Free associated staging buffers --- wgpu-core/src/device/life.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/wgpu-core/src/device/life.rs b/wgpu-core/src/device/life.rs index 3c46b72362..2c82843dc7 100644 --- a/wgpu-core/src/device/life.rs +++ b/wgpu-core/src/device/life.rs @@ -499,6 +499,16 @@ impl LifetimeTracker { if let Some(res) = hub.buffers.unregister_locked(id.0, &mut *guard) { let submit_index = res.life_guard.submission_index.load(Ordering::Acquire); + if let resource::BufferMapState::Init { + stage_buffer, + stage_memory, + .. + } = res.map_state + { + self.free_resources + .buffers + .push((stage_buffer, stage_memory)); + } self.active .iter_mut() .find(|a| a.index == submit_index)