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

41286 Коммитов

Автор SHA1 Сообщение Дата
Jon Bauman bbd6119d94 Bug 1723253 - qcms: Clippy/costmetic changes. r=jrmuizel
Clippy/costmetic changes

Differential Revision: https://phabricator.services.mozilla.com/D121458
2021-08-05 05:10:37 +00:00
Robert Mader 02ec3a3ab0 Bug 1702546 - Update GLConsts.h, r=jgilbert
This is required for D110604

Differential Revision: https://phabricator.services.mozilla.com/D121704
2021-08-04 17:46:57 +00:00
Bob Owen f8a38951a3 Bug 1711545 p2: Don't uninitialize COM in gfxWindowsPlatform when win32k is locked down. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D121730
2021-08-04 15:02:42 +00:00
Bob Owen a231e1bc6d Bug 1711545: Don't attempt to initialize COM in gfxWindowsPlatform when win32k is locked down. r=jrmuizel
This also stops registering GPU memory reporters, because they should no longer
be relevant with win32k locked down.

Differential Revision: https://phabricator.services.mozilla.com/D121721
2021-08-04 14:04:04 +00:00
Jonathan Kew 0ca7fbff51 Bug 1721127 - Apply win32 printing surface fix from https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/228. r=jrmuizel
(Updated patch following discussion with @psychon/@ajohnson in the upstream cairo MR.)

Differential Revision: https://phabricator.services.mozilla.com/D121602
2021-08-04 12:56:48 +00:00
Jonathan Kew 9c97d0c7bc Bug 1722300 - patch 4 - Implement internal destinations when generating PDF output through cairo. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D120960
2021-08-04 12:52:38 +00:00
Jonathan Kew aec1a8ca85 Bug 1722300 - patch 3 - Add basic support for internal named destinations when generating PDF output via cairo-quartz-surface. r=jrmuizel
Like the earlier support for the Link tag, this is a minimal version
that just implements the features we actually use.

Differential Revision: https://phabricator.services.mozilla.com/D121240
2021-08-04 12:52:37 +00:00
Jonathan Kew c8767e7306 Bug 1722300 - patch 2 - Pull in cairo MR "pdf links: fix forward references to dest names with 'internal' flag". r=jrmuizel
This is https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/220, required so that
we can use the 'internal' attribute when generating link destinations.

Differential Revision: https://phabricator.services.mozilla.com/D121239
2021-08-04 12:52:37 +00:00
Jonathan Kew c0b0f4fc91 Bug 1722300 - patch 1 - Pull recent PDF fixes/enhancements from upstream cairo (master branch). r=jrmuizel
In particular this includes the changes from cairo MRs

  https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/197 (pdf-object-streams)
  https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/213 (floating-point glyph widths)

The object-stream support gives us significantly more compact PDF output.

Differential Revision: https://phabricator.services.mozilla.com/D121238
2021-08-04 12:52:36 +00:00
Robert Mader 7aea8e97e7 Bug 1720375 - Restructure surface pool into a buffer pool,r=stransky,gfx-reviewers,lsalzman
Note: Sorry in advance that this patch is so big. Unfortunately
splitting it up would create lots of redundant changes.
This should be the last big refactoring for the Wayland compositor
backend for now.

Up until now SurfacePoolWayland was a pool of actual `wl_surface`s,
as before bug 1718569 we had no direct access to `wl_buffer`s when
using EGL. However, the way `SurfacePoolCA` manages native surfaces
is closer to what in Wayland terminology would be a buffer pool:
buffers are heavy-weight and expansive to allocate, while
`wl_surface` objects are cheap to recreate.

So instead of having a pool of surfaces, each of them having its
own pool of buffers, make `wl_surface`s part of tiles and make
`SurfacePoolWayland` manage `wl_buffer`s (in the form of SHM- or
DMABuf buffers). This will allow us to share buffers (especially
depth buffers) more efficiently, reducing VRAM usage and allocation
times.
Apart from that it will also simplify our tile management logic.
Most importantly, we'll need to reorder `wl_surface`s less often and
less complex (no `place_below` the parent surface) and can also drop
reattaching subsurfaces to compositors. Especially the former will
likely decrease CPU time in compositors.

Overall this patch makes `NativeLayerWayland` behave more like
`NativeLayerCA` while taking in lessons learned from
`WindowSurfaceWaylandMB`.

Differential Revision: https://phabricator.services.mozilla.com/D119993
2021-08-04 12:43:21 +00:00
Marian-Vasile Laza e954091acf Backed out 2 changesets (bug 1720965) for causing bustages on nsContentUtils.cpp. CLOSED TREE
Backed out changeset 2ed56ddce45a (bug 1720965)
Backed out changeset 3531708ab54e (bug 1720965)
2021-08-04 03:14:29 +03:00
Glenn Watson e8dde5e24e Bug 1723429 - Remove snapping from shadow primitive offsets r=aosmond,gfx-reviewers
The pending primitives have already been snapped, so this only
has an effect if the shadow offset is fractional. If that's the
case, it's probably reasonable to either (a) not snap at all,
or (b) round the shadow offset earlier.

Differential Revision: https://phabricator.services.mozilla.com/D121500
2021-08-03 20:36:04 +00:00
Jeff Gilbert fba93f87af Bug 1720965 - Give up on move semantics for Shmem for now. r=nika
Don't pretend that it's not a copy, as this causes readers to get the
wrong impression of how it behaves.

Differential Revision: https://phabricator.services.mozilla.com/D120124
2021-08-03 20:06:55 +00:00
Jamie Nicol e9869b1c8f Bug 1720169 - Pack instance data for multiple draw calls in to large fixed-size VBOs. r=gfx-reviewers,nical
Currently each VAO owns its own VBO for per-instance array data. Prior
to submitting each draw call that instance buffer is orphaned and a
new one allocated at exactly the right size to contain the batch's
data. This frequent reallocation appears to cause a rendering glitch
on some Adreno 4xx devices, likely due to a bug in the driver's
internal allocation/recycling code. It can also be expensive on some
devices, as the drivers struggle with the overheads of allocating many
small buffers much more than the cost of actually transferring the
data.

This patch makes it so that the VAOs no longer own an instance buffer
each. Instead, they share a pool of buffers. This pool always
allocates buffers large enough to hold the largest batch we
allow. update_vao_instances() now writes data to the pool's current
buffer until that buffer is full, and then either an old one will be
recycled or a new one allocated. After writing to the buffer it must
be bound to the VAO at the correct offset, and then the draw call is
submitted.

By manually managing the buffer lifecycles ourselves we avoid the
glitches on Adreno 4xx, and also improve performance on some devices.

Differential Revision: https://phabricator.services.mozilla.com/D121104
2021-08-03 15:47:35 +00:00
Dorel Luca 585240571a Backed out 2 changesets (bug 1717151) for Crashtest failures in dom/media/gmp/GMPServiceParent.cpp. CLOSED TREE
Backed out changeset adc225dcc004 (bug 1717151)
Backed out changeset 0ca0354e2a44 (bug 1717151)
2021-08-03 01:56:11 +03:00
Jeff Gilbert 002654edda Bug 1717151 - Move EGL_EXT_device_query from device exts to client exts. r=lsalzman
This moved due to a fix in ANGLE 56663dbfa78 on 2020-nov-19.

