summaryrefslogtreecommitdiffstats
path: root/wgpu
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-10-07 19:50:04 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-10-07 19:50:04 +0200
commit0995950526bb605ddef5621c6e0590bb3232c1cb (patch)
treeff2aef99f416601ff38c7e29f0ef0096106bf547 /wgpu
parent67f8da4b34da9bae4858e335c37ddc18e1a6e2b7 (diff)
downloadiced-0995950526bb605ddef5621c6e0590bb3232c1cb.tar.gz
iced-0995950526bb605ddef5621c6e0590bb3232c1cb.tar.bz2
iced-0995950526bb605ddef5621c6e0590bb3232c1cb.zip
Use latest `wgpu`
Diffstat (limited to 'wgpu')
-rw-r--r--wgpu/Cargo.toml7
-rw-r--r--wgpu/src/renderer.rs22
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) {