Commit graph

889 commits

Author SHA1 Message Date
Héctor Ramón Jiménez
45254ab88c
Use Bytes as the Container of ImageBuffer
Since we don't need to mutate images once loaded,
we avoid unnecessary extra allocations.
2024-05-01 00:55:49 +02:00
Héctor Ramón Jiménez
7e2d0dc931
Keep text atlases alive during temporary empty uploads 2024-04-30 23:51:00 +02:00
Héctor Ramón Jiménez
b276a603a1
Fix cache trimming loop in iced_wgpu::text 2024-04-30 23:15:04 +02:00
Héctor Ramón Jiménez
c51b85e7ab
Invalidate text uploads after atlas trimming 2024-04-30 21:59:46 +02:00
Héctor Ramón Jiménez
b5b78d505e
Introduce canvas::Cache grouping
Caches with the same `Group` will share their text
atlas!
2024-04-30 07:57:54 +02:00
Héctor Ramón Jiménez
24501fd73b
Fix text and triangle uploads being dropped on canvas cache clears 2024-04-30 05:13:24 +02:00
Héctor Ramón Jiménez
2dcd4f916e
Retain caches in iced_wgpu as long as Rc values are alive
This allows reusing a `canvas::Cache` at no cost even if it
is not presented every frame.
2024-04-27 14:16:12 +02:00
Héctor Ramón Jiménez
493c36ac71
Make image Cache eviction strategy less aggressive in iced_wgpu
Instead of trimming unconditionally at the end of
a frame, we now trim the cache only when there is a
cache miss.

