Skip to content

Move FastTransform to webrender_api crate#4883

Closed
nicoburns wants to merge 2 commits into
0.68from
fast-transform-webrender-api
Closed

Move FastTransform to webrender_api crate#4883
nicoburns wants to merge 2 commits into
0.68from
fast-transform-webrender-api

Conversation

@nicoburns

@nicoburns nicoburns commented Jun 8, 2026

Copy link
Copy Markdown

servo-malloc-size-of and servo-geometry are currently depending on webrender because they need the FastTransform type. As these crates are low in the crate graph, this means that ~50 servo crates need to recompile when modifying webrender.

This PR, moves FastTransform into webrender_api which means thatservo-malloc-size-of and servo-geometry can also depend only on webrender_api and the only servo crates that needs to depend on webrender are servo-paint and servo.

Servo PR: servo/servo#45485

nicoburns added 2 commits June 8, 2026 16:53
Signed-off-by: Nico Burns <nico@nicoburns.com>
@Loirooriol

Copy link
Copy Markdown

It's not a small patch, so I would like to know what @mrobinson thinks about this making future webrender syncs harder or such. Maybe it should land upstream, and then sync? Seems it has been a while.

@nicoburns

Copy link
Copy Markdown
Author

Ah, I had though the FastTransform type was already our downstream patch, but it looks like we just made it public. I can definitely send this upstream if that's preferable.

@nicoburns

Copy link
Copy Markdown
Author

I've sent this upstream as https://bugzilla.mozilla.org/show_bug.cgi?id=2046918. Maybe we can try and include it in the upcoming sync if it lands soon.

@nicoburns nicoburns closed this Jun 11, 2026
@nicoburns

nicoburns commented Jun 23, 2026

Copy link
Copy Markdown
Author

I think the current state (without this PR) may actually be causing a relatively significant slowdown in clean build times for Servo, because it seems to be serializing the build of WebRender (including it's build script) and script/script-bindings, which both end up being part of the critical path in the build pipeline.

@mrobinson

Copy link
Copy Markdown
Member

We will likely re-sync and re-release soon due to servo/servo#45728, so if you can land this upstream it should be included in the next release.

@nicoburns

Copy link
Copy Markdown
Author

I will try to land upstream soon. Will have to work out why it got rejected by CI last time (I'm currently having trouble with Mozilla try access)

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.

3 participants