Граф коммитов

1403 Коммитов

Автор SHA1 Сообщение Дата
Glenn Watson b4aecd470f Bug 1670842 - Pt 1 - Remove option to disable picture caching. r=jnicol
This patch removes the public API and high level logic for
disabling picture caching for debugging and pinch-zoom in
some cases.

Follow up patches will remove and simplify the internal parts
of WR that remain to handle the disabled picture caching
code path.

Differential Revision: https://phabricator.services.mozilla.com/D93446
2020-10-14 06:06:45 +00:00
Kartikaya Gupta 9ecba1647e Bug 1667124 - Add a reftest that captures improper picture caching behaviour, in at least some of the cases. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D92944
2020-10-09 14:47:02 +00:00
Bogdan Tara 630b883088 Backed out 2 changesets (bug 1667124) for reftest failures CLOSED TREE
Backed out changeset 74b10613b8f0 (bug 1667124)
Backed out changeset 02bb35f3059d (bug 1667124)
2020-10-09 06:10:08 +03:00
Kartikaya Gupta 6bc75e8383 Bug 1667124 - Add a reftest that captures improper picture caching behaviour, in at least some of the cases. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D92944
2020-10-08 20:20:55 +00:00
Jeff Muizelaar 7b09b731d0 Bug 1666455. Enable WebRender on higher refresh rates on non Intel. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D92615
2020-10-06 15:06:53 +00:00
Glenn Watson 0e562b9314 Bug 1651882 - Fix panic when casting large float to i32. r=nical
The test case in this bug has a perspective transform that results
in a readback rect for a mix-blend-mode at a very large origin.

Previous code would cast this to an i32, which was causing a
panic inside euclid.

However, the `readbacks` array is no longer even used by the
renderer, so a very simple fix in this case is to remove that
array altogether, which removes the cast code that panics.

Differential Revision: https://phabricator.services.mozilla.com/D92162
2020-10-05 21:37:34 +00:00
Andrew Osmond e1f1a27e9c Bug 1668360 - Invert WebRender feature config to be enabled by default. r=jrmuizel
This has no functional change beyond our telemetry reporting. It inverts
our feature configuration such that we get an explicit reason why we
don't turn on some features, instead of just "disabled by default."

Differential Revision: https://phabricator.services.mozilla.com/D91980
2020-10-01 14:22:33 +00:00
Simon Giesecke de7bab0f06 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00
Jeff Muizelaar 0f0c9a9a0c Bug 1666057. Convert qcms to rust. r=aosmond
The conversion was done with c2rust and then manually cleaned up some.
There's still lots of unsafe code remaining but I'd rather do the rest
of the cleanup in-tree so that it's easier to catch and revert
regressions.

