From 18753b77fc7a64292748fb303fa75fde1dd65f4d Mon Sep 17 00:00:00 2001 From: Poly Date: Thu, 19 Aug 2021 03:06:35 +0200 Subject: wgpu: Update to 0.10 --- wgpu/src/window/compositor.rs | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) (limited to 'wgpu/src/window/compositor.rs') diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index b60efd25..0e4a014a 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -45,7 +45,7 @@ impl Compositor { let format = compatible_surface .as_ref() - .and_then(|surf| adapter.get_swap_chain_preferred_format(surf))?; + .and_then(|surf| surf.get_preferred_format(&adapter))?; let (device, queue) = adapter .request_device( @@ -88,7 +88,7 @@ impl iced_graphics::window::Compositor for Compositor { type Settings = Settings; type Renderer = Renderer; type Surface = wgpu::Surface; - type SwapChain = wgpu::SwapChain; + type SwapChain = (); fn new( settings: Self::Settings, @@ -121,10 +121,10 @@ impl iced_graphics::window::Compositor for Compositor { width: u32, height: u32, ) -> Self::SwapChain { - self.device.create_swap_chain( - surface, - &wgpu::SwapChainDescriptor { - usage: wgpu::TextureUsage::RENDER_ATTACHMENT, + surface.configure( + &self.device, + &wgpu::SurfaceConfiguration { + usage: wgpu::TextureUsages::RENDER_ATTACHMENT, format: self.format, present_mode: self.settings.present_mode, width, @@ -136,13 +136,14 @@ impl iced_graphics::window::Compositor for Compositor { fn draw>( &mut self, renderer: &mut Self::Renderer, - swap_chain: &mut Self::SwapChain, + _swap_chain: &mut Self::SwapChain, + surface: &mut Self::Surface, viewport: &Viewport, background_color: Color, output: &::Output, overlay: &[T], ) -> Result { - match swap_chain.get_current_frame() { + match surface.get_current_frame() { Ok(frame) => { let mut encoder = self.device.create_command_encoder( &wgpu::CommandEncoderDescriptor { @@ -150,13 +151,18 @@ impl iced_graphics::window::Compositor for Compositor { }, ); + let view = &frame + .output + .texture + .create_view(&wgpu::TextureViewDescriptor::default()); + let _ = encoder.begin_render_pass(&wgpu::RenderPassDescriptor { label: Some( "iced_wgpu::window::Compositor render pass", ), color_attachments: &[wgpu::RenderPassColorAttachment { - view: &frame.output.view, + view, resolve_target: None, ops: wgpu::Operations { load: wgpu::LoadOp::Clear({ @@ -180,7 +186,7 @@ impl iced_graphics::window::Compositor for Compositor { &mut self.device, &mut self.staging_belt, &mut encoder, - &frame.output.view, + view, viewport, output, overlay, @@ -201,16 +207,16 @@ impl iced_graphics::window::Compositor for Compositor { Ok(mouse_interaction) } Err(error) => match error { - wgpu::SwapChainError::Timeout => { + wgpu::SurfaceError::Timeout => { Err(iced_graphics::window::SwapChainError::Timeout) } - wgpu::SwapChainError::Outdated => { + wgpu::SurfaceError::Outdated => { Err(iced_graphics::window::SwapChainError::Outdated) } - wgpu::SwapChainError::Lost => { + wgpu::SurfaceError::Lost => { Err(iced_graphics::window::SwapChainError::Lost) } - wgpu::SwapChainError::OutOfMemory => { + wgpu::SurfaceError::OutOfMemory => { Err(iced_graphics::window::SwapChainError::OutOfMemory) } }, -- cgit From fe0de182c57e3a434026b1937b9a02597263afc3 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Fri, 20 Aug 2021 20:32:04 +0700 Subject: Remove `SwapChain` associated type from `Compositor` --- wgpu/src/window/compositor.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'wgpu/src/window/compositor.rs') diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 0e4a014a..2aa703e7 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -88,7 +88,6 @@ impl iced_graphics::window::Compositor for Compositor { type Settings = Settings; type Renderer = Renderer; type Surface = wgpu::Surface; - type SwapChain = (); fn new( settings: Self::Settings, @@ -115,12 +114,12 @@ impl iced_graphics::window::Compositor for Compositor { } } - fn create_swap_chain( + fn configure_surface( &mut self, - surface: &Self::Surface, + surface: &mut Self::Surface, width: u32, height: u32, - ) -> Self::SwapChain { + ) { surface.configure( &self.device, &wgpu::SurfaceConfiguration { @@ -130,13 +129,12 @@ impl iced_graphics::window::Compositor for Compositor { width, height, }, - ) + ); } fn draw>( &mut self, renderer: &mut Self::Renderer, - _swap_chain: &mut Self::SwapChain, surface: &mut Self::Surface, viewport: &Viewport, background_color: Color, -- cgit From 0c7ca2b635e353a87d1e9732ce739ef2c6e1f9c4 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Wed, 25 Aug 2021 15:39:03 +0700 Subject: Rename `surf` variable to `surface` --- wgpu/src/window/compositor.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'wgpu/src/window/compositor.rs') diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 2aa703e7..bba594ce 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -45,7 +45,7 @@ impl Compositor { let format = compatible_surface .as_ref() - .and_then(|surf| surf.get_preferred_format(&adapter))?; + .and_then(|surface| surface.get_preferred_format(&adapter))?; let (device, queue) = adapter .request_device( -- cgit From acc47a595300ff9bb9cae1e26c2d41135cde8ae8 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Wed, 25 Aug 2021 15:42:35 +0700 Subject: Rename `SwapChainError` to `SurfaceError` in `iced_graphics` --- wgpu/src/window/compositor.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'wgpu/src/window/compositor.rs') diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index bba594ce..eca54b6f 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -140,7 +140,7 @@ impl iced_graphics::window::Compositor for Compositor { background_color: Color, output: &::Output, overlay: &[T], - ) -> Result { + ) -> Result { match surface.get_current_frame() { Ok(frame) => { let mut encoder = self.device.create_command_encoder( @@ -206,16 +206,16 @@ impl iced_graphics::window::Compositor for Compositor { } Err(error) => match error { wgpu::SurfaceError::Timeout => { - Err(iced_graphics::window::SwapChainError::Timeout) + Err(iced_graphics::window::SurfaceError::Timeout) } wgpu::SurfaceError::Outdated => { - Err(iced_graphics::window::SwapChainError::Outdated) + Err(iced_graphics::window::SurfaceError::Outdated) } wgpu::SurfaceError::Lost => { - Err(iced_graphics::window::SwapChainError::Lost) + Err(iced_graphics::window::SurfaceError::Lost) } wgpu::SurfaceError::OutOfMemory => { - Err(iced_graphics::window::SwapChainError::OutOfMemory) + Err(iced_graphics::window::SurfaceError::OutOfMemory) } }, } -- cgit