summaryrefslogtreecommitdiffstats
path: root/examples/integration/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/integration/src/main.rs')
-rw-r--r--examples/integration/src/main.rs27
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![],
},
);