Differential Revision: https://phabricator.services.mozilla.com/D121561
2021-08-02 19:10:37 +00:00
Jeff Gilbert 6c765664f2 Bug 1717151 - Update ANGLE to chromium/4515. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D121560
2021-08-02 19:10:33 +00:00
Jonathan Kew c899d04fbf Bug 1721223 - Ensure platform font fallback can find the macOS system font, even though it is omitted from the shared font list. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D120458
2021-08-02 12:43:46 +00:00
Alexandru Michis 326297bd47 Backed out changeset e41bfdf79fb8 (bug 1665476) for causing windows mochitest failures in test_windowminmaxsize.xhtml
CLOSED TREE
2021-08-02 02:14:52 +03:00
Emilio Cobos Álvarez 275707a51b Bug 1665476 - Remove nsRootBoxFrame to unify background propagation between XUL and non-XUL documents. r=layout-reviewers,mats
It's unused on mozilla-central, and Thunderbird can just use the canvas
frame as regular (X)HTML documents, so just use a canvas frame instead
of an nsRootBoxFrame for XUL as well.

nsRootBoxFrame was needed because of various XUL-specific things like
tooltips and so on lived there. But with the move away from XUL, that
functionality has been added to nsCanvasFrame already, behind a
principal check instead.

This also allows simplifying our background propagation setup, which was
only half-working for XUL documents (this bug is a consequence of that).

With this, most of the callers of nsCSSRendering::IsCanvasFrame can go.
They're only two of the frames that would return true for that that
actually paint backgrounds (nsCanvasFrame and nsRootBoxFrame), so the
codepaths in display list building and painting can just check
frame->IsCanvasFrame() instead.

The remaining caller to that function is
nsContainerFrame::SyncWindowProperties, and the change is also legit, in
the sense that the only thing SyncWindowProperties() really cares about
is propagating the max/min-width constraints from the root element's
style to the view/widget, and the only frame that would return true from
IsCanvasFrame and have a view is the viewport frame which is the root of
the frame tree.

Differential Revision: https://phabricator.services.mozilla.com/D90846
2021-08-01 21:57:28 +00:00
Jonathan Kew 4e4c5fe35f Bug 1722689 - Don't clamp minimum font size on macOS to 1 pixel; allow really tiny sizes (which may subsequently be scaled). r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D121456
2021-08-01 20:06:38 +00:00
Lee Salzman 368b3baa4c Bug 1719232 - Simplify check for empty valid rect. r=jrmuizel
We know from testing that the device valid rect itself can sometimes
be empty which produces the symptom that the compositor valid rect
is empty after quantization to i32. So it is sufficient to just check
if that device rect is empty, rather than having to use get_surface_rect
to reproduce the math downstream that produces the compositor valid
rect.

Differential Revision: https://phabricator.services.mozilla.com/D121453
2021-07-31 13:27:24 +00:00
Kashav Madan f090aabc96 Bug 1718761 - Move {Start,Stop}ApzAutoscroll to CanonicalBrowsingContext, r=Gijs,hiro
This accomplishes 2 things:

1. Allows us to directly fetch the layersId of the process that is
   autoscrolling, which avoids having to fetch it in AutoScrollChild and pass it
   around. This fixes autoscrolling out-of-process frames with Fission enabled.
2. Makes it easier to handle autoscrolling of in-process documents, since that
   can't happen through PBrowser.

Differential Revision: https://phabricator.services.mozilla.com/D120766
2021-07-31 01:39:09 +00:00
Sandor Molnar ca94997814 Backed out changeset 4593c3d66951 (bug 1718761) for causing clang build bustages. CLOSED TREE 2021-07-31 03:44:56 +03:00
Kashav Madan c84c4eb9d7 Bug 1718761 - Move {Start,Stop}ApzAutoscroll to CanonicalBrowsingContext, r=Gijs,hiro
This accomplishes 2 things:

1. Allows us to directly fetch the layersId of the process that is
   autoscrolling, which avoids having to fetch it in AutoScrollChild and pass it
   around. This fixes autoscrolling out-of-process frames with Fission enabled.
2. Makes it easier to handle autoscrolling of in-process documents, since that
   can't happen through PBrowser.

Differential Revision: https://phabricator.services.mozilla.com/D120766
2021-07-30 23:39:32 +00:00
Lee Salzman a0e4108ae9 Bug 1722858 - Use a crossbeam channel for glyph rasterization results. r=jrmuizel
The mpsc channel used for reporting glyph rasterization results does not implement
Sync/Send, so the recommended usage pattern is to wrap the channel endpoints in a
Mutex to safeguard them. This, however, turns out to be slow in some cases. Instead,
just always use a crossbeam channel which is thread-safe to begin with and does not
require a Mutex.

Differential Revision: https://phabricator.services.mozilla.com/D121244
2021-07-30 15:05:59 +00:00
Andrew Osmond ad79e705fd Bug 1722913 - Port remaining tests on Linux to WebRender. r=jmaher,perftest-reviewers,AlexandruIonescu
This corrects a number of tests that got disabled in the transition, and
a few that we never moved over. It also disables the non-WebRender
versions of many tests.

autoland