This way, images that are not visible but still a
part of the layout will stay cached. Eviction will
only happen when the images are not a part of the
UI for two consectuive frames.
2024-04-24 21:29:30 +02:00
Héctor Ramón Jiménez
dbbbadfc95
Restore PREMULTIPLIED_ALPHA_BLENDING in triangle::msaa pipeline 2024-04-12 18:46:48 +02:00
Héctor Ramón Jiménez
d0233da8a2
Fix applying local transformation to layer_bounds in iced_wgpu::text 2024-04-12 18:37:38 +02:00
Héctor Ramón Jiménez
6ad5bb3597
Port iced_tiny_skia to new layering architecture 2024-04-09 22:25:16 +02:00
Héctor Ramón Jiménez
2c6fd9ac14
Make arguments of Renderer::new explicit in iced_wgpu 2024-04-08 15:35:54 +02:00
Héctor Ramón Jiménez
f88488543f
Remove leftover primitive::pipeline module 2024-04-08 15:05:12 +02:00
Héctor Ramón Jiménez
d922b47815
Reintroduce support for custom primitives in iced_wgpu 2024-04-08 15:04:35 +02:00
Héctor Ramón Jiménez
288f62bfb6
Share msaa::Blit texture between multiple windows 2024-04-07 18:45:48 +02:00
Héctor Ramón Jiménez
13289dbd19
Merge branch 'master' into wgpu/better-architecture 2024-04-07 14:06:52 +02:00
Héctor Ramón Jiménez
5cd98f069d
Use built-in [lints] table in Cargo.toml 2024-04-07 12:42:12 +02:00
Héctor Ramón Jiménez
a699348bf3
Reenable proper present_mode in iced_wgpu 2024-04-06 06:23:29 +02:00
Héctor Ramón Jiménez
441aac2599
Avoid generating empty caches in iced_wgpu 2024-04-06 03:06:40 +02:00
Héctor Ramón Jiménez
7eb16452f3
Avoid generating empty Frame geometry in iced_wgpu 2024-04-06 00:57:59 +02:00
Héctor Ramón Jiménez
6d3e1d835e
Decouple caching from layering and simplify everything 2024-04-05 23:59:21 +02:00
Héctor Ramón Jiménez
4a356cfc16
Enable clipping and disable v-sync for now 2024-04-05 01:24:34 +02:00
Héctor Ramón Jiménez
394e599c3a
Fix layer transformations 2024-04-05 00:40:39 +02:00
Héctor Ramón Jiménez
cc05cb9be4
Fix broken doc links in iced_wgpu and iced_graphics 2024-04-03 23:39:38 +02:00
Héctor Ramón Jiménez
d461f23e8d
Use default tolerance for dashed paths in iced_wgpu 2024-04-03 23:31:13 +02:00
Héctor Ramón Jiménez
346ea313fd
Set proper present_mode in iced_wgpu 2024-04-03 23:28:12 +02:00
Héctor Ramón Jiménez
e2c129c057
Fix geometry::Cache not reusing previous geometry 2024-04-03 23:14:16 +02:00
Héctor Ramón Jiménez
1672b0d619
Reintroduce debug overlay in iced_wgpu 2024-04-03 22:57:28 +02:00
Héctor Ramón Jiménez
88b72de282
Implement preliminary cache grouping for mesh primitives
Due to AA, it's very expensive to render every cached
layer independently.
2024-04-03 22:13:00 +02:00
Héctor Ramón Jiménez
b05e61f5c8
Redesign iced_wgpu layering architecture 2024-04-03 21:07:54 +02:00
Héctor Ramón Jiménez
f5bcfec821
Use rustc-hash for most of our HashMap and HashSet instances 2024-04-01 12:00:15 +02:00
Héctor Ramón
c7a4fad4a2
Merge pull request #2357 from iced-rs/wgpu/use-staging-belt
Use a `StagingBelt` in `iced_wgpu` for regular buffer uploads
2024-03-30 23:49:26 +01:00
Héctor Ramón Jiménez
35af0aa84f
Fix batched writes logic in iced_wgpu::buffer 2024-03-30 13:51:22 +01:00
Héctor Ramón Jiménez
5f1eb43161
Split big Buffer writes into multiple chunks 2024-03-29 14:29:31 +01:00
Héctor Ramón Jiménez
0a97b9e37a
Add documentation to Backend::recall in iced_wgpu 2024-03-29 09:57:11 +01:00
Héctor Ramón Jiménez
2bb53ad6e7
Use a StagingBelt in iced_wgpu for regular buffer uploads 2024-03-29 04:04:14 +01:00
Daniel Yoon
8c401be207 Update solid.wgsl 2024-03-26 11:50:11 +11:00
Héctor Ramón
a2a8381a49
Merge pull request #2351 from iced-rs/custom-renderer-injection
Type-Driven Renderer Fallback
2024-03-25 21:36:44 +01:00
Héctor Ramón Jiménez
4f5b63f1f4
Reintroduce backend selection through ICED_BACKEND env var 2024-03-24 08:04:28 +01:00
Héctor Ramón Jiménez
441e9237cd
Rename compositor::Renderer to Default 2024-03-22 19:35:19 +01:00
Héctor Ramón Jiménez
5137d655e6
Allow custom renderers in Program and Application 2024-03-22 07:09:51 +01:00
Héctor Ramón Jiménez
1f13a91361
Make iced_tiny_skia optional with a tiny-skia feature 2024-03-22 05:27:31 +01:00
Héctor Ramón Jiménez
53a183fe0d
Restore canvas::Frame API 2024-03-22 01:35:14 +01:00
Héctor Ramón Jiménez
3645d34d6a
Implement composable, type-safe renderer fallback 2024-03-21 22:27:17 +01:00
Héctor Ramón
01f38f05a2
Merge pull request #2341 from Koranir/premultiply
Allow using the premultiplied alpha wgpu compositor mode
2024-03-20 16:58:19 +01:00
Daniel Yoon
a613079083
Revert "Remove PreMultiplied alpha mode selection in wgpu:🪟:compositor"
This reverts commit 33066bca1a.
2024-03-20 16:46:13 +01:00
Héctor Ramón Jiménez
ff409ce66c
Fix empty wgpu draw calls in image pipeline 2024-03-20 16:40:14 +01:00
Héctor Ramón Jiménez
bad3b1ac47
Show name of current Theme in clock example 2024-03-16 16:52:21 +01:00
rustrover
500ba962d1 fix some comments
Signed-off-by: rustrover <seekseat@126.com>
2024-03-09 15:26:37 +08:00
Héctor Ramón
edf7d7ca75
Merge pull request #2312 from iced-rs/theming-reloaded
Theming reloaded
2024-03-08 14:00:28 +01:00