I've dropped support for SSE1 (Firefox requires SSE2) and Altivec
(not wanting to deal with fixing Rust's Altivec support).

transform_neon.rs manually implements a bunch of intrinsics, this
can be fixed when we can depend on Rust 1.48.

The fuzz target is changed to a cargo-fuzz target.

Some of the gtests are moved to Rust.

Differential Revision: https://phabricator.services.mozilla.com/D90782
2020-09-21 18:40:51 +00:00
Joel Maher 5f474b909b Bug 1658057 - Adjust reftest expectations for windows reftests on hardware. r=bc
Adjust reftest expectations for windows reftests on hardware

Differential Revision: https://phabricator.services.mozilla.com/D86450
2020-08-11 21:25:03 +00:00
Dzmitry Malyshau 9712c504bc Bug 1652750 - Add WR stack overflow test r=kats
adds the gfx crashtest that kats produced

Differential Revision: https://phabricator.services.mozilla.com/D85875
2020-08-05 20:07:03 +00:00
Matt Woodrow b31970d899 Bug 1656813 - Annotate fuzzy reftest differences. r=lsalzman
These are all subtle differences that aren't visible, many are actually less fuzzy than with normal WR.

Differential Revision: https://phabricator.services.mozilla.com/D85715
2020-08-05 02:19:08 +00:00
Cosmin Sabou 38cd82e194 Backed out 8 changesets (bug 1656813) for reftest failures on bipbop_300_215kbps.mp4.lastframe.html.
Backed out changeset 92e0209dc7f1 (bug 1656813)
Backed out changeset 1b3842f2ca27 (bug 1656813)
Backed out changeset efed1b35fe47 (bug 1656813)
Backed out changeset d1c313ebe358 (bug 1656813)
Backed out changeset 4d6a3bf61345 (bug 1656813)
Backed out changeset 060254b3ad73 (bug 1656813)
Backed out changeset 37e5e5e6593a (bug 1656813)
Backed out changeset 12c0e9554a5f (bug 1656813)
2020-08-05 04:52:20 +03:00
Matt Woodrow 1885d56be1 Bug 1656813 - Annotate fuzzy reftest differences. r=lsalzman
These are all subtle differences that aren't visible, many are actually less fuzzy than with normal WR.

Differential Revision: https://phabricator.services.mozilla.com/D85715
2020-08-05 00:54:23 +00:00
Sylvestre Ledru 843f943758 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D85678
2020-08-02 15:29:15 +00:00
Jeremy Ir 20235b390f Bug 1531609 part 1 - Rename overflow:-moz-hidden-unscrollable to overflow:clip. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D73716
2020-08-01 01:56:58 +00:00
Butkovits Atila cc95b93cba Backed out 3 changesets (bug 1635473, bug 1531609) for reftest failures. CLOSED TREE
Backed out changeset 1e7b32808be8 (bug 1531609)
Backed out changeset e64a61869cdb (bug 1531609)
Backed out changeset 6da37d7f6dd3 (bug 1635473)
2020-07-31 23:56:54 +03:00
Jeremy Ir 92b8f0f77a Bug 1531609 part 1 - Rename overflow:-moz-hidden-unscrollable to overflow:clip. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D73716
2020-07-31 16:40:48 +00:00
Nicolas Silva 54146b4c3e Bug 1650990 - Add the provided test case as a crashtest. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D84157
2020-07-20 13:03:41 +00:00
Nicolas Silva e503589521 Bug 1645223 - Disable WebRender if XRender is enabled. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D83655
2020-07-16 12:08:22 +00:00
Kartikaya Gupta 7cdb8134fb Bug 1650989 - Abort mask creation instead of crashing when the size is too large. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D82809
2020-07-11 00:04:43 +00:00
Daosheng Mu 5d6d5bb5f5 Bug 1650714 - Part 3: Add Matrix rotate transform unit tests. r=kip,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D83008
2020-07-10 22:01:11 +00:00
Kartikaya Gupta bc6c7c9f34 Bug 1650081 - Use scrollbar-width:none instead of overflow:hidden to hide scrollbars. r=botond
Instead of using overflow:hidden on the body to hide the scrollbar, this
patch sets scrollbar-width:none on the html element. In some cases
overflow:hidden is set on non-root scrollers (i.e. div elements); in those
cases it is replaced by overflow:scroll;scrollbar-width:none to get an
equivalent effect.

One test had a pre-existing visible scrollbar on a nested scrollframe, but
which started failing with a small fuzz difference. I left the scrollbar as-is
and added an annotation to the reftest.list file.

Note that this only updates the tests that use reftest-async-scroll as those
were the cases that were easily detectable, and causing problems with the
apz.allow_zooming=true pref.

Differential Revision: https://phabricator.services.mozilla.com/D82032
2020-07-03 19:50:11 +00:00
Mihai Alexandru Michis fb3212f7cc Backed out changeset bd58cdafe3c9 (bug 1650081) for causing failures in offscreen-prerendered-active-opacity.html
CLOSED TREE
2020-07-03 22:30:50 +03:00
Kartikaya Gupta 3bc44b4a60 Bug 1650081 - Use scrollbar-width:none instead of overflow:hidden to hide scrollbars. r=botond
Instead of using overflow:hidden on the body to hide the scrollbar, this
patch sets scrollbar-width:none on the html element. In some cases
overflow:hidden is set on non-root scrollers (i.e. div elements); in those
cases it is replaced by overflow:scroll;scrollbar-width:none to get an
equivalent effect.

One test had a pre-existing visible scrollbar on a nested scrollframe, but
which started failing with a small fuzz difference. I left the scrollbar as-is
and added an annotation to the reftest.list file.

Note that this only updates the tests that use reftest-async-scroll as those
were the cases that were easily detectable, and causing problems with the
apz.allow_zooming=true pref.

Differential Revision: https://phabricator.services.mozilla.com/D82032
2020-07-03 16:07:51 +00:00
Glenn Watson a2c3c4d10b Bug 1647940 - Fix panic when compositor video surface is not requested. r=nical
If an image is promoted to a compositor surface, but subsequently
clipped (by invalid clip rect) then we skip requesting the image
but still try to resolve the surface when building batches.

This patch reorders the primitive pass so that any decisions about
dropping a primitive from the visible list are made before the
prim dependencies (and compositor surfaces) are updated.

Differential Revision: https://phabricator.services.mozilla.com/D81928
2020-07-02 09:16:17 +00:00
Glenn Watson 1628e0582a Bug 1647862 - Fix panic when casting large rects to i32. r=Bert
In various parts of the picture and mask code, we were casting
the `clipped` rect to i32 (after rounding out). However, this
can cause overflow panics when the origin of the rect is too big.

Instead, treat the origin as f32 (which it was generally being
converted to anyway), and only cast the size part to be i32 as
required. This is safe since we know that the size has been
clipped to the visible screen, so will always be safe to cast
to i32.

Differential Revision: https://phabricator.services.mozilla.com/D80968
2020-06-28 22:00:56 +00:00
Cosmin Sabou 53dddceaa0 Backed out changeset ec2d3d359743 (bug 1647862) for refetest failures on css-simple-styling.html. CLOSED TREE 2020-06-26 07:58:54 +03:00
Glenn Watson 29c3ca7449 Bug 1647862 - Fix panic when casting large rects to i32. r=Bert
In various parts of the picture and mask code, we were casting
the `clipped` rect to i32 (after rounding out). However, this
can cause overflow panics when the origin of the rect is too big.

Instead, treat the origin as f32 (which it was generally being
converted to anyway), and only cast the size part to be i32 as
required. This is safe since we know that the size has been
clipped to the visible screen, so will always be safe to cast
to i32.

Differential Revision: https://phabricator.services.mozilla.com/D80968
2020-06-25 23:42:07 +00:00
Cosmin Sabou 6787ccf9b2 Backed out changeset 4114f7f22643 (bug 1647862) for causing wrench bustages. CLOSED TREE 2020-06-26 00:54:10 +03:00
Glenn Watson 0e14b7509e Bug 1647862 - Fix panic when casting large rects to i32. r=Bert
In various parts of the picture and mask code, we were casting
the `clipped` rect to i32 (after rounding out). However, this
can cause overflow panics when the origin of the rect is too big.

Instead, treat the origin as f32 (which it was generally being
converted to anyway), and only cast the size part to be i32 as
required. This is safe since we know that the size has been
clipped to the visible screen, so will always be safe to cast
to i32.

Differential Revision: https://phabricator.services.mozilla.com/D80968
2020-06-25 19:49:04 +00:00
Daosheng Mu af1368e7aa Bug 1602072 - Add a gfxInfo flag determine Firefox is embedded by FxR for telemetry. r=thomasmo,chutten,froydnj,jrmuizel,geckoview-reviewers,rbarker,snorp
Differential Revision: https://phabricator.services.mozilla.com/D56233
2020-06-25 17:22:20 +00:00
Markus Stange c5cf53e63b Bug 1642603 - Make TransformAndClipBounds stop discarding the corner positions of empty rectangles. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D79582
2020-06-17 18:54:46 +00:00
Gijs Kruitbosch 222e2d1158 Bug 1644863 - fix trailing whitespace in cross-tree tests, r=emilio,marionette-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D79202
2020-06-17 22:45:31 +00:00
Jeff Gilbert 4232c2c466 Bug 1632249 - Replace GLContextProvider::CreateOffscreen with GLContext::CreateOffscreenDefaultFb. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D79390
2020-06-15 18:26:12 +00:00
Jeff Gilbert a97c615de2 Bug 1632249 - Support compositing out-of-process WebGL. r=handyman,lsalzman,nical,geckoview-reviewers,agi,imanol
* Majorly simplity CanvasRenderer
* Replace GLScreenBuffer with trivial GLSwapChain
* Use descriptor structs so that future SharedSurface changes aren't so painful
  to propagate
* Mortgage/strip out more OffscreenCanvas code for now

Differential Revision: https://phabricator.services.mozilla.com/D75055
2020-06-15 18:25:55 +00:00
Dorel Luca 255f146f14 Backed out 7 changesets (bug 1632249) for Gtest perma chrash in [@ mozilla::BlockingResourceBase::CheckAcquire()]. CLOSED TREE
Backed out changeset 4ff99aab3ee8 (bug 1632249)
Backed out changeset d5b7fe789001 (bug 1632249)
Backed out changeset 64fbb616a0f3 (bug 1632249)
Backed out changeset 6f19f43e0a0b (bug 1632249)
Backed out changeset 073302d26c5e (bug 1632249)
Backed out changeset 7c94d37c446e (bug 1632249)
Backed out changeset 204b899f436d (bug 1632249)
2020-06-11 19:44:20 +03:00
Jeff Gilbert cf3c8fedea Bug 1632249 - Support compositing out-of-process WebGL. r=handyman,lsalzman,nical,geckoview-reviewers,agi,imanol
* Majorly simplity CanvasRenderer
* Replace GLScreenBuffer with trivial GLSwapChain
* Use descriptor structs so that future SharedSurface changes aren't so painful
  to propagate
* Mortgage/strip out more OffscreenCanvas code for now

Differential Revision: https://phabricator.services.mozilla.com/D75055
2020-06-11 06:37:35 +00:00
Mihai Alexandru Michis 59ad7ed333 Backed out 6 changesets (bug 1632249) for causing bustages in CanvasRenderingContext2D.cpp
CLOSED TREE

Backed out changeset c93972b05d4f (bug 1632249)
Backed out changeset 04f5127c85d5 (bug 1632249)
Backed out changeset b15d91e64a25 (bug 1632249)
Backed out changeset 71ad2ed8e9ba (bug 1632249)
Backed out changeset 6e9a89ead3a5 (bug 1632249)
Backed out changeset dd00e2da3a0f (bug 1632249)
2020-06-11 02:43:35 +03:00
Jeff Gilbert 9b09e54345 Bug 1632249 - Support compositing out-of-process WebGL. r=handyman,lsalzman,nical,geckoview-reviewers,agi,imanol
* Majorly simplity CanvasRenderer
* Replace GLScreenBuffer with trivial GLSwapChain
* Use descriptor structs so that future SharedSurface changes aren't so painful
  to propagate
* Mortgage/strip out more OffscreenCanvas code for now

Differential Revision: https://phabricator.services.mozilla.com/D75055
2020-06-10 22:21:02 +00:00
Dorel Luca 7289b66d6f Backed out 4 changesets (bug 1632249) for Build bustages and mda failures. CLOSED TREE
Backed out changeset cdaa8a4e9e36 (bug 1632249)
Backed out changeset 9ff26bcc580c (bug 1632249)
Backed out changeset 16d84439756f (bug 1632249)
Backed out changeset bbfe23c61add (bug 1632249)
2020-06-09 03:19:48 +03:00
Jeff Gilbert de6377896c Bug 1632249 - Support compositing out-of-process WebGL. r=handyman,lsalzman,nical,geckoview-reviewers,agi,imanol
* Majorly simplity CanvasRenderer
* Replace GLScreenBuffer with trivial GLSwapChain
* Use descriptor structs so that future SharedSurface changes aren't so painful
  to propagate
* Mortgage/strip out more OffscreenCanvas code for now

Differential Revision: https://phabricator.services.mozilla.com/D75055
2020-06-08 20:34:15 +00:00
Glenn Watson 0cc2ef2ac9 Bug 1641751 - Part 3 - Refactor some texture cache code for future eviction changes. r=Bert,kvark
* Maintain a running total of bytes allocated in both standalone and
  shared cache regions. This is used as a threshold to know when to
  force a mid-frame eviction. Previously, as soon as the currently
  allocated set of shared textures were full, we'd force an eviction.
  This means that in typical use cases, we were forcing an eviction
  as soon as the texture cache is > 16 MB, which is inefficient.

* Separate out picture cache eviction from the normal cache eviction
  path. This will be important in the next patch which will change
  the eviction algorithm for all shared / standalone entries.

* Remove Eviction::Eager as a policy option for shared and standalone
  textures. As part of this, switch render task cache entries to use
  Eviction::Auto. This is a better option anyway, there is no real
  benefit to evicting render tasks as soon as possible - they should
  be expired based on usage, just as for normal cache entries.

Differential Revision: https://phabricator.services.mozilla.com/D77983
2020-06-05 00:53:17 +00:00
sotaro 33ee2a10f6 Bug 1637497 - Disable partial present dynamically when Dwm is disabled r=jrmuizel
Do full render with WebRender when Dwn is disabled. It could be done by RenderCompositorANGLE::RequestFullRender().

Back out  Bug 1638469. It disables WebRender during starting if Dwm is disabled. But Dwm is enabled/disabled dynamically. And we do not want to disable WebRender in this case.

Differential Revision: https://phabricator.services.mozilla.com/D77221
2020-06-01 18:39:50 +00:00
Andrew Osmond 5a41ea33e0 Bug 1641510 - Ensure we allow WebRender on beta/release for 60 Hz monitors. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D77234
2020-05-28 13:24:29 +00:00
Lee Salzman f99ed95040 Bug 1640401 - add crashtest for font sanitization. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D76612
2020-05-23 23:55:16 +00:00
Nicolas Silva 6c9aadb836 Bug 1239292 - Remove the multi-threaded job scheduler. r=jrmuizel
CLOSED TREE

Differential Revision: https://phabricator.services.mozilla.com/D76027
2020-05-20 20:04:05 +00:00
Mihai Alexandru Michis 21be705de1 Backed out changeset 8999f97966d2 (bug 1239292) for causing rs bustages.
CLOSED TREE
2020-05-22 20:05:24 +03:00
Nicolas Silva 77f659bffc Bug 1239292 - Remove the multi-threaded job scheduler. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D76027
2020-05-20 20:04:05 +00:00
Glenn Watson 5be60824bc Bug 1637953 - Fix picture caching with redundant nested scroll roots r=Bert,jrmuizel
Some pages created nesting levels of scroll roots where the outer
scroll frames are redundant (the scrollable size is zero if the
content rect is the same as the frame rect).

In these cases, it is of no benefit to select these as a scroll
root for picture cache tiles.

Differential Revision: https://phabricator.services.mozilla.com/D75451
2020-05-21 23:11:14 +00:00