Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 22 additions & 1 deletion sparse_strips/vello_common/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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])
Expand All @@ -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

Expand Down Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions sparse_strips/vello_common/src/recording.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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));
}
Expand Down
12 changes: 9 additions & 3 deletions sparse_strips/vello_cpu/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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])



Expand Down Expand Up @@ -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
Expand Down
4 changes: 4 additions & 0 deletions sparse_strips/vello_cpu/src/render.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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));
}
Expand Down
2 changes: 2 additions & 0 deletions sparse_strips/vello_hybrid/src/scene.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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));
}
Expand Down