summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/integration_wgpu/src/main.rs6
-rw-r--r--native/src/widget/text_input.rs42
-rw-r--r--wgpu/Cargo.toml4
-rw-r--r--wgpu/src/shader/blit.wgsl4
-rw-r--r--wgpu/src/window/compositor.rs5
5 files changed, 31 insertions, 30 deletions
diff --git a/examples/integration_wgpu/src/main.rs b/examples/integration_wgpu/src/main.rs
index e1d691f0..d1000748 100644
--- a/examples/integration_wgpu/src/main.rs
+++ b/examples/integration_wgpu/src/main.rs
@@ -39,6 +39,7 @@ pub fn main() {
.request_adapter(&wgpu::RequestAdapterOptions {
power_preference: wgpu::PowerPreference::HighPerformance,
compatible_surface: Some(&surface),
+ force_fallback_adapter: false,
})
.await
.expect("Request adapter");
@@ -171,7 +172,7 @@ pub fn main() {
resized = false;
}
- match surface.get_current_frame() {
+ match surface.get_current_texture() {
Ok(frame) => {
let mut encoder = device.create_command_encoder(
&wgpu::CommandEncoderDescriptor { label: None },
@@ -179,7 +180,7 @@ pub fn main() {
let program = state.program();
- let view = frame.output.texture.create_view(&wgpu::TextureViewDescriptor::default());
+ let view = frame.texture.create_view(&wgpu::TextureViewDescriptor::default());
{
// We clear the frame
@@ -209,6 +210,7 @@ pub fn main() {
// Then we submit the work
staging_belt.finish();
queue.submit(Some(encoder.finish()));
+ frame.present();
// Update the mouse cursor
window.set_cursor_icon(
diff --git a/native/src/widget/text_input.rs b/native/src/widget/text_input.rs
index 5be1d3d6..2d5f6815 100644
--- a/native/src/widget/text_input.rs
+++ b/native/src/widget/text_input.rs
@@ -297,29 +297,27 @@ where
let text_layout = layout.children().next().unwrap();
let target = position.x - text_layout.bounds().x;
- if target > 0.0 {
- let value = if self.is_secure {
- self.value.secure()
- } else {
- self.value.clone()
- };
-
- let position = find_cursor_position(
- renderer,
- text_layout.bounds(),
- self.font,
- self.size,
- &value,
- &self.state,
- target,
- )
- .unwrap_or(0);
+ let value = if self.is_secure {
+ self.value.secure()
+ } else {
+ self.value.clone()
+ };
+
+ let position = find_cursor_position(
+ renderer,
+ text_layout.bounds(),
+ self.font,
+ self.size,
+ &value,
+ &self.state,
+ target,
+ )
+ .unwrap_or(0);
- self.state.cursor.select_range(
- self.state.cursor.start(&value),
- position,
- );
- }
+ self.state.cursor.select_range(
+ self.state.cursor.start(&value),
+ position,
+ );
return event::Status::Captured;
}
diff --git a/wgpu/Cargo.toml b/wgpu/Cargo.toml
index 71da889f..ed74b804 100644
--- a/wgpu/Cargo.toml
+++ b/wgpu/Cargo.toml
@@ -27,8 +27,8 @@ default_system_font = ["iced_graphics/font-source"]
spirv = ["wgpu/spirv"]
[dependencies]
-wgpu = "0.10"
-wgpu_glyph = "0.14"
+wgpu = "0.11"
+wgpu_glyph = "0.15"
glyph_brush = "0.7"
raw-window-handle = "0.3"
log = "0.4"
diff --git a/wgpu/src/shader/blit.wgsl b/wgpu/src/shader/blit.wgsl
index 694f192e..f8f6e2d4 100644
--- a/wgpu/src/shader/blit.wgsl
+++ b/wgpu/src/shader/blit.wgsl
@@ -1,4 +1,4 @@
-var positions: array<vec2<f32>, 6> = array<vec2<f32>, 6>(
+var<private> positions: array<vec2<f32>, 6> = array<vec2<f32>, 6>(
vec2<f32>(-1.0, 1.0),
vec2<f32>(-1.0, -1.0),
vec2<f32>(1.0, -1.0),
@@ -7,7 +7,7 @@ var positions: array<vec2<f32>, 6> = array<vec2<f32>, 6>(
vec2<f32>(1.0, -1.0)
);
-var uvs: array<vec2<f32>, 6> = array<vec2<f32>, 6>(
+var<private> uvs: array<vec2<f32>, 6> = array<vec2<f32>, 6>(
vec2<f32>(0.0, 0.0),
vec2<f32>(0.0, 1.0),
vec2<f32>(1.0, 1.0),
diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs
index f29a50f5..7bdd4c23 100644
--- a/wgpu/src/window/compositor.rs
+++ b/wgpu/src/window/compositor.rs
@@ -40,6 +40,7 @@ impl Compositor {
wgpu::PowerPreference::HighPerformance
},
compatible_surface: compatible_surface.as_ref(),
+ force_fallback_adapter: false,
})
.await?;
@@ -140,7 +141,7 @@ impl iced_graphics::window::Compositor for Compositor {
background_color: Color,
overlay: &[T],
) -> Result<(), iced_graphics::window::SurfaceError> {
- match surface.get_current_frame() {
+ match surface.get_current_texture() {
Ok(frame) => {
let mut encoder = self.device.create_command_encoder(
&wgpu::CommandEncoderDescriptor {
@@ -149,7 +150,6 @@ impl iced_graphics::window::Compositor for Compositor {
);
let view = &frame
- .output
.texture
.create_view(&wgpu::TextureViewDescriptor::default());
@@ -194,6 +194,7 @@ impl iced_graphics::window::Compositor for Compositor {
// Submit work
self.staging_belt.finish();
self.queue.submit(Some(encoder.finish()));
+ frame.present();
// Recall staging buffers
self.local_pool