Commit graph

34 commits

Author SHA1 Message Date
Héctor Ramón Jiménez
b52c7bb610
Use an opaque Id type for image::Handle
Hashing pointers is a terrible idea.
2024-05-01 01:39:43 +02:00
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
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
f5bcfec821
Use rustc-hash for most of our HashMap and HashSet instances 2024-04-01 12:00:15 +02:00
Héctor Ramón Jiménez
f02f0c01ea
Fix race condition when growing an image::Atlas 2023-05-11 20:18:36 +02:00
Héctor Ramón Jiménez
3a26baa564
Remove image abstractions in iced_graphics 2023-03-07 03:47:49 +01:00
Ian Douglas Scott
2c7c42ee93
Move image/svg handling into iced_graphics
The `TextureStore` trait is implemented by the atlas, and can also be
implemented in the glow renderer or in a software renderer.

The API here may be improved in the future, but API stability is
presumably not a huge issue since these types will only be used by
renderer backends.
2022-11-05 03:19:37 +01:00
Héctor Ramón Jiménez
2065a40f64
Fix clippy lints for all crates and features
... and check those in CI as well!
2022-07-09 18:43:05 +02:00
Poly
15f794b7a8
Address Clippy lints 2022-07-09 17:07:38 +02:00
Héctor Ramón Jiménez
adce9e0421
Update Rust edition to 2021 🎉 2022-02-09 17:57:44 +07:00
Héctor Ramón Jiménez
2cc7e0a449
Fix Operation::perform in image::raster
Flipping diagonally isn't the same as flipping each axis individually 😅
2021-09-30 16:51:42 +07:00
Héctor Ramón Jiménez
60070eef27
Remove absolute module path leftovers in image::raster 2021-09-30 16:20:04 +07:00
Héctor Ramón Jiménez
21d138aa28
Refactor Orientation into Operation in image::raster 2021-09-30 16:15:15 +07:00
Héctor Ramón Jiménez
86d6d53cfa
Remove unnecessary absolute module paths in image::raster 2021-09-30 14:35:10 +07:00
Héctor Ramón Jiménez
03fee3106f
Introduce Orientation enum in image::raster 2021-09-30 14:24:23 +07:00
Mateusz Czapliński
82e3e316dd Honor Exif orientation in iced_wgpu::Image 2021-09-30 00:28:56 +02:00
Greg V
8f126c212b Add image format options to reduce code bloat, fixes #376 2021-02-13 15:53:24 +01:00
Héctor Ramón Jiménez
209056e1cd Fix deprecation warnings from image 2020-11-20 10:29:11 +01:00
Soham Chowdhury
1841015428 Add support for loading already-decoded image pixels 2020-02-29 07:32:42 +05:30
Héctor Ramón Jiménez
4e7159c22c Stop creating image pipeline when unnecessary 2020-02-28 14:38:42 +01:00
Héctor Ramón Jiménez
271725faa5 Derive Debug for raster::Memory 2020-02-26 20:47:27 +01:00
Héctor Ramón Jiménez
d06d06e050 Deallocate atlas entries and remove padding 2020-02-26 20:10:19 +01:00
Héctor Ramón Jiménez
48d70280eb Fix multiple issues from the refactoring
- Update texture view on grow
- Fix atlas texture coordinates
- Fix fragmented uploads
2020-02-26 18:50:13 +01:00
Héctor Ramón Jiménez
c58d94f3fd Avoid creating a vertex buffer every frame 2020-02-26 12:55:04 +01:00
Héctor Ramón Jiménez
59d45a5440 Refactor texture atlas
- Split into multiple modules
- Rename some concepts
- Change API details
2020-02-26 12:34:34 +01:00
Malte Veerman
4617da2818 Implemented automatic deallocation of texture space for dropped allocations 2020-02-25 13:27:03 +01:00
Malte Veerman
2f695ef980 Updated shaders and removed debug_stub_derive dependency 2020-02-25 13:27:03 +01:00
Malte Veerman
c0996923c6 Batch image draw calls into one with multiple instances 2020-02-25 13:26:50 +01:00
Malte Veerman
3f38835105 Implement allocating large images across multiple texture array layers. 2020-02-25 13:26:50 +01:00
Malte Veerman
2f77a6bf5a Use array of atlases instead of one growing indefinitely. 2020-02-25 13:26:50 +01:00
Malte Veerman
82e0675c07 Some small debug changes 2020-02-25 13:26:50 +01:00
Malte Veerman
743637ebda Merged image and svg texture atlases into one owned by the image pipeline. 2020-02-25 13:26:50 +01:00
Malte Veerman
1bcfc9a5cc Implemented a texture atlas for images and svgs. 2020-02-25 13:26:33 +01:00
Héctor Ramón Jiménez
09707f29fc Rerasterize SVGs when resized and refactor a bit 2019-12-15 06:19:07 +01:00