This should help increase our WebRender usage so we're more likely to learn
about problems with minimal additional risk.
Differential Revision: https://phabricator.services.mozilla.com/D18020
--HG--
extra : moz-landing-system : lando
Now that we no longer guarantee that a picture with perspective transform is rasterized in local space, we need to ensure that the shaders don't apply perspective correction to the texture coordinates twice.
For that to be the case, we pass an extra flag to the plane splitting shader, and un-do the perspective correction if it's not enabled.
Differential Revision: https://phabricator.services.mozilla.com/D17854
--HG--
extra : moz-landing-system : lando
Now that we no longer guarantee that a picture with perspective transform is rasterized in local space, we need to ensure that the shaders don't apply perspective correction to the texture coordinates twice.
For that to be the case, we pass an extra flag to the plane splitting shader, and un-do the perspective correction if it's not enabled.
Differential Revision: https://phabricator.services.mozilla.com/D17854
--HG--
extra : moz-landing-system : lando
WebRenderBridgeParent::RemoveEpochDataPriorTo() does not check when animation is added by using epoch. Then there is a case that animation is deleted too early.
Differential Revision: https://phabricator.services.mozilla.com/D17799
--HG--
extra : moz-landing-system : lando
This lets us avoid drawing the complete input for ever tile when
drawing filters into a tile.
Differential Revision: https://phabricator.services.mozilla.com/D17686
--HG--
extra : moz-landing-system : lando
This forwards to an underlying source surface but also has an origin that it
uses to correctly return results from GetRect()
Differential Revision: https://phabricator.services.mozilla.com/D17692
--HG--
extra : moz-landing-system : lando
This is needed so that we can use SourceSurfaces that don't have a
implicit 0,0 origin like those that would come from a DrawTargetTiled
or DrawTargetOffset.
Differential Revision: https://phabricator.services.mozilla.com/D17684
--HG--
extra : moz-landing-system : lando
We can always pull this back from history should we need it, but given
how broken the texture caching of pictures was (see the recent text shadow
story) I suspect we won't.
Differential Revision: https://phabricator.services.mozilla.com/D17524
When some of a border's corners have a border-radius, and that radius
is larger than the sum of the border width and element size, then it
results in the corners of the border overlapping. Webrender draws
borders by rasterizing each segment individually in to the cache, then
compositing them together. In this overlapping case, this has 2
problems:
a) we composite overlapping segments on top of eachother
b) corner segments are not correctly clipped to the curve of the
overlapping adjacent corners
This patch allows corner segments to be clipped by their adjacent
corners. We provide the outer corner position and radii of the
adjacent corners to the border shader, which then applies those clips,
if required, along with the segment's own corner clip when rasterizing
the segment.
As the adjacent corners now affect the result of the cached segment,
they are added to the cache key.
We continue to rasterize the entire segment in to the cache as before,
but now modify the local rect and texel rect of the BrushSegment so
that it only composites the subportion of the corner segment which
does not overlap with the opposite edges of the border.
Differential Revision: https://phabricator.services.mozilla.com/D16872
--HG--
extra : moz-landing-system : lando
We can always pull this back from history should we need it, but given
how broken the texture caching of pictures was (see the recent text shadow
story) I suspect we won't.
Differential Revision: https://phabricator.services.mozilla.com/D17524
--HG--
extra : moz-landing-system : lando