gecko-dev/gfx
Lee Salzman 6fc4f6027b Bug 1923636 - Avoid copying paths when transforming. r=aosmond
TransformedCopyToBuilder is called any time in Canvas2D the transform
is modified and then a path op is used. On cases that repeatedly change
the transform while building paths, this leads to fairly significant
expense in repeatedly copying the path contents as well as allocating
and deallocating paths.

To work around this, a new primitive TransformedMoveToBuilder is provided
that allows in-place transforming of the path contents. Because paths that
are "finished" and referenced externally can't be safely modified, extra
static methods (i.e. ToBuilder) are added to guarantee that there are no
other refs to the path before modifying its contents.

One snag is that ArcParams could previously not handle transforms, so it
is modified to allow a transform to be supplied to an Arc op, which is
only flattened out when it is streamed to a sink.

Differential Revision: https://phabricator.services.mozilla.com/D225548
2024-10-14 22:48:45 +00:00
..
2d Bug 1923636 - Avoid copying paths when transforming. r=aosmond 2024-10-14 22:48:45 +00:00
angle Bug 1910306 - [angle] Cherry-pick zero-initialization of unwritten GLSL out params. r=gfx-reviewers,nical 2024-07-31 15:04:25 +00:00
cairo Bug 1909566 - pixman: Adjust arm assembly for binutils change. r=gfx-reviewers,lsalzman 2024-07-24 05:23:50 +00:00
config Bug 1901257 - Add a pref to control the threshold for slow cpu frames. r=gfx-reviewers,gw 2024-06-11 10:33:44 +00:00
docs Bug 1896210 Part 2 - Revise LayoutOverview.md. r=dshin 2024-05-17 23:22:07 +00:00
gl Backed out changeset 4b1409597101 (bug 1920718) for causing bp bustages on rapl.cpp. 2024-10-08 23:27:18 +03:00
graphite2 Bug 1893001 - Fall through to the lower block for Android builds. r=jfkthame 2024-07-23 17:02:39 +00:00
harfbuzz Bug 1920604 - Update harfbuzz to release 10.0.1. r=gfx-reviewers,lsalzman 2024-09-25 13:13:38 +00:00
ipc Backed out changeset 4b1409597101 (bug 1920718) for causing bp bustages on rapl.cpp. 2024-10-08 23:27:18 +03:00
layers Backed out 3 changesets (bug 1917652) for causing perma bc failures @ browser_startup_syncIPC.js CLOSED TREE 2024-10-12 23:24:50 +03:00
ots Bug 1923596 - Update OTS to upstream rev 5daecc9 to resolve empty-glyph-components issue for Windows. r=gfx-reviewers,lsalzman 2024-10-10 08:32:43 +00:00
qcms Bug 1915813 - Fix a crash with Microsoft TTD. r=gfx-reviewers,nical,jrmuizel 2024-09-09 09:00:48 +00:00
skia Bug 1909796 - Allow clip paths larger than int32. r=aosmond 2024-08-07 04:42:48 +00:00
src Bug 1919906 - Ensure fonts used in canvas2d do not apply forced-GDI-classic mode during layout/measurement. r=lsalzman 2024-09-30 14:23:05 +00:00
tests Bug 1922956 - Further clean-up widget creation code-paths. r=win-reviewers,mac-reviewers,geckoview-reviewers,mstange,rkraesig,m_kato 2024-10-07 16:43:53 +00:00
thebes Bug 1923636 - Avoid copying paths when transforming. r=aosmond 2024-10-14 22:48:45 +00:00
vr Bug 1440207 - Part 3a: Migrate GeckoChildProcessHost callers to use ChildProcessArgs, r=ipc-reviewers,necko-reviewers,media-playback-reviewers,aosmond,mccr8 2024-10-01 22:21:47 +00:00
webrender_bindings Bug 1923263 - Add log around RenderThread::PostEvent() and RendererEvent r=gfx-reviewers,lsalzman 2024-10-10 04:13:21 +00:00
wgpu_bindings Bug 1918739 - Update doc comment for wgpu_server_instance_request_adapter. r=webgpu-reviewers,ErichDonGubler 2024-10-14 09:54:48 +00:00
wr Bug 1922323 - Don't make cached rendertask location read-only 2024-10-14 16:27:52 +00:00
ycbcr Bug 1907121 - Return error for non-I444 Identity color space in ConvertYCbCrToRGB32 r=gfx-reviewers,nical 2024-07-18 21:02:34 +00:00
metrics.yaml Bug 1877842 - Migrate performance GVST probes r=perry.mcmanis,denispal 2024-02-09 21:11:05 +00:00
moz.build