diff options
Diffstat (limited to '')
| -rw-r--r-- | examples/integration/src/main.rs | 27 | 
1 files changed, 15 insertions, 12 deletions
| diff --git a/examples/integration/src/main.rs b/examples/integration/src/main.rs index 9707eda7..949a726a 100644 --- a/examples/integration/src/main.rs +++ b/examples/integration/src/main.rs @@ -26,18 +26,16 @@ use web_sys::HtmlCanvasElement;  #[cfg(target_arch = "wasm32")]  use winit::platform::web::WindowBuilderExtWebSys; -pub fn main() { +pub fn main() -> Result<(), Box<dyn std::error::Error>> {      #[cfg(target_arch = "wasm32")]      let canvas_element = { -        console_log::init_with_level(log::Level::Debug) -            .expect("could not initialize logger"); +        console_log::init_with_level(log::Level::Debug)?;          std::panic::set_hook(Box::new(console_error_panic_hook::hook));          web_sys::window()              .and_then(|win| win.document())              .and_then(|doc| doc.get_element_by_id("iced_canvas")) -            .and_then(|element| element.dyn_into::<HtmlCanvasElement>().ok()) -            .expect("Canvas with id `iced_canvas` is missing") +            .and_then(|element| element.dyn_into::<HtmlCanvasElement>().ok())?      };      #[cfg(not(target_arch = "wasm32"))]      env_logger::init(); @@ -48,8 +46,7 @@ pub fn main() {      #[cfg(target_arch = "wasm32")]      let window = winit::window::WindowBuilder::new()          .with_canvas(Some(canvas_element)) -        .build(&event_loop) -        .expect("Failed to build winit window"); +        .build(&event_loop)?;      #[cfg(not(target_arch = "wasm32"))]      let window = winit::window::Window::new(&event_loop).unwrap(); @@ -73,8 +70,11 @@ pub fn main() {      let backend =          wgpu::util::backend_bits_from_env().unwrap_or(default_backend); -    let instance = wgpu::Instance::new(backend); -    let surface = unsafe { instance.create_surface(&window) }; +    let instance = wgpu::Instance::new(wgpu::InstanceDescriptor { +        backends: backend, +        ..Default::default() +    }); +    let surface = unsafe { instance.create_surface(&window) }?;      let (format, (device, queue)) =          futures::futures::executor::block_on(async { @@ -84,7 +84,7 @@ pub fn main() {                  Some(&surface),              )              .await -            .expect("No suitable GPU adapters found on the system!"); +            .expect("Create adapter");              let adapter_features = adapter.features(); @@ -97,7 +97,8 @@ pub fn main() {              (                  surface -                    .get_supported_formats(&adapter) +                    .get_capabilities(&adapter) +                    .formats                      .first()                      .copied()                      .expect("Get preferred format"), @@ -125,6 +126,7 @@ pub fn main() {              height: physical_size.height,              present_mode: wgpu::PresentMode::AutoVsync,              alpha_mode: wgpu::CompositeAlphaMode::Auto, +            view_formats: vec![],          },      ); @@ -220,7 +222,8 @@ pub fn main() {                              width: size.width,                              height: size.height,                              present_mode: wgpu::PresentMode::AutoVsync, -                            alpha_mode: wgpu::CompositeAlphaMode::Auto +                            alpha_mode: wgpu::CompositeAlphaMode::Auto, +                            view_formats: vec![],                          },                      ); | 
