gecko-dev/layout/svg
Andrew Osmond fbaa72bc71 Bug 1617493 - Rasterize SVG patterns in content process into a shared surface for WebRender. r=jrmuizel
In DrawTargetRecording::CreateSimilarDrawTarget, we would originally
create a new DrawTargetRecording. For resources that are shared, such as
SVG patterns, we would do the same work for each blob image tile. This
can get expensive if the pattern is large. Now we check a size
threshold, and if passed, we create a DrawTargetSkia backed by a
SourceSurfaceSharedData. When we want a snapshot, we now try to get the
shared surface instead if available. The recording infrastructure
already knows how to handle the lifetimes and use of external IDs for
shared surfaces, so now we rasterize the pattern once for all the blob
tiles. In an ideal world we would do this in the compositor process
once, but that requires more changes, and this is useful as a stopgap in
the meantime.

Differential Revision: https://phabricator.services.mozilla.com/D63903

--HG--
extra : moz-landing-system : lando
2020-02-25 13:56:23 +00:00
..
crashtests Bug 1605223. Handle SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN when computing webrender filter information for component transfer filters. r=mstange 2020-01-28 10:00:25 +00:00
tests
AutoReferenceChainGuard.h
moz.build Backed out changeset 6550b62f1fe7 (bug 1555356) for causing reftest failures in SVG files. 2020-02-14 23:59:09 +02:00
nsCSSClipPathInstance.cpp Bug 1614510 - Split clip-path and shape-outside values. r=boris 2020-02-11 23:34:53 +00:00
nsCSSClipPathInstance.h Bug 1614510 - Split clip-path and shape-outside values. r=boris 2020-02-11 23:34:53 +00:00
nsCSSFilterInstance.cpp
nsCSSFilterInstance.h
nsFilterInstance.cpp Backed out 2 changesets (bug 1596513) for webrender wrench bustages on a CLOSED TREE 2020-02-25 09:37:45 +02:00
nsFilterInstance.h Bug 1590639 part 5: Fix non-unified build issues in layout/svg. r=emilio 2019-10-23 08:16:45 +00:00
nsISVGSVGFrame.h
nsSVGAFrame.cpp Bug 1610387 - Remove nsAutoPtr usage from layout/. r=dbaron 2020-02-01 09:40:36 +00:00
nsSVGClipPathFrame.cpp
nsSVGClipPathFrame.h
nsSVGContainerFrame.cpp Bug 1610387 - Remove nsAutoPtr usage from layout/. r=dbaron 2020-02-01 09:40:36 +00:00
nsSVGContainerFrame.h Bug 1610387 - Remove nsAutoPtr usage from layout/. r=dbaron 2020-02-01 09:40:36 +00:00
nsSVGDisplayableFrame.h
nsSVGFilterFrame.cpp
nsSVGFilterFrame.h
nsSVGFilterInstance.cpp
nsSVGFilterInstance.h
nsSVGFilterPaintCallback.h
nsSVGForeignObjectFrame.cpp Bug 1610387 - Remove nsAutoPtr usage from layout/. r=dbaron 2020-02-01 09:40:36 +00:00
nsSVGForeignObjectFrame.h Bug 1610387 - Remove nsAutoPtr usage from layout/. r=dbaron 2020-02-01 09:40:36 +00:00
nsSVGGenericContainerFrame.cpp
nsSVGGenericContainerFrame.h
nsSVGGFrame.cpp
nsSVGGFrame.h Bug 1610387 - Remove nsAutoPtr usage from layout/. r=dbaron 2020-02-01 09:40:36 +00:00
nsSVGGradientFrame.cpp
nsSVGGradientFrame.h
nsSVGImageFrame.cpp Backed out changeset 6550b62f1fe7 (bug 1555356) for causing reftest failures in SVG files. 2020-02-14 23:59:09 +02:00
nsSVGImageFrame.h Backed out changeset 6550b62f1fe7 (bug 1555356) for causing reftest failures in SVG files. 2020-02-14 23:59:09 +02:00
nsSVGInnerSVGFrame.cpp
nsSVGInnerSVGFrame.h
nsSVGIntegrationUtils.cpp Bug 1614510 - Use cbindgen for shape-outside and clip-path. r=boris 2020-02-11 22:03:53 +00:00
nsSVGIntegrationUtils.h
nsSVGMarkerFrame.cpp
nsSVGMarkerFrame.h
nsSVGMaskFrame.cpp Bug 1611415 - Prefer using std::move over forget. r=froydnj 2020-02-13 14:38:48 +00:00
nsSVGMaskFrame.h
nsSVGOuterSVGFrame.cpp Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj 2020-02-20 11:40:14 +00:00
nsSVGOuterSVGFrame.h Bug 1610387 - Remove nsAutoPtr usage from layout/. r=dbaron 2020-02-01 09:40:36 +00:00
nsSVGPaintServerFrame.h
nsSVGPatternFrame.cpp Bug 1617493 - Rasterize SVG patterns in content process into a shared surface for WebRender. r=jrmuizel 2020-02-25 13:56:23 +00:00
nsSVGPatternFrame.h Bug 1610387 - Remove nsAutoPtr usage from layout/. r=dbaron 2020-02-01 09:40:36 +00:00
nsSVGStopFrame.cpp
nsSVGSwitchFrame.cpp Bug 1590639 part 5: Fix non-unified build issues in layout/svg. r=emilio 2019-10-23 08:16:45 +00:00
nsSVGSymbolFrame.cpp
nsSVGSymbolFrame.h
nsSVGUseFrame.cpp
nsSVGUseFrame.h
nsSVGUtils.cpp Bug 1617425 - Use cbindgen for SVG lengths. r=jwatt 2020-02-23 15:43:03 +00:00
nsSVGUtils.h Bug 1617425 - Use cbindgen for SVG lengths. r=jwatt 2020-02-23 15:43:03 +00:00
nsSVGViewportFrame.cpp
nsSVGViewportFrame.h Bug 1610387 - Remove nsAutoPtr usage from layout/. r=dbaron 2020-02-01 09:40:36 +00:00
svg.css
SVGContextPaint.cpp Bug 1617425 - Use cbindgen for SVG lengths. r=jwatt 2020-02-23 15:43:03 +00:00
SVGContextPaint.h Bug 1602421 - Remove some useless includes. r=jfkthame 2019-12-09 14:53:50 +00:00
SVGFEContainerFrame.cpp
SVGFEImageFrame.cpp
SVGFELeafFrame.cpp Bug 1590639 part 5: Fix non-unified build issues in layout/svg. r=emilio 2019-10-23 08:16:45 +00:00
SVGFEUnstyledLeafFrame.cpp Bug 1590639 part 5: Fix non-unified build issues in layout/svg. r=emilio 2019-10-23 08:16:45 +00:00
SVGGeometryFrame.cpp Bug 1617425 - Use cbindgen for SVG lengths. r=jwatt 2020-02-23 15:43:03 +00:00
SVGGeometryFrame.h Backed out changeset 6550b62f1fe7 (bug 1555356) for causing reftest failures in SVG files. 2020-02-14 23:59:09 +02:00
SVGImageContext.cpp Bug 1617425 - Use cbindgen for SVG lengths. r=jwatt 2020-02-23 15:43:03 +00:00
SVGImageContext.h
SVGObserverUtils.cpp Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj 2020-02-20 11:40:14 +00:00
SVGObserverUtils.h Bug 1593222: part 12) Rename "nsNodeUtils.*" to "MutationObservers.*". r=smaug 2019-11-06 09:08:06 +00:00
SVGTextFrame.cpp Bug 1617425 - Use cbindgen for SVG lengths. r=jwatt 2020-02-23 15:43:03 +00:00
SVGTextFrame.h Bug 1614165 part 1. Improve error messages for SVG text. r=emilio 2020-02-09 02:15:32 +00:00
SVGViewFrame.cpp