summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorLibravatar Elham Aryanpur <elhamaryanpur5@gmail.com>2023-04-12 23:38:21 +0300
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-04-13 05:40:23 +0200
commitd5453c62e9bdbf0cea030b009c41b892b700496d (patch)
tree2a093144f1e4bad10550e3f0c081f6f990a23493 /examples
parentadb70d232ac00b3cba459374b3b1c5359970030f (diff)
downloadiced-d5453c62e9bdbf0cea030b009c41b892b700496d.tar.gz
iced-d5453c62e9bdbf0cea030b009c41b892b700496d.tar.bz2
iced-d5453c62e9bdbf0cea030b009c41b892b700496d.zip
Update `wgpu` to `0.15`
Diffstat (limited to 'examples')
-rw-r--r--examples/integration_wgpu/src/main.rs37
1 files changed, 23 insertions, 14 deletions
diff --git a/examples/integration_wgpu/src/main.rs b/examples/integration_wgpu/src/main.rs
index 2a56b6fa..6e868332 100644
--- a/examples/integration_wgpu/src/main.rs
+++ b/examples/integration_wgpu/src/main.rs
@@ -23,18 +23,17 @@ 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();
@@ -45,11 +44,10 @@ 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();
+ let window = winit::window::Window::new(&event_loop)?;
let physical_size = window.inner_size();
let mut viewport = Viewport::with_physical_size(
@@ -61,7 +59,6 @@ pub fn main() {
let mut clipboard = Clipboard::connect(&window);
// Initialize wgpu
-
#[cfg(target_arch = "wasm32")]
let default_backend = wgpu::Backends::GL;
#[cfg(not(target_arch = "wasm32"))]
@@ -70,8 +67,12 @@ 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::executor::block_on(async {
let adapter = wgpu::util::initialize_adapter_from_env_or_default(
@@ -93,9 +94,15 @@ pub fn main() {
(
surface
- .get_supported_formats(&adapter)
- .first()
+ .get_capabilities(&adapter)
+ .formats
+ .iter()
+ .filter(|format| format.describe().srgb)
.copied()
+ .next()
+ .or_else(|| {
+ surface.get_capabilities(&adapter).formats.first().copied()
+ })
.expect("Get preferred format"),
adapter
.request_device(
@@ -120,6 +127,7 @@ pub fn main() {
height: physical_size.height,
present_mode: wgpu::PresentMode::AutoVsync,
alpha_mode: wgpu::CompositeAlphaMode::Auto,
+ view_formats: vec![],
},
);
@@ -214,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![]
},
);