diff --git a/crates/viewer/re_renderer/src/error_handling/wgpu_error_scope.rs b/crates/viewer/re_renderer/src/error_handling/wgpu_error_scope.rs index e9fdaf29b63b..293ae6900706 100644 --- a/crates/viewer/re_renderer/src/error_handling/wgpu_error_scope.rs +++ b/crates/viewer/re_renderer/src/error_handling/wgpu_error_scope.rs @@ -14,7 +14,7 @@ impl WgpuErrorScope { pub fn start(device: &Arc) -> Self { device.push_error_scope(wgpu::ErrorFilter::Validation); device.push_error_scope(wgpu::ErrorFilter::OutOfMemory); - // TODO(gfx-rs/wgpu#4866): Internal is missing! + device.push_error_scope(wgpu::ErrorFilter::Internal); Self { device: device.clone(), open: true, @@ -23,9 +23,13 @@ impl WgpuErrorScope { pub fn end( mut self, - ) -> [impl std::future::Future> + Send + 'static; 2] { + ) -> [impl std::future::Future> + Send + 'static; 3] { self.open = false; - [self.device.pop_error_scope(), self.device.pop_error_scope()] + [ + self.device.pop_error_scope(), + self.device.pop_error_scope(), + self.device.pop_error_scope(), + ] } } @@ -34,6 +38,7 @@ impl Drop for WgpuErrorScope { if self.open { drop(self.device.pop_error_scope()); drop(self.device.pop_error_scope()); + drop(self.device.pop_error_scope()); } } }