summaryrefslogtreecommitdiffstats
path: root/examples/integration
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-04-07 05:48:21 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-04-07 05:48:21 +0200
commitd807ef367e0257ba54f8cf38708a7a61e28a4acb (patch)
tree1ee065aa7f47cc9a3e3e642c9b58576dd54d3327 /examples/integration
parent703beae05ec2988b9a6b15e84291ec818b37bf5b (diff)
downloadiced-d807ef367e0257ba54f8cf38708a7a61e28a4acb.tar.gz
iced-d807ef367e0257ba54f8cf38708a7a61e28a4acb.tar.bz2
iced-d807ef367e0257ba54f8cf38708a7a61e28a4acb.zip
Update `wgpu` to `0.5` in `iced_wgpu` :tada:
Diffstat (limited to 'examples/integration')
-rw-r--r--examples/integration/src/main.rs41
-rw-r--r--examples/integration/src/scene.rs8
2 files changed, 32 insertions, 17 deletions
diff --git a/examples/integration/src/main.rs b/examples/integration/src/main.rs
index 1c544449..7203d4b6 100644
--- a/examples/integration/src/main.rs
+++ b/examples/integration/src/main.rs
@@ -7,7 +7,9 @@ use scene::Scene;
use iced_wgpu::{
wgpu, window::SwapChain, Primitive, Renderer, Settings, Target,
};
-use iced_winit::{winit, Cache, Clipboard, MouseCursor, Size, UserInterface};
+use iced_winit::{
+ futures, winit, Cache, Clipboard, MouseCursor, Size, UserInterface,
+};
use winit::{
event::{Event, ModifiersState, WindowEvent},
@@ -25,21 +27,29 @@ pub fn main() {
let mut modifiers = ModifiersState::default();
// Initialize WGPU
- let adapter = wgpu::Adapter::request(&wgpu::RequestAdapterOptions {
- power_preference: wgpu::PowerPreference::Default,
- backends: wgpu::BackendBit::PRIMARY,
- })
- .expect("Request adapter");
- let (mut device, mut queue) =
- adapter.request_device(&wgpu::DeviceDescriptor {
- extensions: wgpu::Extensions {
- anisotropic_filtering: false,
+ let surface = wgpu::Surface::create(&window);
+ let (mut device, queue) = futures::executor::block_on(async {
+ let adapter = wgpu::Adapter::request(
+ &wgpu::RequestAdapterOptions {
+ power_preference: wgpu::PowerPreference::Default,
+ compatible_surface: Some(&surface),
},
- limits: wgpu::Limits::default(),
- });
+ wgpu::BackendBit::PRIMARY,
+ )
+ .await
+ .expect("Request adapter");
+
+ adapter
+ .request_device(&wgpu::DeviceDescriptor {
+ extensions: wgpu::Extensions {
+ anisotropic_filtering: false,
+ },
+ limits: wgpu::Limits::default(),
+ })
+ .await
+ });
- let surface = wgpu::Surface::create(&window);
let format = wgpu::TextureFormat::Bgra8UnormSrgb;
let mut swap_chain = {
@@ -168,10 +178,11 @@ pub fn main() {
);
}
- let (frame, viewport) = swap_chain.next_frame();
+ let (frame, viewport) =
+ swap_chain.next_frame().expect("Next frame");
let mut encoder = device.create_command_encoder(
- &wgpu::CommandEncoderDescriptor { todo: 0 },
+ &wgpu::CommandEncoderDescriptor { label: None },
);
// We draw the scene first
diff --git a/examples/integration/src/scene.rs b/examples/integration/src/scene.rs
index efb1921b..22c6812a 100644
--- a/examples/integration/src/scene.rs
+++ b/examples/integration/src/scene.rs
@@ -69,10 +69,12 @@ fn build_pipeline(
let bind_group_layout =
device.create_bind_group_layout(&wgpu::BindGroupLayoutDescriptor {
+ label: None,
bindings: &[],
});
let bind_group = device.create_bind_group(&wgpu::BindGroupDescriptor {
+ label: None,
layout: &bind_group_layout,
bindings: &[],
});
@@ -108,8 +110,10 @@ fn build_pipeline(
write_mask: wgpu::ColorWrite::ALL,
}],
depth_stencil_state: None,
- index_format: wgpu::IndexFormat::Uint16,
- vertex_buffers: &[],
+ vertex_state: wgpu::VertexStateDescriptor {
+ index_format: wgpu::IndexFormat::Uint16,
+ vertex_buffers: &[],
+ },
sample_count: 1,
sample_mask: !0,
alpha_to_coverage_enabled: false,