From 1e62fdf069db5687be510e1cc375260bbff318a7 Mon Sep 17 00:00:00 2001 From: Richard Date: Thu, 27 Jan 2022 04:00:53 -0300 Subject: Introduce `Error::ContextCreationFailed` --- wgpu/src/window/compositor.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'wgpu/src/window') diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 64c53607..0b368cbf 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -105,7 +105,7 @@ impl iced_graphics::window::Compositor for Compositor { settings, compatible_window, )) - .ok_or(Error::AdapterNotFound)?; + .ok_or(Error::GraphicsAdapterNotFound)?; let backend = compositor.create_backend(); -- cgit From 764b424dfc2b2163f21483a6d1f05ea1da62c561 Mon Sep 17 00:00:00 2001 From: Richard Date: Thu, 27 Jan 2022 06:02:19 -0300 Subject: Add logging to window and context creation --- wgpu/src/window/compositor.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'wgpu/src/window') diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 0b368cbf..ca0ce51b 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -28,6 +28,17 @@ impl Compositor { ) -> Option { let instance = wgpu::Instance::new(settings.internal_backend); + log::info!("{:#?}", settings); + + #[cfg(not(target_arch = "wasm32"))] + { + let available_adapters: Vec<_> = instance + .enumerate_adapters(settings.internal_backend) + .map(|adapter| adapter.get_info()) + .collect(); + log::info!("Available adapters: {:#?}", available_adapters); + } + #[allow(unsafe_code)] let compatible_surface = compatible_window .map(|window| unsafe { instance.create_surface(window) }); @@ -44,10 +55,14 @@ impl Compositor { }) .await?; + log::info!("Selected: {:#?}", adapter.get_info()); + let format = compatible_surface .as_ref() .and_then(|surface| surface.get_preferred_format(&adapter))?; + log::info!("Selected format: {:?}", format); + #[cfg(target_arch = "wasm32")] let limits = wgpu::Limits::downlevel_webgl2_defaults() .using_resolution(adapter.limits()); -- cgit From 83fec2f5f6231f3871ecfccf594a555253f8286c Mon Sep 17 00:00:00 2001 From: Richard Date: Thu, 17 Mar 2022 00:34:42 -0300 Subject: Implement `GraphicsInformation` for `iced_wgpu` --- wgpu/src/window/compositor.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'wgpu/src/window') diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index ca0ce51b..e283c1e2 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -9,6 +9,7 @@ use raw_window_handle::HasRawWindowHandle; pub struct Compositor { settings: Settings, instance: wgpu::Instance, + adapter: wgpu::Adapter, device: wgpu::Device, queue: wgpu::Queue, staging_belt: wgpu::util::StagingBelt, @@ -93,6 +94,7 @@ impl Compositor { Some(Compositor { instance, settings, + adapter, device, queue, staging_belt, @@ -155,6 +157,15 @@ impl iced_graphics::window::Compositor for Compositor { ); } + fn get_information(&self) -> iced_graphics::window::GraphicsInformation { + let information = self.adapter.get_info(); + + iced_graphics::window::GraphicsInformation { + adapter: information.name, + backend: format!("{:?}", information.backend), + } + } + fn present>( &mut self, renderer: &mut Self::Renderer, -- cgit From 7a13928130803629b15999923da3a9747e110e7a Mon Sep 17 00:00:00 2001 From: Richard Date: Tue, 26 Apr 2022 19:02:31 -0300 Subject: Enumerate adapters based on log level --- wgpu/src/window/compositor.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'wgpu/src/window') diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index e283c1e2..d7decccd 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -32,7 +32,7 @@ impl Compositor { log::info!("{:#?}", settings); #[cfg(not(target_arch = "wasm32"))] - { + if log::max_level() >= log::LevelFilter::Info { let available_adapters: Vec<_> = instance .enumerate_adapters(settings.internal_backend) .map(|adapter| adapter.get_info()) -- cgit From 5be1ac18fe1757d31386f98774d823bd1137eea4 Mon Sep 17 00:00:00 2001 From: Richard Date: Tue, 26 Apr 2022 19:09:09 -0300 Subject: Rename `GraphicsInformation` to `Information` --- wgpu/src/window/compositor.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'wgpu/src/window') diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index d7decccd..01e52162 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -157,10 +157,10 @@ impl iced_graphics::window::Compositor for Compositor { ); } - fn get_information(&self) -> iced_graphics::window::GraphicsInformation { + fn get_information(&self) -> iced_graphics::window::Information { let information = self.adapter.get_info(); - iced_graphics::window::GraphicsInformation { + iced_graphics::window::Information { adapter: information.name, backend: format!("{:?}", information.backend), } -- cgit From 984d1f375ecec301dd42b049eecd1b88e3bca32a Mon Sep 17 00:00:00 2001 From: Richard Date: Tue, 26 Apr 2022 19:18:18 -0300 Subject: Move `compositor` module access from `window` to `crate` --- wgpu/src/window/compositor.rs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'wgpu/src/window') diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 01e52162..04393fe5 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -1,6 +1,7 @@ use crate::{Backend, Color, Error, Renderer, Settings, Viewport}; use futures::task::SpawnExt; +use iced_graphics::compositor; use iced_native::futures; use raw_window_handle::HasRawWindowHandle; @@ -157,10 +158,10 @@ impl iced_graphics::window::Compositor for Compositor { ); } - fn get_information(&self) -> iced_graphics::window::Information { + fn get_information(&self) -> compositor::Information { let information = self.adapter.get_info(); - iced_graphics::window::Information { + compositor::Information { adapter: information.name, backend: format!("{:?}", information.backend), } @@ -173,7 +174,7 @@ impl iced_graphics::window::Compositor for Compositor { viewport: &Viewport, background_color: Color, overlay: &[T], - ) -> Result<(), iced_graphics::window::SurfaceError> { + ) -> Result<(), compositor::SurfaceError> { match surface.get_current_texture() { Ok(frame) => { let mut encoder = self.device.create_command_encoder( @@ -241,16 +242,14 @@ impl iced_graphics::window::Compositor for Compositor { } Err(error) => match error { wgpu::SurfaceError::Timeout => { - Err(iced_graphics::window::SurfaceError::Timeout) + Err(compositor::SurfaceError::Timeout) } wgpu::SurfaceError::Outdated => { - Err(iced_graphics::window::SurfaceError::Outdated) - } - wgpu::SurfaceError::Lost => { - Err(iced_graphics::window::SurfaceError::Lost) + Err(compositor::SurfaceError::Outdated) } + wgpu::SurfaceError::Lost => Err(compositor::SurfaceError::Lost), wgpu::SurfaceError::OutOfMemory => { - Err(iced_graphics::window::SurfaceError::OutOfMemory) + Err(compositor::SurfaceError::OutOfMemory) } }, } -- cgit From 005e516b5e1e8bb22f2da8524ffe4529f3b60ba1 Mon Sep 17 00:00:00 2001 From: Richard Date: Tue, 26 Apr 2022 19:20:38 -0300 Subject: Rename `get_information` to `fetch_information` --- wgpu/src/window/compositor.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'wgpu/src/window') diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 04393fe5..54ea8247 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -158,7 +158,7 @@ impl iced_graphics::window::Compositor for Compositor { ); } - fn get_information(&self) -> compositor::Information { + fn fetch_information(&self) -> compositor::Information { let information = self.adapter.get_info(); compositor::Information { -- cgit