--- target_task_set@6d262ed
+++ target_task_set@ao_ci_linux_tsan
+test-linux1804-64-asan-qr/opt-marionette-fis-e10s
+test-linux1804-64-asan-qr/opt-mochitest-plain-e10s
+test-linux1804-64-asan-qr/opt-mochitest-plain-fis-e10s
+test-linux1804-64-asan-qr/opt-mochitest-plain-gpu-e10s
+test-linux1804-64-asan-qr/opt-reftest-fis-e10s
+test-linux1804-64-asan-qr/opt-test-verify-gpu-e10s
-test-linux1804-64-asan/opt-cppunit-1proc
-test-linux1804-64-asan/opt-firefox-ui-functional-local-e10s
-test-linux1804-64-asan/opt-firefox-ui-functional-remote-e10s
-test-linux1804-64-asan/opt-gtest-1proc
-test-linux1804-64-asan/opt-jsreftest-e10s
-test-linux1804-64-asan/opt-marionette-e10s
-test-linux1804-64-asan/opt-marionette-fis-e10s
-test-linux1804-64-asan/opt-mochitest-a11y-1proc
-test-linux1804-64-asan/opt-mochitest-chrome-1proc
-test-linux1804-64-asan/opt-mochitest-chrome-gpu-e10s
-test-linux1804-64-asan/opt-mochitest-plain-e10s
-test-linux1804-64-asan/opt-mochitest-plain-fis-e10s
-test-linux1804-64-asan/opt-mochitest-plain-gpu-e10s
-test-linux1804-64-asan/opt-mochitest-remote-e10s
-test-linux1804-64-asan/opt-mochitest-webgl1-core-e10s
-test-linux1804-64-asan/opt-mochitest-webgl1-core-gli-e10s
-test-linux1804-64-asan/opt-mochitest-webgl1-ext-e10s
-test-linux1804-64-asan/opt-mochitest-webgl1-ext-fis-gli-e10s
-test-linux1804-64-asan/opt-mochitest-webgl1-ext-gli-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-core-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-core-gli-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-ext-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-ext-fis-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-ext-fis-gli-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-ext-gli-e10s
-test-linux1804-64-asan/opt-reftest-fis-e10s
-test-linux1804-64-asan/opt-xpcshell-e10s
+test-linux1804-64-qr/debug-test-verify-gpu-e10s
+test-linux1804-64-qr/debug-test-verify-wpt-e10s
+test-linux1804-64-qr/debug-xpcshell-spi-nw-e10s
+test-linux1804-64-qr/opt-browser-screenshots-e10s
+test-linux1804-64-qr/opt-marionette-headless-e10s
+test-linux1804-64-qr/opt-marionette-headless-fis-e10s
+test-linux1804-64-qr/opt-test-verify-gpu-e10s
+test-linux1804-64-qr/opt-test-verify-wpt-e10s
-test-linux1804-64/debug-cppunit-1proc
-test-linux1804-64/debug-firefox-ui-functional-local-e10s
-test-linux1804-64/debug-firefox-ui-functional-remote-e10s
-test-linux1804-64/debug-gtest-1proc
-test-linux1804-64/debug-jsreftest-e10s
-test-linux1804-64/debug-marionette-e10s
-test-linux1804-64/debug-marionette-fis-e10s
-test-linux1804-64/debug-mochitest-a11y-1proc
-test-linux1804-64/debug-mochitest-chrome-1proc
-test-linux1804-64/debug-mochitest-chrome-gpu-e10s
-test-linux1804-64/debug-mochitest-plain-e10s
-test-linux1804-64/debug-mochitest-plain-gpu-e10s
-test-linux1804-64/debug-mochitest-remote-e10s
-test-linux1804-64/debug-mochitest-webgl1-core-e10s
-test-linux1804-64/debug-mochitest-webgl1-core-gli-e10s
-test-linux1804-64/debug-mochitest-webgl1-ext-e10s
-test-linux1804-64/debug-mochitest-webgl1-ext-gli-e10s
-test-linux1804-64/debug-mochitest-webgl2-core-e10s
-test-linux1804-64/debug-mochitest-webgl2-core-gli-e10s
-test-linux1804-64/debug-mochitest-webgl2-ext-e10s
-test-linux1804-64/debug-mochitest-webgl2-ext-gli-e10s
-test-linux1804-64/debug-test-verify-e10s
-test-linux1804-64/debug-test-verify-gpu-e10s
-test-linux1804-64/debug-test-verify-wpt-e10s
-test-linux1804-64/debug-xpcshell-e10s
-test-linux1804-64/debug-xpcshell-spi-nw-e10s
-test-linux1804-64/opt-browser-screenshots-e10s
-test-linux1804-64/opt-cppunit-1proc
-test-linux1804-64/opt-firefox-ui-functional-local-e10s
-test-linux1804-64/opt-firefox-ui-functional-remote-e10s
-test-linux1804-64/opt-gtest-1proc
-test-linux1804-64/opt-jsreftest-e10s
-test-linux1804-64/opt-marionette-e10s
-test-linux1804-64/opt-marionette-fis-e10s
-test-linux1804-64/opt-marionette-headless-e10s
-test-linux1804-64/opt-marionette-headless-fis-e10s
-test-linux1804-64/opt-mochitest-a11y-1proc
-test-linux1804-64/opt-mochitest-chrome-1proc
-test-linux1804-64/opt-mochitest-chrome-gpu-e10s
-test-linux1804-64/opt-mochitest-plain-e10s
-test-linux1804-64/opt-mochitest-plain-gpu-e10s
-test-linux1804-64/opt-mochitest-remote-e10s
-test-linux1804-64/opt-mochitest-webgl1-core-e10s
-test-linux1804-64/opt-mochitest-webgl1-core-gli-e10s
-test-linux1804-64/opt-mochitest-webgl1-ext-e10s
-test-linux1804-64/opt-mochitest-webgl1-ext-gli-e10s
-test-linux1804-64/opt-mochitest-webgl2-core-e10s
-test-linux1804-64/opt-mochitest-webgl2-core-gli-e10s
-test-linux1804-64/opt-mochitest-webgl2-ext-e10s
-test-linux1804-64/opt-mochitest-webgl2-ext-gli-e10s
-test-linux1804-64/opt-test-verify-e10s
-test-linux1804-64/opt-test-verify-gpu-e10s
-test-linux1804-64/opt-test-verify-wpt-e10s
-test-linux1804-64/opt-xpcshell-e10s

mozilla-central

