I wasn't able to produce a situation in which this change matters, so
I'm not certain that it's necessary, but it seems to be the correct
thing to do given the problem fixed in nsGfxScrollFrame.cpp.
Differential Revision: https://phabricator.services.mozilla.com/D31864
--HG--
extra : moz-landing-system : lando
The work for the antecedent patch led me to stumble on a problem where
we were not correctly stopping autoscroll. This was also due to a
renderroot mismatch, which this patch addresses. The call comes through
nsBaseWidget no matter what, it seems, so using mWrRootId.mRenderRoot
seems to be incorrect. I couldn't see a more elegant fix than this.
Differential Revision: https://phabricator.services.mozilla.com/D31863
--HG--
extra : moz-landing-system : lando
There's two things going on here. 1) nsGfxScrollFrame is getting the
wrong renderroot, because it's not correctly recursing up the frame
tree. 2) Hiding behind that problem is that if we do correctly assign
the renderroot, we end up blocking on both render roots updating if
we don't, say, have a horizontal scroll option, because that leaves
us with a wr::RenderRoot::Default. 2.1) We then still end up blocking
on the default renderroot because we initialize the selector with
WebRenderBridgeParent's mRenderRoot.
Differential Revision: https://phabricator.services.mozilla.com/D31858
--HG--
extra : moz-landing-system : lando
This patch fixes two issues with blob images + new picture caching.
1) The logic that determines a conservative set of visible tiles
for tiled / blob images was no longer correct. It was relying
on the bounds of a single tile to build the conservative rect.
Instead, take the overall primitive world bounds and derive a
conservative set of visible tiles from this.
2) The logic to detect if an image was dirty was incorrect, and
somewhat error prone. It now maintains a set of dirty images
that have been requested. The image key dependencies are then
checked during the tile cache post_update step.
Differential Revision: https://phabricator.services.mozilla.com/D35126
--HG--
extra : moz-landing-system : lando
The test still fails frequently on non-WR; we must still be missing something.
Differential Revision: https://phabricator.services.mozilla.com/D35155
--HG--
extra : moz-landing-system : lando
These now work on actual devices now, but must remain disabled on the
emulator until bug 1555002 is fixed.
Differential Revision: https://phabricator.services.mozilla.com/D34619
--HG--
extra : moz-landing-system : lando
There appears to be a driver bug on android 8 and older where it does
not render correctly.
Differential Revision: https://phabricator.services.mozilla.com/D34618
--HG--
extra : moz-landing-system : lando
When using an advanced blend equation, fragment shader output must be
marked with a matching layout qualifier. Not doing so was causing
subsequent glDraw* operations to fail.
This patch adds a new shader feature, WR_FEATURE_ADVANCED_BLEND, which
requires the necessary extension and adds the qualifier. Variants of
the brush_image shaders are created with this feature, and are used
whenever a brush_image shader is requested for BlendMode::Advanced.
Differential Revision: https://phabricator.services.mozilla.com/D34617
--HG--
extra : moz-landing-system : lando
clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).
gfx/gl/GfxTexturesReporter.cpp:22:13 [-Wmissing-prototypes] no previous prototype for function 'FormatBytes'
gfx/gl/GLContextFeatures.cpp:534:6 [-Wmissing-prototypes] no previous prototype for function 'IsFeaturePartOfProfileVersion'
Depends on D20263
Differential Revision: https://phabricator.services.mozilla.com/D20264
--HG--
extra : moz-landing-system : lando
box-sizing changes seem a bit less likely to be optimized away in the near
future...
Differential Revision: https://phabricator.services.mozilla.com/D35161
--HG--
extra : moz-landing-system : lando
Bug 1558106 changed how picture caching works. With it, WebRenderTextureHostWrapper does not work as before. Then disable it for now.
Differential Revision: https://phabricator.services.mozilla.com/D34991
--HG--
extra : moz-landing-system : lando
The root displayport has some assumptions built into it about being positioned at
the origin and sized to the composition bounds that seem like they only apply to
the cross process root content document. This commit changes us to avoid taking
this code path for OOP-iframes.
Differential Revision: https://phabricator.services.mozilla.com/D34527
--HG--
extra : rebase_source : 026bb84b7ad086f508228620d19d9f459f28bf1d
This makes the assertion failure from bug 1553045 reproduce with WR enabled.
Differential Revision: https://phabricator.services.mozilla.com/D34625
--HG--
extra : moz-landing-system : lando
There are a number of failures, for which I've filed separate bugs.
And then a lot of fuzziness. I manually inspected the reftest analyzer
results on try pushes to distinguish failures vs fuzziness.
Depends on D34537
Differential Revision: https://phabricator.services.mozilla.com/D34538
--HG--
extra : moz-landing-system : lando
The tile cache is 352 bytes large and in the majority of cases picture primitives don't have one, so this saves a few KB of ram in typical pages reduces the likely hood of hitting OOM crashes while growing the primitives vector.
Differential Revision: https://phabricator.services.mozilla.com/D34346
--HG--
extra : moz-landing-system : lando