diff options
| author | 2023-02-24 20:52:10 +0100 | |
|---|---|---|
| committer | 2023-02-24 20:52:10 +0100 | |
| commit | 368cadd25a8b57ee5c41e45d1abe8d1dfb194c69 (patch) | |
| tree | 191cb7cc7807a5fe513b3d485b2fda21d3bf0bde /wgpu/src/window | |
| parent | 573d27eb52bbfacf1b06983b4282f00eb5265bdc (diff) | |
| parent | 8059c40142d601588e01c152ce1bb72a1295dde8 (diff) | |
| download | iced-368cadd25a8b57ee5c41e45d1abe8d1dfb194c69.tar.gz iced-368cadd25a8b57ee5c41e45d1abe8d1dfb194c69.tar.bz2 iced-368cadd25a8b57ee5c41e45d1abe8d1dfb194c69.zip | |
Merge pull request #1697 from iced-rs/text-glyphon
Text shaping, font fallback, and `iced_wgpu` overhaul
Diffstat (limited to '')
| -rw-r--r-- | wgpu/src/window/compositor.rs | 43 | 
1 files changed, 3 insertions, 40 deletions
| diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 6d0c36f6..365cb603 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -16,14 +16,11 @@ pub struct Compositor<Theme> {      adapter: wgpu::Adapter,      device: wgpu::Device,      queue: wgpu::Queue, -    staging_belt: wgpu::util::StagingBelt,      format: wgpu::TextureFormat,      theme: PhantomData<Theme>,  }  impl<Theme> Compositor<Theme> { -    const CHUNK_SIZE: u64 = 10 * 1024; -      /// Requests a new [`Compositor`] with the given [`Settings`].      ///      /// Returns `None` if no compatible graphics adapter could be found. @@ -98,15 +95,12 @@ impl<Theme> Compositor<Theme> {              .next()              .await?; -        let staging_belt = wgpu::util::StagingBelt::new(Self::CHUNK_SIZE); -          Some(Compositor {              instance,              settings,              adapter,              device,              queue, -            staging_belt,              format,              theme: PhantomData,          }) @@ -114,7 +108,7 @@ impl<Theme> Compositor<Theme> {      /// Creates a new rendering [`Backend`] for this [`Compositor`].      pub fn create_backend(&self) -> Backend { -        Backend::new(&self.device, self.settings, self.format) +        Backend::new(&self.device, &self.queue, self.settings, self.format)      }  } @@ -196,39 +190,12 @@ impl<Theme> iced_graphics::window::Compositor for Compositor<Theme> {                      .texture                      .create_view(&wgpu::TextureViewDescriptor::default()); -                let _ = -                    encoder.begin_render_pass(&wgpu::RenderPassDescriptor { -                        label: Some( -                            "iced_wgpu::window::Compositor render pass", -                        ), -                        color_attachments: &[Some( -                            wgpu::RenderPassColorAttachment { -                                view, -                                resolve_target: None, -                                ops: wgpu::Operations { -                                    load: wgpu::LoadOp::Clear({ -                                        let [r, g, b, a] = -                                            background_color.into_linear(); - -                                        wgpu::Color { -                                            r: f64::from(r), -                                            g: f64::from(g), -                                            b: f64::from(b), -                                            a: f64::from(a), -                                        } -                                    }), -                                    store: true, -                                }, -                            }, -                        )], -                        depth_stencil_attachment: None, -                    }); -                  renderer.with_primitives(|backend, primitives| {                      backend.present(                          &self.device, -                        &mut self.staging_belt, +                        &self.queue,                          &mut encoder, +                        Some(background_color),                          view,                          primitives,                          viewport, @@ -237,13 +204,9 @@ impl<Theme> iced_graphics::window::Compositor for Compositor<Theme> {                  });                  // Submit work -                self.staging_belt.finish();                  let _submission = self.queue.submit(Some(encoder.finish()));                  frame.present(); -                // Recall staging buffers -                self.staging_belt.recall(); -                  Ok(())              }              Err(error) => match error { | 