--- target_task_set@6d262ed
+++ target_task_set@ao_ci_linux_tsan
+test-linux1804-64-asan-qr/opt-marionette-fis-e10s
+test-linux1804-64-asan-qr/opt-mochitest-plain-e10s
+test-linux1804-64-asan-qr/opt-mochitest-plain-fis-e10s
+test-linux1804-64-asan-qr/opt-mochitest-plain-gpu-e10s
+test-linux1804-64-asan-qr/opt-reftest-fis-e10s
-test-linux1804-64-asan/opt-cppunit-1proc
-test-linux1804-64-asan/opt-firefox-ui-functional-local-e10s
-test-linux1804-64-asan/opt-firefox-ui-functional-remote-e10s
-test-linux1804-64-asan/opt-gtest-1proc
-test-linux1804-64-asan/opt-jsreftest-e10s
-test-linux1804-64-asan/opt-marionette-e10s
-test-linux1804-64-asan/opt-marionette-fis-e10s
-test-linux1804-64-asan/opt-mochitest-a11y-1proc
-test-linux1804-64-asan/opt-mochitest-chrome-1proc
-test-linux1804-64-asan/opt-mochitest-chrome-gpu-e10s
-test-linux1804-64-asan/opt-mochitest-plain-e10s
-test-linux1804-64-asan/opt-mochitest-plain-fis-e10s
-test-linux1804-64-asan/opt-mochitest-plain-gpu-e10s
-test-linux1804-64-asan/opt-mochitest-remote-e10s
-test-linux1804-64-asan/opt-mochitest-webgl1-core-e10s
-test-linux1804-64-asan/opt-mochitest-webgl1-core-gli-e10s
-test-linux1804-64-asan/opt-mochitest-webgl1-ext-e10s
-test-linux1804-64-asan/opt-mochitest-webgl1-ext-fis-gli-e10s
-test-linux1804-64-asan/opt-mochitest-webgl1-ext-gli-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-core-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-core-gli-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-ext-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-ext-fis-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-ext-fis-gli-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-ext-gli-e10s
-test-linux1804-64-asan/opt-reftest-fis-e10s
-test-linux1804-64-asan/opt-xpcshell-e10s
+test-linux1804-64-ccov-qr/opt-cppunit-1proc
+test-linux1804-64-ccov-qr/opt-firefox-ui-functional-local-e10s
+test-linux1804-64-ccov-qr/opt-firefox-ui-functional-remote-e10s
+test-linux1804-64-ccov-qr/opt-gtest-1proc
+test-linux1804-64-ccov-qr/opt-jittest-1proc
+test-linux1804-64-ccov-qr/opt-jsreftest-e10s
+test-linux1804-64-ccov-qr/opt-marionette-e10s
+test-linux1804-64-ccov-qr/opt-mochitest-a11y-1proc
+test-linux1804-64-ccov-qr/opt-mochitest-chrome-1proc
+test-linux1804-64-ccov-qr/opt-mochitest-chrome-gpu-e10s
+test-linux1804-64-ccov-qr/opt-mochitest-plain-e10s
+test-linux1804-64-ccov-qr/opt-mochitest-plain-gpu-e10s
+test-linux1804-64-ccov-qr/opt-mochitest-remote-e10s
+test-linux1804-64-ccov-qr/opt-mochitest-webgl1-core-e10s
+test-linux1804-64-ccov-qr/opt-mochitest-webgl1-ext-e10s
+test-linux1804-64-ccov-qr/opt-mochitest-webgl2-core-e10s
+test-linux1804-64-ccov-qr/opt-mochitest-webgl2-ext-e10s
+test-linux1804-64-ccov-qr/opt-test-coverage-e10s
+test-linux1804-64-ccov-qr/opt-test-coverage-wpt-e10s
-test-linux1804-64-ccov/opt-cppunit-1proc
-test-linux1804-64-ccov/opt-firefox-ui-functional-local-e10s
-test-linux1804-64-ccov/opt-firefox-ui-functional-remote-e10s
-test-linux1804-64-ccov/opt-gtest-1proc
-test-linux1804-64-ccov/opt-jittest-1proc
-test-linux1804-64-ccov/opt-jsreftest-e10s
-test-linux1804-64-ccov/opt-marionette-e10s
-test-linux1804-64-ccov/opt-mochitest-a11y-1proc
-test-linux1804-64-ccov/opt-mochitest-chrome-1proc
-test-linux1804-64-ccov/opt-mochitest-chrome-gpu-e10s
-test-linux1804-64-ccov/opt-mochitest-plain-e10s
-test-linux1804-64-ccov/opt-mochitest-plain-gpu-e10s
-test-linux1804-64-ccov/opt-mochitest-remote-e10s
-test-linux1804-64-ccov/opt-mochitest-webgl1-core-e10s
-test-linux1804-64-ccov/opt-mochitest-webgl1-ext-e10s
-test-linux1804-64-ccov/opt-mochitest-webgl2-core-e10s
-test-linux1804-64-ccov/opt-mochitest-webgl2-ext-e10s
-test-linux1804-64-ccov/opt-test-coverage-e10s
-test-linux1804-64-ccov/opt-test-coverage-wpt-e10s
-test-linux1804-64-ccov/opt-xpcshell-e10s
+test-linux1804-64-ccov-qr/opt-xpcshell-e10s
+test-linux1804-64-qr/debug-xpcshell-spi-nw-e10s
+test-linux1804-64-shippable-qr/opt-browser-screenshots-e10s
+test-linux1804-64-shippable-qr/opt-marionette-headless-e10s
+test-linux1804-64-shippable-qr/opt-marionette-headless-fis-e10s
+test-linux1804-64-shippable-qr/opt-mochitest-plain-headless-e10s
+test-linux1804-64-shippable-qr/opt-mochitest-plain-headless-fis-e10s
+test-linux1804-64-shippable-qr/opt-talos-flex-e10s
-test-linux1804-64-shippable/opt-awsy-base-e10s
-test-linux1804-64-shippable/opt-awsy-e10s
-test-linux1804-64-shippable/opt-awsy-tp6-e10s
-test-linux1804-64-shippable/opt-browser-screenshots-e10s
-test-linux1804-64-shippable/opt-browsertime-firefox-youtube-playback-h264-sfr-e10s
-test-linux1804-64-shippable/opt-browsertime-firefox-youtube-playback-hfr-e10s
-test-linux1804-64-shippable/opt-browsertime-firefox-youtube-playback-vp9-sfr-e10s
-test-linux1804-64-shippable/opt-browsertime-firefox-youtube-playback-widevine-h264-sfr-e10s
-test-linux1804-64-shippable/opt-browsertime-firefox-youtube-playback-widevine-hfr-e10s
-test-linux1804-64-shippable/opt-browsertime-firefox-youtube-playback-widevine-vp9-sfr-e10s
-test-linux1804-64-shippable/opt-browsertime-tp6-essential-firefox-amazon-e10s
-test-linux1804-64-shippable/opt-browsertime-tp6-essential-firefox-bing-search-e10s
-test-linux1804-64-shippable/opt-browsertime-tp6-essential-firefox-cnn-e10s
-test-linux1804-64-shippable/opt-browsertime-tp6-essential-firefox-fandom-e10s
-test-linux1804-64-shippable/opt-browsertime-tp6-essential-firefox-google-slides-e10s
-test-linux1804-64-shippable/opt-browsertime-tp6-essential-firefox-instagram-e10s
-test-linux1804-64-shippable/opt-browsertime-tp6-essential-firefox-twitter-e10s
-test-linux1804-64-shippable/opt-browsertime-tp6-essential-firefox-wikipedia-e10s
-test-linux1804-64-shippable/opt-browsertime-tp6-essential-firefox-yahoo-mail-e10s
-test-linux1804-64-shippable/opt-cppunit-1proc
-test-linux1804-64-shippable/opt-firefox-ui-functional-local-e10s
-test-linux1804-64-shippable/opt-firefox-ui-functional-remote-e10s
-test-linux1804-64-shippable/opt-gtest-1proc
-test-linux1804-64-shippable/opt-jsreftest-e10s
-test-linux1804-64-shippable/opt-marionette-e10s
-test-linux1804-64-shippable/opt-marionette-fis-e10s
-test-linux1804-64-shippable/opt-marionette-headless-e10s
-test-linux1804-64-shippable/opt-marionette-headless-fis-e10s
-test-linux1804-64-shippable/opt-mochitest-a11y-1proc
-test-linux1804-64-shippable/opt-mochitest-chrome-1proc
-test-linux1804-64-shippable/opt-mochitest-chrome-gpu-e10s
-test-linux1804-64-shippable/opt-mochitest-plain-e10s
-test-linux1804-64-shippable/opt-mochitest-plain-gpu-e10s
-test-linux1804-64-shippable/opt-mochitest-plain-headless-e10s
-test-linux1804-64-shippable/opt-mochitest-plain-headless-fis-e10s
-test-linux1804-64-shippable/opt-mochitest-remote-e10s
-test-linux1804-64-shippable/opt-mochitest-webgl1-core-e10s
-test-linux1804-64-shippable/opt-mochitest-webgl1-core-gli-e10s
-test-linux1804-64-shippable/opt-mochitest-webgl1-ext-e10s
-test-linux1804-64-shippable/opt-mochitest-webgl1-ext-gli-e10s
-test-linux1804-64-shippable/opt-mochitest-webgl2-core-e10s
-test-linux1804-64-shippable/opt-mochitest-webgl2-core-gli-e10s
-test-linux1804-64-shippable/opt-mochitest-webgl2-ext-e10s
-test-linux1804-64-shippable/opt-mochitest-webgl2-ext-gli-e10s
-test-linux1804-64-shippable/opt-xpcshell-e10s
-test-linux1804-64/debug-cppunit-1proc
-test-linux1804-64/debug-firefox-ui-functional-local-e10s
-test-linux1804-64/debug-firefox-ui-functional-remote-e10s
-test-linux1804-64/debug-gtest-1proc
-test-linux1804-64/debug-jsreftest-e10s
-test-linux1804-64/debug-marionette-e10s
-test-linux1804-64/debug-marionette-fis-e10s
-test-linux1804-64/debug-mochitest-a11y-1proc
-test-linux1804-64/debug-mochitest-chrome-1proc
-test-linux1804-64/debug-mochitest-chrome-gpu-e10s
-test-linux1804-64/debug-mochitest-plain-e10s
-test-linux1804-64/debug-mochitest-plain-gpu-e10s
-test-linux1804-64/debug-mochitest-remote-e10s
-test-linux1804-64/debug-mochitest-webgl1-core-e10s
-test-linux1804-64/debug-mochitest-webgl1-core-gli-e10s
-test-linux1804-64/debug-mochitest-webgl1-ext-e10s
-test-linux1804-64/debug-mochitest-webgl1-ext-gli-e10s
-test-linux1804-64/debug-mochitest-webgl2-core-e10s
-test-linux1804-64/debug-mochitest-webgl2-core-gli-e10s
-test-linux1804-64/debug-mochitest-webgl2-ext-e10s
-test-linux1804-64/debug-mochitest-webgl2-ext-gli-e10s
-test-linux1804-64/debug-xpcshell-e10s
-test-linux1804-64/debug-xpcshell-spi-nw-e10s

