From b632d6fbc00ca62a97421d06fcee384698d56969 Mon Sep 17 00:00:00 2001 From: kernelkind Date: Fri, 3 Oct 2025 16:03:51 -0400 Subject: [PATCH] fix: crash on startup ``` wgpu error: Validation Error Caused by: In Device::create_texture, label = 'egui_texid_Managed(65)' Dimension X value 10986 exceeds the limit of 8192 ``` Signed-off-by: kernelkind --- crates/notedeck/src/media/blur.rs | 15 ++++++++++++++- crates/notedeck/src/media/mod.rs | 3 +++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/crates/notedeck/src/media/blur.rs b/crates/notedeck/src/media/blur.rs index ae6c920..4ac4aca 100644 --- a/crates/notedeck/src/media/blur.rs +++ b/crates/notedeck/src/media/blur.rs @@ -23,6 +23,19 @@ impl PixelDimensions { y: (self.y as f32) / ppp, } } + + pub fn clamp_wgpu(mut self) -> PixelDimensions { + let val = super::MAX_SIZE_WGPU as u32; + if self.x > val { + self.x = val; + } + + if self.y > val { + self.y = val + } + + self + } } #[derive(Clone, Debug)] @@ -50,7 +63,7 @@ impl ImageMetadata { ui: &egui::Ui, available_points: PointDimensions, ) -> PixelDimensions { - let max_pixels = available_points.to_pixels(ui); + let max_pixels = available_points.to_pixels(ui).clamp_wgpu(); let Some(defined_dimensions) = &self.dimensions else { return max_pixels; diff --git a/crates/notedeck/src/media/mod.rs b/crates/notedeck/src/media/mod.rs index e4f6f9a..e9f3d3d 100644 --- a/crates/notedeck/src/media/mod.rs +++ b/crates/notedeck/src/media/mod.rs @@ -30,3 +30,6 @@ impl AnimationMode { !matches!(self, Self::NoAnimation) } } + +// max size wgpu can handle without panicing +pub const MAX_SIZE_WGPU: usize = 8192;