diff options
author | 2019-10-07 19:50:04 +0200 | |
---|---|---|
committer | 2019-10-07 19:50:04 +0200 | |
commit | 0995950526bb605ddef5621c6e0590bb3232c1cb (patch) | |
tree | ff2aef99f416601ff38c7e29f0ef0096106bf547 /wgpu | |
parent | 67f8da4b34da9bae4858e335c37ddc18e1a6e2b7 (diff) | |
download | iced-0995950526bb605ddef5621c6e0590bb3232c1cb.tar.gz iced-0995950526bb605ddef5621c6e0590bb3232c1cb.tar.bz2 iced-0995950526bb605ddef5621c6e0590bb3232c1cb.zip |
Use latest `wgpu`
Diffstat (limited to 'wgpu')
-rw-r--r-- | wgpu/Cargo.toml | 7 | ||||
-rw-r--r-- | wgpu/src/renderer.rs | 22 |
2 files changed, 13 insertions, 16 deletions
diff --git a/wgpu/Cargo.toml b/wgpu/Cargo.toml index 20fe9ae9..dbc1ddb9 100644 --- a/wgpu/Cargo.toml +++ b/wgpu/Cargo.toml @@ -7,12 +7,9 @@ description = "A wgpu renderer for Iced" license = "MIT" repository = "https://github.com/hecrj/iced" -[features] -vulkan = ["wgpu/vulkan"] - [dependencies] iced_native = { version = "0.1.0-alpha", path = "../native" } -wgpu = "0.3" -wgpu_glyph = "0.4" +wgpu = { version = "0.3", git = "https://github.com/gfx-rs/wgpu-rs", rev = "cb25914b95b58fee0dc139b400867e7a731d98f4" } +wgpu_glyph = { version = "0.4", git = "https://github.com/hecrj/wgpu_glyph", branch = "improvement/update-wgpu" } raw-window-handle = "0.1" log = "0.4" diff --git a/wgpu/src/renderer.rs b/wgpu/src/renderer.rs index 926f12ae..9883943b 100644 --- a/wgpu/src/renderer.rs +++ b/wgpu/src/renderer.rs @@ -3,8 +3,8 @@ use iced_native::{renderer::Debugger, Color, Layout, Point, Widget}; use raw_window_handle::HasRawWindowHandle; use wgpu::{ - Adapter, CommandEncoderDescriptor, Device, DeviceDescriptor, Extensions, - Instance, Limits, PowerPreference, RequestAdapterOptions, Surface, + Adapter, BackendBit, CommandEncoderDescriptor, Device, DeviceDescriptor, + Extensions, Limits, PowerPreference, Queue, RequestAdapterOptions, Surface, SwapChain, SwapChainDescriptor, TextureFormat, TextureUsage, }; use wgpu_glyph::{GlyphBrush, GlyphBrushBuilder, Section}; @@ -21,10 +21,10 @@ mod slider; mod text; pub struct Renderer { - instance: Instance, surface: Surface, adapter: Adapter, device: Device, + queue: Queue, quad_pipeline: quad::Pipeline, quads: Vec<Quad>, @@ -40,20 +40,20 @@ pub struct Target { impl Renderer { pub fn new<W: HasRawWindowHandle>(window: &W) -> Self { - let instance = Instance::new(); - - let adapter = instance.request_adapter(&RequestAdapterOptions { + let adapter = Adapter::request(&RequestAdapterOptions { power_preference: PowerPreference::LowPower, - }); + backends: BackendBit::all(), + }) + .expect("Request adapter"); - let mut device = adapter.request_device(&DeviceDescriptor { + let (mut device, queue) = adapter.request_device(&DeviceDescriptor { extensions: Extensions { anisotropic_filtering: false, }, limits: Limits { max_bind_groups: 1 }, }); - let surface = instance.create_surface(window.raw_window_handle()); + let surface = Surface::create(window); // TODO: Think about font loading strategy // Loading system fonts with fallback may be a good idea @@ -66,10 +66,10 @@ impl Renderer { let quad_pipeline = quad::Pipeline::new(&mut device); Self { - instance, surface, adapter, device, + queue, quad_pipeline, quads: Vec::new(), @@ -143,7 +143,7 @@ impl Renderer { ) .expect("Draw text"); - self.device.get_queue().submit(&[encoder.finish()]); + self.queue.submit(&[encoder.finish()]); } fn draw_primitive(&mut self, primitive: &Primitive) { |