diff options
author | 2020-05-21 04:27:31 +0200 | |
---|---|---|
committer | 2020-05-21 04:27:31 +0200 | |
commit | ae5e2c6c734894d71b2034a498a858b7997c5d3d (patch) | |
tree | 19d416e08287542fc17496ab58d2d16d6704a6e6 /wgpu/src/window | |
parent | d77492c0c37dec1207049b340a318e263cb96b82 (diff) | |
download | iced-ae5e2c6c734894d71b2034a498a858b7997c5d3d.tar.gz iced-ae5e2c6c734894d71b2034a498a858b7997c5d3d.tar.bz2 iced-ae5e2c6c734894d71b2034a498a858b7997c5d3d.zip |
Introduce `Program` and `State`
Diffstat (limited to 'wgpu/src/window')
-rw-r--r-- | wgpu/src/window/compositor.rs | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 7eba8924..600bc81c 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -18,8 +18,8 @@ impl iced_graphics::window::Compositor for Compositor { type Surface = wgpu::Surface; type SwapChain = wgpu::SwapChain; - fn new(settings: Self::Settings) -> Self { - let (device, queue) = futures::executor::block_on(async { + fn new(settings: Self::Settings) -> (Self, Renderer) { + let (mut device, queue) = futures::executor::block_on(async { let adapter = wgpu::Adapter::request( &wgpu::RequestAdapterOptions { power_preference: if settings.antialiasing.is_none() { @@ -44,15 +44,17 @@ impl iced_graphics::window::Compositor for Compositor { .await }); - Self { - device, - queue, - format: settings.format, - } - } + let renderer = + Renderer::new(crate::Backend::new(&mut device, settings)); - fn create_renderer(&mut self, settings: Settings) -> Renderer { - Renderer::new(crate::Backend::new(&mut self.device, settings)) + ( + Self { + device, + queue, + format: settings.format, + }, + renderer, + ) } fn create_surface<W: HasRawWindowHandle>( |