Fix WGPU implementation memory leak

Now unused surfaces will be cleared
This commit is contained in:
Konkitoman
2023-07-27 18:22:43 +03:00
parent 769c71a714
commit c56d09a2e5
2 changed files with 6 additions and 0 deletions
+1
View File
@@ -1909,6 +1909,7 @@ mod wgpu_integration {
windows.retain(|id, _| active_viewports_ids.contains(id));
windows_id.retain(|_, id| active_viewports_ids.contains(id));
painter.clean_surfaces(active_viewports_ids);
let mut control_flow = vec![EventResult::Wait];
for repaint_after in repaint_after {
+5
View File
@@ -615,6 +615,11 @@ impl Painter {
screenshot
}
pub fn clean_surfaces(&mut self, avalibile_viewports: Vec<u64>) {
self.surfaces
.retain(|id, _| avalibile_viewports.contains(id))
}
#[allow(clippy::unused_self)]
pub fn destroy(&mut self) {
// TODO(emilk): something here?