notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

commit b632d6fbc00ca62a97421d06fcee384698d56969
parent 4c867f9fc245065793ee96b88498de5aa32ff315
Author: kernelkind <kernelkind@gmail.com>
Date:   Fri,  3 Oct 2025 16:03:51 -0400

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 <kernelkind@gmail.com>

Diffstat:
Mcrates/notedeck/src/media/blur.rs | 15++++++++++++++-
Mcrates/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 @@ -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 @@ -30,3 +30,6 @@ impl AnimationMode { !matches!(self, Self::NoAnimation) } } + +// max size wgpu can handle without panicing +pub const MAX_SIZE_WGPU: usize = 8192;