mozilla-release

--- target_task_set@6d262ed
+++ target_task_set@ao_ci_linux_tsan
+test-linux1804-64-asan-qr/opt-mochitest-plain-e10s
+test-linux1804-64-asan-qr/opt-mochitest-plain-gpu-e10s
-test-linux1804-64-asan/opt-cppunit-1proc
-test-linux1804-64-asan/opt-firefox-ui-functional-local-e10s
-test-linux1804-64-asan/opt-firefox-ui-functional-remote-e10s
-test-linux1804-64-asan/opt-gtest-1proc
-test-linux1804-64-asan/opt-jsreftest-e10s
-test-linux1804-64-asan/opt-marionette-e10s
-test-linux1804-64-asan/opt-mochitest-a11y-1proc
-test-linux1804-64-asan/opt-mochitest-chrome-1proc
-test-linux1804-64-asan/opt-mochitest-chrome-gpu-e10s
-test-linux1804-64-asan/opt-mochitest-plain-e10s
-test-linux1804-64-asan/opt-mochitest-plain-gpu-e10s
-test-linux1804-64-asan/opt-mochitest-remote-e10s
-test-linux1804-64-asan/opt-mochitest-webgl1-core-e10s
-test-linux1804-64-asan/opt-mochitest-webgl1-ext-e10s
-test-linux1804-64-asan/opt-mochitest-webgl1-ext-fis-gli-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-core-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-ext-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-ext-fis-e10s
-test-linux1804-64-asan/opt-mochitest-webgl2-ext-fis-gli-e10s
-test-linux1804-64-asan/opt-xpcshell-e10s
+test-linux1804-64-shippable-qr/opt-marionette-headless-e10s
-test-linux1804-64-shippable/opt-awsy-base-e10s
-test-linux1804-64-shippable/opt-awsy-e10s
-test-linux1804-64-shippable/opt-awsy-tp6-e10s
-test-linux1804-64-shippable/opt-cppunit-1proc
-test-linux1804-64-shippable/opt-firefox-ui-functional-local-e10s
-test-linux1804-64-shippable/opt-firefox-ui-functional-remote-e10s
-test-linux1804-64-shippable/opt-gtest-1proc
-test-linux1804-64-shippable/opt-jsreftest-e10s
-test-linux1804-64-shippable/opt-marionette-e10s
-test-linux1804-64-shippable/opt-marionette-headless-e10s
-test-linux1804-64-shippable/opt-mochitest-a11y-1proc
-test-linux1804-64-shippable/opt-mochitest-chrome-1proc
-test-linux1804-64-shippable/opt-mochitest-chrome-gpu-e10s
-test-linux1804-64-shippable/opt-mochitest-plain-e10s
-test-linux1804-64-shippable/opt-mochitest-plain-gpu-e10s
-test-linux1804-64-shippable/opt-mochitest-remote-e10s
-test-linux1804-64-shippable/opt-mochitest-webgl1-core-e10s
-test-linux1804-64-shippable/opt-mochitest-webgl1-ext-e10s
-test-linux1804-64-shippable/opt-mochitest-webgl2-core-e10s
-test-linux1804-64-shippable/opt-mochitest-webgl2-ext-e10s
-test-linux1804-64-shippable/opt-xpcshell-e10s
-test-linux1804-64/debug-cppunit-1proc
-test-linux1804-64/debug-firefox-ui-functional-local-e10s
-test-linux1804-64/debug-firefox-ui-functional-remote-e10s
-test-linux1804-64/debug-gtest-1proc
-test-linux1804-64/debug-jsreftest-e10s
-test-linux1804-64/debug-marionette-e10s
-test-linux1804-64/debug-mochitest-a11y-1proc
-test-linux1804-64/debug-mochitest-chrome-1proc
-test-linux1804-64/debug-mochitest-chrome-gpu-e10s
-test-linux1804-64/debug-mochitest-plain-e10s
-test-linux1804-64/debug-mochitest-plain-gpu-e10s
-test-linux1804-64/debug-mochitest-remote-e10s
-test-linux1804-64/debug-mochitest-webgl1-core-e10s
-test-linux1804-64/debug-mochitest-webgl1-ext-e10s
-test-linux1804-64/debug-mochitest-webgl2-core-e10s
-test-linux1804-64/debug-mochitest-webgl2-ext-e10s
-test-linux1804-64/debug-xpcshell-e10s
-test-linux1804-64/debug-xpcshell-spi-nw-e10s

Differential Revision: https://phabricator.services.mozilla.com/D121212
2021-07-30 12:23:37 +00:00
Mike Hommey 221139493a Bug 1721962 - Switch to pkg-config for X11 libraries. r=firefox-build-system-reviewers,jgilbert,andi
Differential Revision: https://phabricator.services.mozilla.com/D121309
2021-07-30 11:39:39 +00:00
Mike Hommey e9954811d5 Bug 1721962 - Don't assume XCFLAGS are always in CPPFLAGS on *bsd. r=firefox-build-system-reviewers,jgilbert,andi
Differential Revision: https://phabricator.services.mozilla.com/D121307
2021-07-30 11:39:38 +00:00
Emilio Cobos Álvarez 82baca9319 Bug 1722910 - Remove unused FrameLoader.requestNotifyAfterRemotePaint machinery. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D121195
2021-07-30 09:37:20 +00:00
Alexandru Michis 2b9cbf768a Backed out changeset 9c24c2012186 (bug 1720169) for causing webrender crashes. 2021-07-30 11:00:54 +03:00
Mike Hommey 03223f9ea4 Bug 1722653 - Remove MOZ_CAIRO_CFLAGS. r=firefox-build-system-reviewers,jgilbert,andi
Differential Revision: https://phabricator.services.mozilla.com/D121066
2021-07-29 23:38:31 +00:00
Mike Hommey d772552af8 Bug 1722653 - Stop preprocessing cairo-features.h. r=gfx-reviewers,firefox-build-system-reviewers,jrmuizel,andi
Some of the defines are outdated and never actually set, and the
remaining ones can be easily set through existing or easily added
ifdefs.

Differential Revision: https://phabricator.services.mozilla.com/D121064
2021-07-29 23:38:31 +00:00
Mike Hommey 25c71f548b Bug 1722653 - Remove --enable-system-cairo. r=firefox-build-system-reviewers,jrmuizel,andi
It hasn't been supported since bug 1432751, > 3 years ago.

Differential Revision: https://phabricator.services.mozilla.com/D121063
2021-07-29 23:38:30 +00:00
Mike Hommey 3282e2080d Bug 1722454 - Remove USE_SKIA. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D120935
2021-07-29 23:29:44 +00:00
Mike Hommey daab1d49e3 Bug 1722454 - Remove --disable-skia. r=firefox-build-system-reviewers,gfx-reviewers,nical,andi
It has been unsupported since bug 1323303, > 4 years ago.

