Skip to content

This Month In Linebender, July 2025 #119

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 19 commits into from
Aug 6, 2025
Merged

This Month In Linebender, July 2025 #119

merged 19 commits into from
Aug 6, 2025

Conversation

DJMcNab
Copy link
Member

@DJMcNab DJMcNab commented Jul 30, 2025

@DJMcNab DJMcNab marked this pull request as ready for review August 4, 2025 17:50

Our [working roadmap](https://docs.google.com/document/d/1ZquH-53j2OedTbgEKCJBKTh4WLE11UveM10mNdnVARY/edit?tab=t.0#heading=h.j3duh9pgdm94) outlines the planned timeline for work on the renderers into next year.

An integration of Vello as the backend for Servo's canvas rendering has landed in [servo#36821][] (and also Vello CPU in [servo#38282][]).
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @sagudev, if there's anything more you want to say here/want us to remove this/if there's a relevant screenshot

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it's also worth mentioning we have switched to kurbo::Bezpath for our path abstraction: servo/servo#37967 (this is for every backend).

As for vello backends, I would also mention that further progress and remaining problems can be tracked here: servo/servo#38345

Comment on lines 51 to 57

<!-- TODO: Clean up this blurb -->
<!-- TODO: Do we need to say "experimental" for literally everything? -->
Fearless SIMD is our experimental SIMD infrastructure library, developed for Vello sparse strips.

- [fearless_simd#24][], [fearless_simd#26][], [fearless_simd#27][]: Implement all WASM SIMD methods.
<!-- TODO: Any others which are relevant? -->
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @ajakubowicz-canva if there's anything from this search which we should also include

Copy link

@ajakubowicz-canva ajakubowicz-canva Aug 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fearless SIMD is in quite active development, so it's a little hard to point out individual PRs as features, because every PR is either:

  • Adding new public API
  • Implementing that public API on an architecture
  • Robustness/testing/library maintenance

I think a summary of this month is something like:

Fearless SIMD continues to be developed in concert with the Vello sparse strips renderers – most notably `vello_cpu`.  By developing Fearless SIMD with the Vello sparse strips renderers, we're ensuring that Fearless SIMD provides performance improvements that are quantifiable, and we're dog-fooding our own implementation during this period of rapid experimentation and development. To support the significant vello_cpu refactor using SIMD, this month saw the addition of more methods implemented in both Neon and WebAssembly. Thanks to new contributions from Ralith we've started on SSE 4.2 support for `x86` architectures.

Maybe a terser variant could be:

Fearless SIMD continues to evolve alongside Vello's sparse strips renderers, particularly `vello_cpu`. This co-development ensures our SIMD abstractions deliver real, measurable performance gains while letting us dogfood our implementation during rapid iteration.

This month's highlights include expanded WebAssembly and Neon SIMD support to enable the significant `vello_cpu` SIMD refactor, with SSE 4.2 support starting thanks to contributions from Ralith and Laurenz.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also can add:

  • [fearless_simd#31][]: Introduce semantic conversion traits to_int, to_float.


<!-- TODO: Screenshot of chart, maybe? -->

### Fearless SIMD
Copy link

@ajakubowicz-canva ajakubowicz-canva Aug 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from the comment below, Fearless SIMD section LGTM :D Thank you so much!

@raphlinus raphlinus merged commit c46f22d into main Aug 6, 2025
2 checks passed
@raphlinus raphlinus deleted the tmil-19 branch August 6, 2025 19:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants