mirror of
https://github.com/emilk/egui.git
synced 2026-09-02 06:40:06 -04:00
egui-wgpu cleanup
This commit is contained in:
@@ -2607,7 +2607,7 @@ mod wgpu_integration {
|
|||||||
viewport_maps
|
viewport_maps
|
||||||
.borrow_mut()
|
.borrow_mut()
|
||||||
.retain(|_, id| active_viewports_ids.contains(id));
|
.retain(|_, id| active_viewports_ids.contains(id));
|
||||||
painter.borrow_mut().clean_surfaces(&active_viewports_ids);
|
painter.borrow_mut().gc_viewports(&active_viewports_ids);
|
||||||
|
|
||||||
let Some(
|
let Some(
|
||||||
Viewport {
|
Viewport {
|
||||||
|
|||||||
@@ -79,12 +79,14 @@ pub struct Painter {
|
|||||||
msaa_samples: u32,
|
msaa_samples: u32,
|
||||||
support_transparent_backbuffer: bool,
|
support_transparent_backbuffer: bool,
|
||||||
depth_format: Option<wgpu::TextureFormat>,
|
depth_format: Option<wgpu::TextureFormat>,
|
||||||
depth_texture_view: ViewportIdMap<wgpu::TextureView>,
|
|
||||||
msaa_texture_view: ViewportIdMap<wgpu::TextureView>,
|
|
||||||
screen_capture_state: Option<CaptureState>,
|
screen_capture_state: Option<CaptureState>,
|
||||||
|
|
||||||
instance: wgpu::Instance,
|
instance: wgpu::Instance,
|
||||||
render_state: Option<RenderState>,
|
render_state: Option<RenderState>,
|
||||||
|
|
||||||
|
// Per viewport/window:
|
||||||
|
depth_texture_view: ViewportIdMap<wgpu::TextureView>,
|
||||||
|
msaa_texture_view: ViewportIdMap<wgpu::TextureView>,
|
||||||
surfaces: ViewportIdMap<SurfaceState>,
|
surfaces: ViewportIdMap<SurfaceState>,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,11 +122,12 @@ impl Painter {
|
|||||||
msaa_samples,
|
msaa_samples,
|
||||||
support_transparent_backbuffer,
|
support_transparent_backbuffer,
|
||||||
depth_format,
|
depth_format,
|
||||||
depth_texture_view: Default::default(),
|
|
||||||
screen_capture_state: None,
|
screen_capture_state: None,
|
||||||
|
|
||||||
instance,
|
instance,
|
||||||
render_state: None,
|
render_state: None,
|
||||||
|
|
||||||
|
depth_texture_view: Default::default(),
|
||||||
surfaces: Default::default(),
|
surfaces: Default::default(),
|
||||||
msaa_texture_view: Default::default(),
|
msaa_texture_view: Default::default(),
|
||||||
}
|
}
|
||||||
@@ -625,13 +628,12 @@ impl Painter {
|
|||||||
screenshot
|
screenshot
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn clean_surfaces(&mut self, available_viewports: &ViewportIdSet) {
|
pub fn gc_viewports(&mut self, active_viewports: &ViewportIdSet) {
|
||||||
self.surfaces
|
self.surfaces.retain(|id, _| active_viewports.contains(id));
|
||||||
.retain(|id, _| available_viewports.contains(id));
|
|
||||||
self.depth_texture_view
|
self.depth_texture_view
|
||||||
.retain(|id, _| available_viewports.contains(id));
|
.retain(|id, _| active_viewports.contains(id));
|
||||||
self.msaa_texture_view
|
self.msaa_texture_view
|
||||||
.retain(|id, _| available_viewports.contains(id));
|
.retain(|id, _| active_viewports.contains(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(clippy::unused_self)]
|
#[allow(clippy::unused_self)]
|
||||||
|
|||||||
Reference in New Issue
Block a user