From 2d4ba4c6951bd4e0dfc1ca2bc78b32fb2c8fc6e9 Mon Sep 17 00:00:00 2001 From: Laurenz Stampfl Date: Wed, 7 Jan 2026 23:11:02 +0100 Subject: [PATCH] Update changelogs --- sparse_strips/vello_common/CHANGELOG.md | 23 ++++++++++++++++++++- sparse_strips/vello_common/src/recording.rs | 2 ++ sparse_strips/vello_cpu/CHANGELOG.md | 12 ++++++++--- sparse_strips/vello_cpu/src/render.rs | 4 ++++ sparse_strips/vello_hybrid/src/scene.rs | 2 ++ 5 files changed, 39 insertions(+), 4 deletions(-) diff --git a/sparse_strips/vello_common/CHANGELOG.md b/sparse_strips/vello_common/CHANGELOG.md index 721f82915..33f3b32d7 100644 --- a/sparse_strips/vello_common/CHANGELOG.md +++ b/sparse_strips/vello_common/CHANGELOG.md @@ -22,6 +22,7 @@ This release has an [MSRV][] of 1.88. - An `extend` method has been added to `StripStorage` to extends its alphas/strips from another `StripStorage` ([#1203][] by [@LaurenzV]) - Added a `from_parts` method for masks ([#1237][] by [@LaurenzV]) +- Add initial support for image filters ([#1286][] by [@grebmeg]) ### Changed - `WideTile::generate` now takes an additional `BlendMode` as a parameter ([#1159][] by [@LaurenzV]) @@ -35,6 +36,11 @@ This release has an [MSRV][] of 1.88. - The `generate` method of `Wide` now takes an optional mask as an additional argument ([#1237][] by [@LaurenzV]) - `CmdFill` and `CmdAlphaFill` now store an optional mask ([#1237][] by [@LaurenzV]) +- Performance improvements for gradient rendering ([#1301][] by [@valadaptive]) +- Various changes to the logic for computing tile intersections and + representation of tiles ([#1293][], [#1317][], [#1318][] by [@b0nes164]) +- Support for computing data necessary to implement multi-sampled anti-aliasing ([#1319][], by [@b0nes164]) +- Numerous performance and memory-efficiency improvements ([#1325][] by [@LaurenzV], [#1327][] by [@grebmeg], [#1336][] by [@tomcur], [#1338][] by [@taj-p]) ## [0.0.4][] - 2025-10-17 @@ -69,7 +75,22 @@ This is the initial release. No changelog was kept for this release. See also the [vello_cpu 0.0.1](../vello_cpu/CHANGELOG.md#001---2025-05-10) release. [@LaurenzV]: https://github.com/LaurenzV - +[@grebmeg]: https://github.com/grebmeg +[@b0nes164]: https://github.com/b0nes164 +[@valadaptive]: https://github.com/valadaptive +[@taj-p]: https://github.com/taj-p +[@tomcur]: https://github.com/tomcur + +[#1338]: https://github.com/linebender/vello/pull/1327 +[#1336]: https://github.com/linebender/vello/pull/1327 +[#1327]: https://github.com/linebender/vello/pull/1327 +[#1325]: https://github.com/linebender/vello/pull/1325 +[#1319]: https://github.com/linebender/vello/pull/1319 +[#1318]: https://github.com/linebender/vello/pull/1318 +[#1317]: https://github.com/linebender/vello/pull/1317 +[#1301]: https://github.com/linebender/vello/pull/1301 +[#1293]: https://github.com/linebender/vello/pull/1293 +[#1286]: https://github.com/linebender/vello/pull/1286 [#1237]: https://github.com/linebender/vello/pull/1237 [#1203]: https://github.com/linebender/vello/pull/1203 [#1159]: https://github.com/linebender/vello/pull/1159 diff --git a/sparse_strips/vello_common/src/recording.rs b/sparse_strips/vello_common/src/recording.rs index 6601b0386..11218e88a 100644 --- a/sparse_strips/vello_common/src/recording.rs +++ b/sparse_strips/vello_common/src/recording.rs @@ -445,6 +445,8 @@ impl<'a> Recorder<'a> { } /// Push a new filter layer. + /// + /// WARNING: Note that filters are currently incomplete and experimental. pub fn push_filter_layer(&mut self, filter: Filter) { self.push_layer(None, None, None, None, Some(filter)); } diff --git a/sparse_strips/vello_cpu/CHANGELOG.md b/sparse_strips/vello_cpu/CHANGELOG.md index 430300a08..0336effe9 100644 --- a/sparse_strips/vello_cpu/CHANGELOG.md +++ b/sparse_strips/vello_cpu/CHANGELOG.md @@ -20,7 +20,7 @@ This release has an [MSRV][] of 1.88. - The `RenderContext` now has a `set_blend_mode` (and a corresponding `blend_mode` getter method) that can be used to support non-isolated blending ([#1159][] by [@LaurenzV]) - The `RenderContext` now contains a `push_clip_path` and `pop_clip_path` method for performing non-isolated clipping ([#1203][] by [@LaurenzV]) -- Support for image filter effects: ([#1286][] by [@grebmeg][]) +- Experimental support for image filter effects: ([#1286][] by [@grebmeg][]) - New filter API methods on `RenderContext`: - `set_filter_effect()` - Set a filter to be applied to subsequent drawing operations - `push_filter_layer()` - Create a new layer with a filter effect @@ -30,8 +30,10 @@ This release has an [MSRV][] of 1.88. Uses an optimized decimated blur algorithm with automatic downsampling for performance. - Drop Shadow filter with customizable offset, blur radius, and shadow color. - Flood filter for solid color fills. - - Added a `set_mask` method to make it possible to mask rendered - paths without inducing layer isolation ([#1237][] by [@LaurenzV]) +- Added a `set_mask` method to make it possible to mask rendered + paths without inducing layer isolation ([#1237][] by [@LaurenzV]) +- Added support for conditionally disabling the u8 or f32 pipeline ([#1294][] by [@nicoburns]) +- Improve performance of rendering opaque images ([#1327][] by [@grebmeg]) @@ -75,11 +77,15 @@ See also the [vello_common 0.0.1](../vello_common/CHANGELOG.md#001---2025-05-10) [@LaurenzV]: https://github.com/LaurenzV [@grebmeg]: https://github.com/grebmeg +[@nicoburns]: https://github.com/nicoburns [#1159]: https://github.com/linebender/vello/pull/1159 [#1203]: https://github.com/linebender/vello/pull/1203 [#1237]: https://github.com/linebender/vello/pull/1237 [#1286]: https://github.com/linebender/vello/pull/1286 +[#1294]: https://github.com/linebender/vello/pull/1294 +[#1327]: https://github.com/linebender/vello/pull/1327 + [Unreleased]: https://github.com/linebender/fearless_simd/compare/sparse-strips-v0.0.4...HEAD [0.0.4]: https://github.com/linebender/vello/compare/sparse-stips-v0.0.3...sparse-strips-v0.0.4 [0.0.3]: https://github.com/linebender/vello/compare/sparse-stips-v0.0.2...sparse-strips-v0.0.3 diff --git a/sparse_strips/vello_cpu/src/render.rs b/sparse_strips/vello_cpu/src/render.rs index 6de8eed93..438b9380d 100644 --- a/sparse_strips/vello_cpu/src/render.rs +++ b/sparse_strips/vello_cpu/src/render.rs @@ -386,6 +386,10 @@ impl RenderContext { } /// Push a filter layer that affects all subsequent drawing operations. + /// + /// WARNING: Note that filters are currently incomplete and experimental. In + /// particular, they will lead to a panic when used in combination with + /// multi-threaded rendering. pub fn push_filter_layer(&mut self, filter: Filter) { self.push_layer(None, None, None, None, Some(filter)); } diff --git a/sparse_strips/vello_hybrid/src/scene.rs b/sparse_strips/vello_hybrid/src/scene.rs index d755ce50d..ae5592978 100644 --- a/sparse_strips/vello_hybrid/src/scene.rs +++ b/sparse_strips/vello_hybrid/src/scene.rs @@ -392,6 +392,8 @@ impl Scene { } /// Push a new filter layer. + /// + /// Note that filters are currently ignored in `vello_hybrid`. pub fn push_filter_layer(&mut self, filter: Filter) { self.push_layer(None, None, None, None, Some(filter)); }