summaryrefslogtreecommitdiffstats
path: root/wgpu
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-05-21 04:27:31 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-05-21 04:27:31 +0200
commitae5e2c6c734894d71b2034a498a858b7997c5d3d (patch)
tree19d416e08287542fc17496ab58d2d16d6704a6e6 /wgpu
parentd77492c0c37dec1207049b340a318e263cb96b82 (diff)
downloadiced-ae5e2c6c734894d71b2034a498a858b7997c5d3d.tar.gz
iced-ae5e2c6c734894d71b2034a498a858b7997c5d3d.tar.bz2
iced-ae5e2c6c734894d71b2034a498a858b7997c5d3d.zip
Introduce `Program` and `State`
Diffstat (limited to 'wgpu')
-rw-r--r--wgpu/src/window/compositor.rs22
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>(