summaryrefslogtreecommitdiffstats
path: root/wgpu
diff options
context:
space:
mode:
Diffstat (limited to 'wgpu')
-rw-r--r--wgpu/Cargo.toml90
-rw-r--r--wgpu/src/shader/quad.wgsl20
-rw-r--r--wgpu/src/shader/triangle.wgsl20
-rw-r--r--wgpu/src/text.rs5
4 files changed, 64 insertions, 71 deletions
diff --git a/wgpu/Cargo.toml b/wgpu/Cargo.toml
index 49c62673..97594f1a 100644
--- a/wgpu/Cargo.toml
+++ b/wgpu/Cargo.toml
@@ -1,11 +1,18 @@
[package]
name = "iced_wgpu"
-version = "0.11.1"
-authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
-edition = "2021"
-description = "A wgpu renderer for Iced"
-license = "MIT AND OFL-1.1"
-repository = "https://github.com/iced-rs/iced"
+description = "A renderer for iced on top of wgpu"
+version.workspace = true
+edition.workspace = true
+authors.workspace = true
+license.workspace = true
+repository.workspace = true
+homepage.workspace = true
+categories.workspace = true
+keywords.workspace = true
+
+[package.metadata.docs.rs]
+rustdoc-args = ["--cfg", "docsrs"]
+all-features = true
[features]
geometry = ["iced_graphics/geometry", "lyon"]
@@ -15,47 +22,30 @@ web-colors = ["iced_graphics/web-colors"]
webgl = ["wgpu/webgl"]
[dependencies]
-wgpu = "0.17"
-glyphon = { git = "https://github.com/grovesNL/glyphon.git", rev = "20f0f8fa80e0d0df4c63634ce9176fa489546ca9" }
-raw-window-handle = "0.5"
-guillotiere = "0.6"
-futures = "0.3"
-bitflags = "1.2"
-once_cell = "1.0"
-rustc-hash = "1.1"
-log = "0.4"
-
-[dependencies.twox-hash]
-version = "1.6"
-default-features = false
-
-[target.'cfg(not(target_arch = "wasm32"))'.dependencies.twox-hash]
-version = "1.6.1"
-features = ["std"]
-
-[dependencies.bytemuck]
-version = "1.9"
-features = ["derive"]
-
-[dependencies.iced_graphics]
-version = "0.9"
-path = "../graphics"
-
-[dependencies.glam]
-version = "0.24"
-
-[dependencies.lyon]
-version = "1.0"
-optional = true
-
-[dependencies.resvg]
-version = "0.35"
-optional = true
-
-[dependencies.tracing]
-version = "0.1.6"
-optional = true
-
-[package.metadata.docs.rs]
-rustdoc-args = ["--cfg", "docsrs"]
-all-features = true
+iced_graphics.workspace = true
+
+bitflags.workspace = true
+bytemuck.workspace = true
+futures.workspace = true
+glam.workspace = true
+glyphon.workspace = true
+guillotiere.workspace = true
+log.workspace = true
+once_cell.workspace = true
+raw-window-handle.workspace = true
+rustc-hash.workspace = true
+twox-hash.workspace = true
+wgpu.workspace = true
+
+lyon.workspace = true
+lyon.optional = true
+
+resvg.workspace = true
+resvg.optional = true
+
+tracing.workspace = true
+tracing.optional = true
+
+[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
+twox-hash.workspace = true
+twox-hash.features = ["std"]
diff --git a/wgpu/src/shader/quad.wgsl b/wgpu/src/shader/quad.wgsl
index fb402158..023b5a6d 100644
--- a/wgpu/src/shader/quad.wgsl
+++ b/wgpu/src/shader/quad.wgsl
@@ -147,11 +147,11 @@ fn solid_fs_main(
struct GradientVertexInput {
@location(0) v_pos: vec2<f32>,
- @location(1) colors_1: vec4<u32>,
- @location(2) colors_2: vec4<u32>,
- @location(3) colors_3: vec4<u32>,
- @location(4) colors_4: vec4<u32>,
- @location(5) offsets: vec4<u32>,
+ @location(1) @interpolate(flat) colors_1: vec4<u32>,
+ @location(2) @interpolate(flat) colors_2: vec4<u32>,
+ @location(3) @interpolate(flat) colors_3: vec4<u32>,
+ @location(4) @interpolate(flat) colors_4: vec4<u32>,
+ @location(5) @interpolate(flat) offsets: vec4<u32>,
@location(6) direction: vec4<f32>,
@location(7) position_and_scale: vec4<f32>,
@location(8) border_color: vec4<f32>,
@@ -161,11 +161,11 @@ struct GradientVertexInput {
struct GradientVertexOutput {
@builtin(position) position: vec4<f32>,
- @location(1) colors_1: vec4<u32>,
- @location(2) colors_2: vec4<u32>,
- @location(3) colors_3: vec4<u32>,
- @location(4) colors_4: vec4<u32>,
- @location(5) offsets: vec4<u32>,
+ @location(1) @interpolate(flat) colors_1: vec4<u32>,
+ @location(2) @interpolate(flat) colors_2: vec4<u32>,
+ @location(3) @interpolate(flat) colors_3: vec4<u32>,
+ @location(4) @interpolate(flat) colors_4: vec4<u32>,
+ @location(5) @interpolate(flat) offsets: vec4<u32>,
@location(6) direction: vec4<f32>,
@location(7) position_and_scale: vec4<f32>,
@location(8) border_color: vec4<f32>,
diff --git a/wgpu/src/shader/triangle.wgsl b/wgpu/src/shader/triangle.wgsl
index 9f512d14..3a2b9845 100644
--- a/wgpu/src/shader/triangle.wgsl
+++ b/wgpu/src/shader/triangle.wgsl
@@ -38,22 +38,22 @@ fn solid_fs_main(input: SolidVertexOutput) -> @location(0) vec4<f32> {
struct GradientVertexInput {
@location(0) v_pos: vec2<f32>,
- @location(1) colors_1: vec4<u32>,
- @location(2) colors_2: vec4<u32>,
- @location(3) colors_3: vec4<u32>,
- @location(4) colors_4: vec4<u32>,
- @location(5) offsets: vec4<u32>,
+ @location(1) @interpolate(flat) colors_1: vec4<u32>,
+ @location(2) @interpolate(flat) colors_2: vec4<u32>,
+ @location(3) @interpolate(flat) colors_3: vec4<u32>,
+ @location(4) @interpolate(flat) colors_4: vec4<u32>,
+ @location(5) @interpolate(flat) offsets: vec4<u32>,
@location(6) direction: vec4<f32>,
}
struct GradientVertexOutput {
@builtin(position) position: vec4<f32>,
@location(0) raw_position: vec2<f32>,
- @location(1) colors_1: vec4<u32>,
- @location(2) colors_2: vec4<u32>,
- @location(3) colors_3: vec4<u32>,
- @location(4) colors_4: vec4<u32>,
- @location(5) offsets: vec4<u32>,
+ @location(1) @interpolate(flat) colors_1: vec4<u32>,
+ @location(2) @interpolate(flat) colors_2: vec4<u32>,
+ @location(3) @interpolate(flat) colors_3: vec4<u32>,
+ @location(4) @interpolate(flat) colors_4: vec4<u32>,
+ @location(5) @interpolate(flat) offsets: vec4<u32>,
@location(6) direction: vec4<f32>,
}
diff --git a/wgpu/src/text.rs b/wgpu/src/text.rs
index fb13545d..9c42be0e 100644
--- a/wgpu/src/text.rs
+++ b/wgpu/src/text.rs
@@ -414,7 +414,10 @@ impl Cache {
}
if let hash_map::Entry::Vacant(entry) = self.entries.entry(hash) {
- let metrics = glyphon::Metrics::new(key.size, key.line_height);
+ let metrics = glyphon::Metrics::new(
+ key.size,
+ key.line_height.max(f32::MIN_POSITIVE),
+ );
let mut buffer = glyphon::Buffer::new(font_system, metrics);
buffer.set_size(