This removes MOZ_ENABLE_SKIA but keeps USE_SKIA for moz2d for now

Differential Revision: https://phabricator.services.mozilla.com/D120933
2021-07-29 23:29:43 +00:00
Andrew Osmond 2a4132a521 Bug 1718329 - Gracefully handle device reset when mapping tiles with SW-WR + D3D11 compositing. r=jrmuizel
If we encounter a device reset in
RenderCompositorD3D11SWGL::TileD3D11::Map, we should fail the call, and
rely upon the device reset checks at the end of a render pass to
recreate our compositor sessions.

Differential Revision: https://phabricator.services.mozilla.com/D121251
2021-07-29 22:45:41 +00:00
Csoregi Natalia eda68bd6fd Merge mozilla-central to autoland. CLOSED TREE 2021-07-30 00:46:59 +03:00
Csoregi Natalia 2aa97aea10 Merge autoland to mozilla-central. a=merge 2021-07-30 00:43:06 +03:00
Lee Salzman f65cb0778b Bug 1719232 - Skip render tasks with empty valid rects. r=gw
Some clang/rustc build setups seem to result in rounding scenarios where the
valid rect, once converted to i32, is somehow empty. This can cause downwind
problems if we actually try to render those tiles. Instead, just cull it before
it becomes a problem.

Differential Revision: https://phabricator.services.mozilla.com/D121144
2021-07-29 20:48:10 +00:00
Glenn Watson 1cfeaeb584 Bug 1722838 - Add DisplayListPayload struct r=jrmuizel,gfx-reviewers,nical
Although this currently only contains the existing data u8 vec of
serialized bytes, it will allow us to expand this structure in
future to contain other byte arrays.

This will be used for storing other payload information, such as
interned primitive types or data updates.

Differential Revision: https://phabricator.services.mozilla.com/D121160
2021-07-29 20:23:30 +00:00
Csoregi Natalia 1439cf57eb Backed out 2 changesets (bug 1717151) for causing bustage on validationEGL.h. CLOSED TREE
Backed out changeset 06d6ad49726c (bug 1717151)
Backed out changeset ee22b6243926 (bug 1717151)
2021-07-29 22:52:24 +03:00
Jeff Gilbert 555b7c9143 Bug 1717151 - Move EGL_EXT_device_query from device exts to client exts. r=lsalzman
This moved due to a fix in ANGLE 56663dbfa78 on 2020-nov-19.

Differential Revision: https://phabricator.services.mozilla.com/D121216
2021-07-29 19:16:32 +00:00
Jeff Gilbert 1270d132ed Bug 1717151 - Update ANGLE to chromium/4515. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D118551
2021-07-29 19:16:28 +00:00
Jamie Nicol 0efd692f47 Bug 1721795 - Pack cs_border_solid's vMixColors in to vector to work around driver bug. r=gfx-reviewers,lsalzman
We have in the past encountered a driver bug on Adreno 3xx devices
where using a flat scalar varying causes the fragment shader output to
be incorrect. See bugs 1630356 and 1705433.

We have now encountered this in cs_border_solid too, due to
vMixColors. As before, packing the varying in to a vector works around
the bug.

Differential Revision: https://phabricator.services.mozilla.com/D121211
2021-07-29 18:31:36 +00:00
Csoregi Natalia bc4c680c8d Backed out 3 changesets (bug 1722258) for causing Bug 1722935. a=backout
Backed out changeset cf8a1175abd1 (bug 1722258)
Backed out changeset 41176d476eb7 (bug 1722258)
Backed out changeset 4149d596d03d (bug 1722258)
2021-07-29 20:19:48 +03:00
Noemi Erli a523fe1ad1 Backed out changeset 3cb3442efede (bug 1622846) for causing Bug 1722702 CLOSED TREE 2021-07-29 20:14:46 +03:00
Jamie Nicol caa4b1bc0c Bug 1720169 - Pack instance data for multiple draw calls in to large fixed-size VBOs. r=gfx-reviewers,nical
Currently each VAO owns its own VBO for per-instance array data. Prior
to submitting each draw call that instance buffer is orphaned and a
new one allocated at exactly the right size to contain the batch's
data. This frequent reallocation appears to cause a rendering glitch
on some Adreno 4xx devices, likely due to a bug in the driver's
internal allocation/recycling code. It can also be expensive on some
devices, as the drivers struggle with the overheads of allocating many
small buffers much more than the cost of actually transferring the
data.

This patch makes it so that the VAOs no longer own an instance buffer
each. Instead, they share a pool of buffers. This pool always
allocates buffers large enough to hold the largest batch we
allow. update_vao_instances() now writes data to the pool's current
buffer until that buffer is full, and then either an old one will be
recycled or a new one allocated. After writing to the buffer it must
be bound to the VAO at the correct offset, and then the draw call is
submitted.

By manually managing the buffer lifecycles ourselves we avoid the
glitches on Adreno 4xx, and also improve performance on some devices.

Differential Revision: https://phabricator.services.mozilla.com/D121104
2021-07-29 15:59:13 +00:00
Alexandre Lissy 6f829420e7 Bug 1718210 - Release the compositor thread earlier r=mattwoodrow
While running SandboxTest on Windows/Debug setup we can encounter a GPU
process hanging at shutdown. This is due to a destruction race between
GPUParent and VideoBridgeParent, and we end up with one
CompositorThreadHolder reference that is not properly released, making
the GPU process waiting for it.

This change aims at doing the release earlier to prevent such a
destruction race.

Differential Revision: https://phabricator.services.mozilla.com/D121045
2021-07-29 15:07:24 +00:00
Bob Owen f1dd3496a2 Bug 1722204: Fix clean up of some RecordedEvents on failure. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D120996
2021-07-29 14:52:26 +00:00
Dorel Luca d51c69b246 Backed out changeset de2e92cbb94d (bug 1720152) for WPT failures in html/browsers/windows/iframe-cross-origin-print.sub.html. CLOSED TREE 2021-07-29 05:52:23 +03:00
Matt Woodrow 63077e7c59 Bug 1720152 - Recurse into replay for dependencies, rather than using a temp surface. r=jrmuizel,bobowen
Differential Revision: https://phabricator.services.mozilla.com/D120050
2021-07-29 01:34:04 +00:00
Hiroyuki Ikezoe 46e955a096 Bug 1722673 - Add a null check for the current WindowGlobalParent in QueuePaint(). r=emilio
This may be another source of failing OOP iframe document print. I will try to
see whether it can be reproducible locally later.

Differential Revision: https://phabricator.services.mozilla.com/D121075
2021-07-28 21:00:32 +00:00
Matt Woodrow 7cd494afba Bug 1722258 - Convert more LayerManager usage to use WindowRenderer. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D120920
2021-07-28 20:58:22 +00:00
Florian Quèze fdeb4f2306 Bug 1641298 - record a CompositorScreenshotWindowDestroyed marker from ProfilerScreenshots to indicate to the profiler front-end that a window has been closed, r=mstange.
Differential Revision: https://phabricator.services.mozilla.com/D120729
2021-07-28 17:21:09 +00:00
Andrew Osmond a742ce8568 Bug 1722723 - Fix benign data race in OMTASampler::Sample. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D121091
2021-07-28 14:33:21 +00:00
Andrew Osmond 56948dcec7 Bug 1722725 - Fix benign race in AsyncPanZoomController::SetTestAsyncScrollOffset. r=gfx-reviewers,jrmuizel
This got tripped in the tsan tests, but should only happen during
testing.

