diff --git a/CHANGELOG.md b/CHANGELOG.md index d0ceb66e24..b3405fcad3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -104,6 +104,7 @@ Bottom level categories: #### General - Publish examples to wgpu.rs on updates to trunk branch instead of gecko. By @paul-hansen in [#3750](https://github.com/gfx-rs/wgpu/pull/3750) +- Ignore the exception values generated by the winit resize event. By @jinleili in [#3916](https://github.com/gfx-rs/wgpu/pull/3916) ## v0.16.2 (2023-07-09) diff --git a/examples/common/src/framework.rs b/examples/common/src/framework.rs index af8a3b963b..482d970563 100644 --- a/examples/common/src/framework.rs +++ b/examples/common/src/framework.rs @@ -307,11 +307,22 @@ fn start( }, .. } => { - log::info!("Resizing to {:?}", size); - config.width = size.width.max(1); - config.height = size.height.max(1); - example.resize(&config, &device, &queue); - surface.configure(&device, &config); + // Once winit is fixed, the detection conditions here can be removed. + // https://github.com/rust-windowing/winit/issues/2876 + let max_dimension = adapter.limits().max_texture_dimension_2d; + if size.width > max_dimension || size.height > max_dimension { + log::warn!( + "The resizing size {:?} exceeds the limit of {}.", + size, + max_dimension + ); + } else { + log::info!("Resizing to {:?}", size); + config.width = size.width.max(1); + config.height = size.height.max(1); + example.resize(&config, &device, &queue); + surface.configure(&device, &config); + } } event::Event::WindowEvent { event, .. } => match event { WindowEvent::KeyboardInput {