Differential Revision: https://phabricator.services.mozilla.com/D121092
2021-07-28 14:32:54 +00:00
Jeff Muizelaar f3d15afeac Bug 1722635 - Add some brief Moz2D documentation. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D121035
2021-07-28 13:11:41 +00:00
Nicolas Silva 92039c823e Bug 1711648 - Remove redundant Box2d type. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D120069
2021-07-28 12:45:28 +00:00
Nicolas Silva 7315cd8716 Bug 1721437 - Render clear tiles before alpha tiles. r=gfx-reviewers,bradwerth
Before this patch the clear tiles were drawn last which meant they would always be drawn on top of all transparent content. It was finde under the assumption that nothing is ever rendered on top of clear tiles, however it turns out to be an issue with the proton window modal darkining which renders some semi-transparent black on top of the whole window (including window controls on windows 8 which use clear tiles). Since the occlusion culling treats clear tiles as opaque they will cut through anything under them regardless of the drawing order, so we can render them before transaprent tiles to get the correct result which is to overwrite what's under the clear tile while still being able to render semi-transparent content on top.

Differential Revision: https://phabricator.services.mozilla.com/D120844
2021-07-28 12:44:08 +00:00
Botond Ballo fea99c4972 Bug 1719913 - Add a mochitest. r=tnikkel
Depends on D120568

Differential Revision: https://phabricator.services.mozilla.com/D120779
2021-07-28 03:20:18 +00:00
Botond Ballo 3097d2d6af Bug 1719913 - Simplify representation of StackingContextHelper::mDeferredTransformItem. r=tnikkel
Maybe<T*> is a redundant representation if there is no semantic
difference between Nothing() and Some(nullptr), and just makes
for cumbersome access syntax.

Differential Revision: https://phabricator.services.mozilla.com/D120568
2021-07-28 03:20:18 +00:00
Botond Ballo 65b7c16aa6 Bug 1719913 - Make sure transforms end up on a hit testing tree node corresponding to their ASR. r=tnikkel
Transforms stored in WebRenderLayerScrollData::mAncestorTransform would
always end up on the topmost hit-testing tree node generated by that
WebRenderLayerScrollData node. That topmost node may not correspond
to the ASR of the transform item(s) which are the source of the
mAncestorTransform. The transform being in the wrong place in the
hit-testing tree can in turn violate APZ's assumptions about different
nodes that scroll together having the same ancestor transform.

To resolve this, this patch stores the transform item's ASR in the
WebRenderLayerScrollData, and applies it to the matching hit-testing
tree node.

Differential Revision: https://phabricator.services.mozilla.com/D120567
2021-07-28 03:20:17 +00:00
Botond Ballo a57f7dcbdd Bug 1719913 - Factor out a ViewID typedef in WebRenderScrollData.h. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D120566
2021-07-28 03:20:17 +00:00
Botond Ballo a3a128364a Bug 1719913 - Fix an include-what-you-use error in WebRenderScrollDataWrapper.h. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D120565
2021-07-28 03:20:17 +00:00
Botond Ballo 243b00a2fc Bug 1719913 - Fix the comment describing what FrameMetrics::mCompositionBounds is relative to. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D120564
2021-07-28 03:20:16 +00:00
Dzmitry Malyshau 9963bd1ee1 Bug 1622846 - Update WebGPU API to latest and wgpu-core to 0.9 r=webidl,jgilbert,jimb,emilio
This *mostly* gets us the latest WebIDL API of WebGPU. There is a few limits we are missing, and maybe some things I didn't notice.
But it gets us the new `GPUCanvasContext`, `GPUSupportedLimits`, and `GPUVertexStepMode`.

Differential Revision: https://phabricator.services.mozilla.com/D120764
2021-07-27 22:37:46 +00:00
Glenn Watson d0fc879729 Bug 1721943 - Fix clear of picture graph update passes r=kvark,gfx-reviewers
When changing a reserve/push loop to a resize_with during review
I accidentally removed the clear. This can mean that we end up
with duplicate entries in this pass update arrays.

Differential Revision: https://phabricator.services.mozilla.com/D120690
2021-07-27 15:41:37 +00:00
Shravan Narayan feb65868cc Bug 1722127 - Modify rlbox graphite struct defs for windows compat r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D120777
2021-07-27 13:09:44 +00:00
Emilio Cobos Álvarez e5fc71cc00 Bug 1722009 - Map system-ui to the `menu` font family. r=jfkthame
This seems to be what Chrome does on Windows, and should do the right
thing in other OSes.

On macOS we can do something better and look up the language-dependent
font. That requires further work, but shouldn't probably block this (as
long as system-ui is turned off by default at least).

Differential Revision: https://phabricator.services.mozilla.com/D120714
2021-07-27 11:11:51 +00:00
Emilio Cobos Álvarez f501d497d2 Bug 1720710 - Add system-ui boilerplate. r=jfkthame
Alias -apple-system to it, and put it behind a pref for now. This is
pretty boring (read: uncontroversial hopefully) code. The follow-up work
is modifying StaticPresData to look up the fonts using system APIs,
probably. Maybe a bit more work if on macOS they can't be named.

Differential Revision: https://phabricator.services.mozilla.com/D119984
2021-07-27 11:11:51 +00:00
sotaro b2c6affaea Bug 1721098 - Call reset_overlaps() in begin_frame() r=lsalzman
If invalidate_tile() is called not between an enclosing begin_frame()/end_frame(), the tile invalid flag could exist as true in next begin_frame()/end_frame(). It causes the problem. The flag needs to be cleared in begin_frame().

Differential Revision: https://phabricator.services.mozilla.com/D120823
2021-07-27 06:26:35 +00:00
Hiroyuki Ikezoe a5ecf77776 Bug 1695806 - Defer sending a snapshot reqeust for remote process iframe until cloning the iframe document finished. r=mattwoodrow,nika
Differential Revision: https://phabricator.services.mozilla.com/D119950
2021-07-27 00:47:44 +00:00
Emilio Cobos Álvarez 71a69ae4ed Bug 1721648 - Use the promise version of SpecialPowers.pushPrefEnv in APZ tests to ensure that we wait if needed. r=hiro
The callback version doesn't necessarily wait for rAF if needed:

  https://searchfox.org/mozilla-central/rev/59e797b66f5ce8a27ede0e7677688931be7aed20/testing/specialpowers/content/SpecialPowersChild.jsm#902

This is legacy behavior, but switching to the promise version does the
right thing.

Differential Revision: https://phabricator.services.mozilla.com/D120869
2021-07-26 23:29:16 +00:00
Jonathan Kew aeecb02ab6 Bug 1722232 - Revert changeset 5689add84fe2 (bug 1717685) and take the upstream version of the fix from https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/195 instead. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D120801
2021-07-25 17:30:00 +00:00
Matt Woodrow 4dd3275fd0 Bug 1720986 - Reinstate clipping filters within SVG to the building rect. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D120695
2021-07-25 08:31:25 +00:00
Emilio Cobos Álvarez 01317e823b Bug 1722031 - Fix RelativeLuminanceUtils::Adjust to not choke on blacks / zero components. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D120722
2021-07-24 13:30:25 +00:00
Jeff Muizelaar 1194fe927f Bug 1722055 - Rename gfx.webrender.force-disabled. r=aosmond
Change the pref name in anticipation of removing it completely
to see what the fallout will be.

Differential Revision: https://phabricator.services.mozilla.com/D120735
2021-07-23 17:00:29 +00:00
Bob Owen 9c2eb6b93f Bug 1718118: Check that texture sharing works for the canvas device. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D120706
2021-07-23 14:04:31 +00:00
Matt Woodrow 912b7f8ef1 Bug 1721537 - Split out WindowRenderer base class from LayerManager. r=miko
Depends on D120439

Differential Revision: https://phabricator.services.mozilla.com/D120440
2021-07-22 22:58:57 +00:00
Jeff Muizelaar e873e6aa0f Bug 1721903 - Add the error code when we fail to Map a tile.
Differential Revision: https://phabricator.services.mozilla.com/D120675
2021-07-22 21:33:56 +00:00
Lee Salzman 6bf4f65df7 Bug 1721014 - Avoid use of rayon par_iter collect in WR glyph resolution. r=gw
Rayon's collect primitive is somehow establishing recursive dependencies on
waiting for task completion, such that if a lot of glyph jobs are submitted
all at once, this can result in huge recursive stack chains. This simplifies
the glyph job queuing to just send everything immediately over the result
channel, rather than waiting for all jobs in the batch (via collect). We then
rely upon sorting upon receipt to put everything back in a sane order.

Differential Revision: https://phabricator.services.mozilla.com/D120520
2021-07-22 15:48:30 +00:00
Kashav Madan 5781dca888 Bug 1720688 - Support extended attribute syntax in protocol declarations, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D119975
2021-07-22 02:24:43 +00:00
Glenn Watson 72aa128187 Bug 1721521 - Simplify PictureState semantics r=gfx-reviewers,lsalzman
Move plane splitter outside the picture state, meaning it doesn't
need to be retained in the picture primitive and passed around
during prepare pass. Another small step to simplifying the prepare
step (interim goal is to remove the recursion here, and then
introduce other prim types, such as a 3d rendering context, that
are able to "contain" child primitives).

Differential Revision: https://phabricator.services.mozilla.com/D120423
2021-07-21 22:39:44 +00:00
Glenn Watson 371f4cd13b Bug 1721111 - Introduce picture graph and port initial picture pass to use it r=gfx-reviewers,bradwerth,kvark
In future, we want to persist a lot more of the information about
primitive instances between display lists. This will allow us to
implement a number of optimizations and improvements to the scene
and frame building code (such as reducing per-frame per-prim work
that is typically mostly redundant, supporting prims other than
pictures that can contain child primitives, unifying and optimizing
primitive dependency updates).

As a step towards that, this patch introduces a picture graph which
is very similar to the idea of the render task graph builder. With
this in place, we're able to run picture updates without using
recursion, and ensuring we update pictures in the correct order
that the pass requires. This will allow us to un-tangle a lot of
the existing scene building, visibility, prep and batching pass
complexity, in order to be able to implement the above.

Differential Revision: https://phabricator.services.mozilla.com/D120191
2021-07-21 20:25:33 +00:00
Andrew Osmond e54096406f Bug 1715269 - Prefer WebRender over XRender, unless WebRender is force disabled. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D120488
2021-07-21 16:50:46 +00:00
Andrew Osmond adb22f5066 Bug 1721626 - Allow Software WebRender in safe mode. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D120475
2021-07-21 16:50:46 +00:00
Jamie Nicol ebec18b82f Bug 1714227 - Fully clear alpha targets prior to rendering on Adreno 4xx. r=gfx-reviewers,aosmond
On some Adreno 4xx devices with older drivers we have seen cases where
rendering of masks to alpha targets appears to have no effect. This
results in stale mask data being used for clipping resulting in, for
example, rounded corners appearing as rectangles or strange shapes
rather than solid colours.

This patch performs an unscissored glClear of an alpha target prior to
rendering to it on affected devices, which works around the bug.

Differential Revision: https://phabricator.services.mozilla.com/D120465
2021-07-21 13:37:21 +00:00
Jeff Muizelaar ee0926e1db Bug 1721596 - qcms: Rerun rustfmt. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D120466
2021-07-21 13:03:23 +00:00
Gerald Squelart e7e9ae90ae Bug 1721110 - profiler_current_thread_id() now returns ProfilerThreadId - r=florian
Differential Revision: https://phabricator.services.mozilla.com/D120225
2021-07-21 04:16:59 +00:00
Jeff Muizelaar 132a09618b Bug 1721515 - qcms: Remove some now unneeded unstable features. r=aosmond
These were used by our local NEON intrinsics implementation.
We don't need them anymore.

Differential Revision: https://phabricator.services.mozilla.com/D120420
2021-07-21 01:42:38 +00:00
Jeff Muizelaar 6edd219c43 Bug 1721484 - qcms: Fix extra space. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D120395
2021-07-20 21:36:45 +00:00
Jeff Muizelaar ad5985aca6 Bug 1721483 - qcms: Remove unneeded vim modelines. r=aosmond
These were inherited from the C code and are wrong and unneeded in
Rust.

Differential Revision: https://phabricator.services.mozilla.com/D120394
2021-07-20 21:36:18 +00:00
Jeff Muizelaar 2ed71226c3 Bug 1697818 - Drop handrolled NEON SIMD wrappers. r=aosmond
We require Rust 1.50 now which is new enough to not need these
wrappers anymore.

Differential Revision: https://phabricator.services.mozilla.com/D108337
2021-07-20 21:29:01 +00:00
Jamie Nicol ebb76fd7e3 Bug 1719437 - Do not initialize shaders when creating SingletonGL for software webrender. r=aosmond
It leads to OpenGL errors, as we must initialize a webrender Device in
order to initialize the shaders, and this Device attempts to use
OpenGL commands not supported by the GL context. For example the GL
context may only support GLES 2, hence why we are using SWGL in the
first place.

Differential Revision: https://phabricator.services.mozilla.com/D120356
2021-07-20 19:10:58 +00:00
Jonathan Kew e4f80082a0 Bug 1717685 - Silently handle NOTHING_TO_DO as SUCCESS when replaying a recording, rather than asserting on it. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D119398
2021-07-20 17:43:31 +00:00
Jonathan Kew 90ced4b1e3 Bug 1721424 - Fix _cairo_strtod to accept a leading sign, avoiding infinite loop in parse_array. r=jrmuizel
This has been submitted upstream at https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/203.

Differential Revision: https://phabricator.services.mozilla.com/D120365
2021-07-20 17:42:20 +00:00
Matt Woodrow 0abc2b6d04 Bug 1720429 - Support SourceSurfaceOffset correctly in all DrawSurface implementations. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D120136
2021-07-19 22:01:32 +00:00
Matt Woodrow 81dcdf515d Bug 1720429 - CreateClippedDrawTarget takes a rect in user space. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D120135
2021-07-19 22:01:31 +00:00
Jamie Nicol 90f29c4458 Bug 1720841 - Clamp loop condition variable to static value in cs_blur. r=gw
In the cs_blur fragment shader there is a for loop with a number of
iterations determined by a flat varying. On some old Adreno drivers
this causes severe issues including hangs and crashes. These can be
avoided by clamping the number of iterations to a statically known
value.

Differential Revision: https://phabricator.services.mozilla.com/D120281
2021-07-19 21:17:07 +00:00