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

41522 Коммитов

Автор SHA1 Сообщение Дата
Jeff Muizelaar ecd6741296 Bug 1728311 - Remove unused LayersMessages::TransactionInfo. r=aosmond
Fixes up some missing includes that accidentally worked before.

Differential Revision: https://phabricator.services.mozilla.com/D124060
2021-08-31 14:48:00 +00:00
Csoregi Natalia dea5ee66a8 Backed out changeset df6b2d7ac580 (bug 1728086) for failures on system-ui-ar.html. CLOSED TREE 2021-08-31 17:55:00 +03:00
Jonathan Kew c7fdc790cc Bug 1725297 - Remove expiring font telemetry probes. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D124051
2021-08-31 13:48:51 +00:00
Emilio Cobos Álvarez 66d9cbefd5 Bug 1728086 - Fix system-ui support on Linux distros where Gnome settings aren't mapped to fontconfig. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D124049
2021-08-31 11:53:48 +00:00
Andrew Osmond b3def22e3d Bug 1728240 - Remove DrawTargetWrapAndRecord and gfx.2d.recording pref. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D124000
2021-08-31 02:03:58 +00:00
Glenn Watson 8aaf20e99c Bug 1727458 - Change display list builder APIs to retain/reuse them r=gfx-reviewers,kvark
This will allow storing state in a display list builder struct
between different display list builds. In time, this will be used
to reduce the size of the serialized display list data, by only
sending delta changes to WR. The extra information made available
by sending deltas will then allow WR to more efficiently cache and
reuse information across different scene/frame builds.

Differential Revision: https://phabricator.services.mozilla.com/D123579
2021-08-30 23:10:10 +00:00
Andrew Osmond 82c2f97a8e Bug 1728205 - Remove DrawTargetDual. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123978
2021-08-30 22:55:32 +00:00
Mike Hommey 278fa528e2 Bug 1727687 - Upgrade windows builds to MSVC 15.9.6. r=firefox-build-system-reviewers,agashlin,jgilbert,mhentges
There are two big parts in the MSVC toolchain we use:
- the Windows 10 SDK
- Visual C++

For the former, both the 15.8.4 and 15.9.6 toolchains are using the same
version of the Win10 SDK.
For the latter, we're not using the compiler itself anymore, so the only
substantial difference is in the headers and libraries included with
Visual C++, as well as the redist libraries for the CRT. Both versions
are supposed to be compatible to the same set of OS versions, fitting
our system requirements.

This makes us use the same version of MSVC on all our Windows builds
(arm64 builds were already on 15.9.6).

Differential Revision: https://phabricator.services.mozilla.com/D123720
2021-08-30 21:29:35 +00:00
Michelle Goossens 98bf6fc8fd Bug 1727925 - Part 2: Migrate windows10-32-tests from AWS to Azure r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D123896
2021-08-30 21:17:21 +00:00
Cosmin Sabou 9f42a20344 Backed out changeset 9ed021c1dd80 (bug 1728152) for build bustages on extensions/Xrender.h. 2021-08-31 00:00:16 +03:00
Andrew Osmond a16c93e608 Bug 1728202 - Remove DrawTargetTiled. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123977
2021-08-30 20:27:42 +00:00
Jeff Muizelaar 350596ef55 Bug 1728195 - Remove remnants of TiledLayerBuffer. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D123976
2021-08-30 20:25:54 +00:00
Jeff Muizelaar 3d7b15be5c Bug 1728193 - Remove LayerScope. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D123975
2021-08-30 20:12:02 +00:00
Jeff Muizelaar 44f613fece Bug 1728152 - Drop unused TextRenderer code. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D123968
2021-08-30 19:37:34 +00:00
Andrew Osmond ac49f09199 Bug 1728113 - Remove DrawTargetCapture and related code. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123953
2021-08-30 16:35:50 +00:00
Andrew Osmond fe21b00004 Bug 1728112 - Remove BorrowedCairoContext. r=jrmuizel
This code is no longer used by anything.

Differential Revision: https://phabricator.services.mozilla.com/D123945
2021-08-30 16:35:49 +00:00
Andrew Osmond 8dfbdef80e Bug 1728107 - Remove gfxXlibNativeRenderer and gfxGdkNativeRenderer. r=jrmuizel
This code is no longer used by anything.

Differential Revision: https://phabricator.services.mozilla.com/D123944
2021-08-30 13:19:45 +00:00
Glenn Watson bc95f6481b Bug 1726708 - Add stable key for spatial nodes r=gfx-reviewers,kvark
Add an interface (and update Gecko to provide) a stable unique
identifier for each spatial node that is consistent across
display lists.

Although this patch doesn't _do_ anything useful with this yet,
we'll use this in future to allow interning, persisting and caching
a lot more information related to primitives and clips.

For now, it just asserts that the calling code never supplies a
duplicate unique identifier - which will be useful to have running
in nightly for a couple of weeks before starting to make use of
these identifiers.

Differential Revision: https://phabricator.services.mozilla.com/D123177
2021-08-30 00:33:22 +00:00
Glenn Watson db30aac4f1 Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
This will allow experimenting with different representations of
the spatial tree (such as interning and/or providing stable
indices during display list building). It may also simplify
future changes to the public API to expose the spatial tree
directly.

As part of these changes, refactor how the debug representation
for the capture format is (de)serialized, to make it simpler to
add different payload vector types in future.

Differential Revision: https://phabricator.services.mozilla.com/D122183
2021-08-30 00:33:22 +00:00
Jeff Muizelaar 4fd2dca330 Bug 1728004 - Remove a bunch of layer dumping. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D123900
2021-08-29 23:09:45 +00:00
Greg V 074f1e8220 Bug 1728014 - [Wayland] fix FreeBSD/libc++ build by adding forgotten include to SurfacePoolWayland.h r=rmader
Differential Revision: https://phabricator.services.mozilla.com/D123901
2021-08-29 19:34:54 +00:00
Matt Woodrow 4adc8a1013 Bug 1727876 - Remove BasicCompositor. r=jrmuizel
Depends on D123882

Differential Revision: https://phabricator.services.mozilla.com/D123883
2021-08-28 03:54:24 +00:00
Matt Woodrow 5c99a19709 Bug 1727683 - Remove LayerTreeInvalidation. r=jrmuizel
Depends on D123881

Differential Revision: https://phabricator.services.mozilla.com/D123882
2021-08-28 03:54:23 +00:00
Matt Woodrow 7960f3b11b Bug 1727684 - Remove ContentHost/ImageHost. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123881
2021-08-28 03:54:23 +00:00
criss 10c4c4351f Backed out changeset 25acfe977062 (bug 1727511) for causing valgrind build bustages. CLOSED TREE 2021-08-27 18:24:28 +03:00
sotaro a4dae9b314 Bug 1727511 - Add mozlog around WebRenderBridgeParent and RenderThread r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123616
2021-08-27 06:37:32 +00:00
Jeff Gilbert fa284e5717 Bug 1726265 - Prototype webgl draft ext OES_draw_buffers_indexed. r=lsalzman,emilio,webidl
Differential Revision: https://phabricator.services.mozilla.com/D122916
2021-08-27 01:47:14 +00:00
Emilio Cobos Álvarez cfca657d9c Bug 1722487 - Avoid some work for font list updates. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D123363
2021-08-26 23:17:54 +00:00
Jamie Nicol 3d876bf1fd Bug 1726755 - Fix brush_mix_blend shader on Adreno 3xx. r=gfx-reviewers,kvark
On some Adreno 3xx devices, the brush_mix_blend shader renders its
output as coloured triangles. This is another instance of the driver
bug from bug 1630356, where the presence of a flat varying
scalar ("v_op" in this case) causes the entire fragment shader output
to be flat, ie a single colour per primitive.

In the past we have worked around this by packing the varying in to a
vector. Unfortunately, however, in brush_mix_blend this causes us to
encounter yet another driver bug. Using the component of the new
vector as the switch condition (or if conditions in the optimized
output) does not work: none of the cases are exectuted and the output
is rendered as the default yellow.

Unpacking the vector's component in to a local variable prior to the
switch avoids this bug, however it gets optimized away by glslopt. To
prevent that, we perform a bitwise AND on the component. This should
have no logical effect and have negligable cost, but importantly
avoids the driver bug meaning the correct branch is taken and the
shader renders correctly.

Differential Revision: https://phabricator.services.mozilla.com/D123766
2021-08-26 20:02:19 +00:00
Alexandru Michis 6b25d96a7d Backed out changeset 1d332a5ff4f9 (bug 1724846) for causing Bug 1727715.
CLOSED TREE
2021-08-26 22:51:05 +03:00
Alexandru Michis dc7a2fbe2f Backed out changeset 9c2d20304eee (bug 1726708) for causing conflicts while backing out Bug 1724846 2021-08-26 22:50:37 +03:00
Jeff Muizelaar 4b0bdfd94d Bug 1727823 - Remove unused TiledContentHost. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D123812
2021-08-26 19:33:29 +00:00
Andrew Osmond 70703f7b42 Bug 1727807 - Remove unused gfxASurface::CreateSimilarSurface. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123789
2021-08-26 19:00:10 +00:00
Brindusan Cristian 8b804a5de3 Backed out changeset a2714880c85e (bug 1726755) for causing wrench bustages.
CLOSED TREE
2021-08-26 21:50:39 +03:00
Jamie Nicol e94e52b857 Bug 1726755 - Fix brush_mix_blend shader on Adreno 3xx. r=gfx-reviewers,kvark
On some Adreno 3xx devices, the brush_mix_blend shader renders its
output as coloured triangles. This is another instance of the driver
bug from bug 1630356, where the presence of a flat varying
scalar ("v_op" in this case) causes the entire fragment shader output
to be flat, ie a single colour per primitive.

In the past we have worked around this by packing the varying in to a
vector. Unfortunately, however, in brush_mix_blend this causes us to
encounter yet another driver bug. Using the component of the new
vector as the switch condition (or if conditions in the optimized
output) does not work: none of the cases are exectuted and the output
is rendered as the default yellow.

Unpacking the vector's component in to a local variable prior to the
switch avoids this bug, however it gets optimized away by glslopt. To
prevent that, we perform a bitwise AND on the component. This should
have no logical effect and have negligable cost, but importantly
avoids the driver bug meaning the correct branch is taken and the
shader renders correctly.

Differential Revision: https://phabricator.services.mozilla.com/D123766
2021-08-26 17:46:32 +00:00
Jeff Muizelaar b7b6ee3699 Bug 1727752 - Document DIGroup and fix stale comment. r=mstange
In bug 1548056 we stopped using FLB/ComputeDifferences for invalidation of
filters and transform and switched to ConstructGroupInsideInactive.

Differential Revision: https://phabricator.services.mozilla.com/D123760
2021-08-26 14:19:13 +00:00
Jeff Muizelaar 4f748cc16b Bug 1727661 - Remove RenderTrace. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D123699
2021-08-26 13:38:03 +00:00
criss 1adda87dcc Backed out changeset 4364b684a6bd (bug 1727661) for causinG bustages in nsWindow.cpp. CLOSED TREE 2021-08-26 16:21:34 +03:00
Jeff Muizelaar 167800069c Bug 1727661 - Remove RenderTrace. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D123699
2021-08-26 12:39:54 +00:00
Bob Owen 0ba10eefad Bug 1726744: Don't force GDI classic when cleartype rendering mode pref is set. r=jfkthame
This also sets the cairo dwrite params in the parent where they might still be
needed for printing.

Differential Revision: https://phabricator.services.mozilla.com/D123731
2021-08-26 11:55:17 +00:00
Jamie Nicol cf3257fdfd Bug 1725508 - Apply Intel BGRA texture workaround to more devices. r=gfx-reviewers,jrmuizel
We previously identified a bug on Intel BayTrail devices when using
BGRA internal format with immutable textures. As a workaround, we used
RGBA as the internal format for textures and relied on swizzling
during sampling. However, the bug has been reported to affect more
devices than originally thought. This patch applies the workaround to
those devices too.

Differential Revision: https://phabricator.services.mozilla.com/D123735
2021-08-26 11:35:09 +00:00
Hiroyuki Ikezoe 40b704dbb8 Bug 1723315 - Ensure there's no pending paint requests before taking a snapshot. r=sotaro
There's no handy way to use functions in paint_listener.js inside extension's
popup document's context, if paint_listener.js gets loaded with a script tag
inside the document, it doesn't allow us using nsIDOMWindowUtils since it is in
extension's privilege. Running a similar chunk of the function code in
SpecialPowers.spawn is the simplest way to use the function.

Differential Revision: https://phabricator.services.mozilla.com/D123588
2021-08-26 05:24:29 +00:00
Matt Woodrow d93d452a96 Bug 1727672 - Remove LayerManagerComposite. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123708
2021-08-26 04:59:57 +00:00
Matt Woodrow d751b43176 Bug 1727489 - Remove PLayerTransaction. r=jrmuizel,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D123595
2021-08-26 04:59:57 +00:00
Matt Woodrow 9c596f7090 Bug 1727488 - Remove ShadowLayerForwarder. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123594
2021-08-26 04:59:56 +00:00
Botond Ballo 39b5581175 Bug 1685146 - Avoid emitting a deferred transform at the wrong level of the WebRenderLayerScrollData tree. r=tnikkel
Since WebRenderLayerScrollData nodes are emitted on the way out
of the recursion over the display list, we need to be careful
that a deferred transform doesn't end up on a deeper node than
it should be.

Differential Revision: https://phabricator.services.mozilla.com/D123397
2021-08-26 04:39:49 +00:00
Botond Ballo 6c41f1acbd Bug 1685146 - Print ancestorTransformId in the WebRenderScrollData dump. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D123700
2021-08-26 04:39:48 +00:00
sotaro e18539817c Bug 1727459 - Add more logs around widget size in WebRenderLayerManager::Initialize() r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123585
2021-08-26 03:59:08 +00:00
Butkovits Atila c83e348e26 Backed out 2 changesets (bug 1727488, bug 1727489) for causing bustages on KnowsCompositor.cpp. CLOSED TREE
Backed out changeset 5a00db1b7a6a (bug 1727489)
Backed out changeset 13686567e748 (bug 1727488)
2021-08-26 04:49:16 +03:00
Matt Woodrow 0d4e9aa48a Bug 1727489 - Remove PLayerTransaction. r=jrmuizel,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D123595
2021-08-26 00:25:21 +00:00
Matt Woodrow 12aab272c2 Bug 1727488 - Remove ShadowLayerForwarder. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123594
2021-08-26 00:25:20 +00:00
Jeff Muizelaar f7e040a8b1 Bug 1727639 - Remove PushGroupAndCopyBackground. r=mstange
We can also remove sDontUseAsSourceKey because
PushGroupAndCopyBackground was the only user.

Differential Revision: https://phabricator.services.mozilla.com/D123685
2021-08-25 22:34:45 +00:00
Jeff Muizelaar cc52015310 Bug 1727634 - Remove RotatedBuffer. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D123683
2021-08-25 22:34:19 +00:00
Glenn Watson 7401f9f93e Bug 1726708 - Add stable key for spatial nodes r=gfx-reviewers,kvark
Add an interface (and update Gecko to provide) a stable unique
identifier for each spatial node that is consistent across
display lists.

Although this patch doesn't _do_ anything useful with this yet,
we'll use this in future to allow interning, persisting and caching
a lot more information related to primitives and clips.

For now, it just asserts that the calling code never supplies a
duplicate unique identifier - which will be useful to have running
in nightly for a couple of weeks before starting to make use of
these identifiers.

Differential Revision: https://phabricator.services.mozilla.com/D123177
2021-08-25 21:52:13 +00:00
Jeff Muizelaar 7117a31cb2 Bug 1727623 - Remove ContentClient. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D123677
2021-08-25 21:13:03 +00:00
Matt Woodrow b8eef01e83 Bug 1708403 - Make resetting of scroll position for drawSnapshot opt-in. r=mstange,kmag
Differential Revision: https://phabricator.services.mozilla.com/D117613
2021-08-25 20:49:18 +00:00
Andrew Osmond aa22206ca2 Bug 1727603 - Remove gfxVars::UseOMTP. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123676
2021-08-25 19:56:01 +00:00
Andrew Osmond 50d789dd6a Bug 1724936 - Remove XRender support. r=jrmuizel
This has been deprecated for a long time, and it doesn't work in
conjuction with WebRender.

Differential Revision: https://phabricator.services.mozilla.com/D122368
2021-08-25 19:35:23 +00:00
Butkovits Atila 073981c0e2 Backed out changeset f767bc7e5cd8 (bug 1724936) for causing build bustages on nsLookAndFeel.cpp. CLOSED TREE 2021-08-25 21:21:59 +03:00
Andrew Osmond ec43a845c8 Bug 1724936 - Remove XRender support. r=jrmuizel
This has been deprecated for a long time, and it doesn't work in
conjuction with WebRender.

Differential Revision: https://phabricator.services.mozilla.com/D122368
2021-08-25 17:45:04 +00:00
Iulian Moraru 8dd046d72c Backed out changeset caf7cc8417e8 (bug 1727488) for causing bp-hybrid bustages. CLOSED TREE 2021-08-25 18:17:37 +03:00
Matt Woodrow 69af86dd8e Bug 1727488 - Remove ShadowLayerForwarder. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123594
2021-08-25 13:57:04 +00:00
Andi-Bogdan Postelnicu 2fc4f70e9b Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium
Automatically generated path that adds flag `REQUIRES_UNIFIED_BUILD = True` to `moz.build`
when the module governed by the build config file is not buildable outside on the unified environment.

This needs to be done in order to have a hybrid build system that adds the possibility of combing
unified build components with ones that are built outside of the unified eco system.

Differential Revision: https://phabricator.services.mozilla.com/D122345
2021-08-25 10:46:17 +00:00
Andi-Bogdan Postelnicu 1add60ee56 Bug 1725145 - Explicit instantiate templates r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D123454
2021-08-25 10:46:16 +00:00
Andi-Bogdan Postelnicu 96dca2ad5b Bug 1725145 - fixes in gfx for win in non unified env. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D123603
2021-08-25 10:46:15 +00:00
Matt Woodrow 7755c29fd8 Bug 1727423 - Remove BasicLayerManager. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123555
2021-08-25 07:35:17 +00:00
Matt Woodrow 15827952f9 Bug 1727423 - Convert some usage of LayerManager to WindowRenderer in image/. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123554
2021-08-25 07:35:17 +00:00
Jeff Muizelaar 179512798b Bug 1727435 - Remove some remnants of ClientLayerManager. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D123558
2021-08-25 03:56:46 +00:00
criss 16e50a39dd Backed out changeset 41b40872b77a (bug 1727435)for causing clang non unified build bustages. CLOSED TREE 2021-08-25 04:49:17 +03:00
criss 58591696b7 Backed out 2 changesets (bug 1727423) for causing build bustages
Backed out changeset 9b2ca95a6527 (bug 1727423)
Backed out changeset 1f01fcbd46a8 (bug 1727423)
2021-08-25 04:41:35 +03:00
Matt Woodrow 59e71b6c78 Bug 1727423 - Remove BasicLayerManager. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123555
2021-08-25 01:04:26 +00:00
Matt Woodrow 2aa361b420 Bug 1727423 - Convert some usage of LayerManager to WindowRenderer in image/. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123554
2021-08-25 01:04:25 +00:00
criss bccf559d4b Backed out changeset 8868fe82dafd (bug 1708403) for causing failures on test_drawSnapshot_fixed.html. CLOSED TREE 2021-08-25 04:08:24 +03:00
Jeff Muizelaar b67775d96a Bug 1727435 - Remove some remnants of ClientLayerManager. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D123558
2021-08-25 00:45:45 +00:00
Matt Woodrow bb02f9029f Bug 1708403 - Make resetting of scroll position for drawSnapshot opt-in. r=mstange,kmag
Differential Revision: https://phabricator.services.mozilla.com/D117613
2021-08-25 00:21:01 +00:00
Jeff Muizelaar b0ee594702 Bug 1727430 - Remove unused LayerSorter. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D123550
2021-08-24 23:12:25 +00:00
Jon Bauman 6155249a72 Bug 1696045 - Add AVIF telemetry for unimplemented features and performance. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D123378
2021-08-24 22:34:32 +00:00
Jeff Muizelaar 8c1b1dcb3d Bug 1727398 - Remove ClientLayerManager. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D123525
2021-08-24 19:44:27 +00:00
Michelle Goossens 8d70b6f5d9 Bug 1723315 - Disable browser_test_scrollbar_in_extension_popup_window.js for intermittent failures on Windows 10 x64 2004 r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D123508
2021-08-24 18:41:02 +00:00
Sandor Molnar bb9a848857 Backed out changeset d0f659f7ea9b (bug 1696045) for causing gtest failures in image/decoders/nsAVIFDecoder. CLOSED TREE 2021-08-24 21:27:20 +03:00
Jeff Muizelaar e8908dd3bd Bug 1727360 - Remove WindowRenderer::AsShadowForwarder() r=aosmond
We shouldn't ever be hitting this path.

Differential Revision: https://phabricator.services.mozilla.com/D123495
2021-08-24 17:58:46 +00:00
Jon Bauman fc5f21743a Bug 1696045 - Add AVIF telemetry for unimplemented features and performance. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D123378
2021-08-24 17:20:02 +00:00
Ting-Yu Lin 4613910b3e Bug 1726620 Part 2 - Add structs representing strong-type app units coordinates. r=botond
The motivation of introducing the structs is to use 64-bit integer
arithmetic to prevent 32-bit integer overflow. One application is to fix
the integer overflow when resolving flex item's main size in Bug 1469649.

The structs can be a start point to add more useful methods to explore
saturation arithmetic.

Differential Revision: https://phabricator.services.mozilla.com/D123266
2021-08-24 17:19:21 +00:00
Ting-Yu Lin 8035e9dde5 Bug 1726620 Part 1 - Generalize IntCoordTyped template to take a parameter as the underlying type. r=botond
This shouldn't change the behavior, but it allows us to define 64-bit
`IntCoordTyped` in Part 2.

Differential Revision: https://phabricator.services.mozilla.com/D123265
2021-08-24 17:19:21 +00:00
Jeff Muizelaar ebfed4b7a4 Bug 1727351 - Remove mVsyncEnabledLock. r=aosmond
Just make mVsyncEnabled an Atomic<bool>

Differential Revision: https://phabricator.services.mozilla.com/D123488
2021-08-24 16:02:46 +00:00
Jeff Muizelaar 4e0c60c99c Bug 1727324 - Remove WindowRenderer::AsClientLayerManager. r=aosmond
A step down the path of removing ClientLayerManager.

Differential Revision: https://phabricator.services.mozilla.com/D123451
2021-08-24 15:07:56 +00:00
Matt Woodrow 56768f11a4 Bug 1726562 - Remove option to disable software webrender for popups. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123159
2021-08-24 04:06:34 +00:00
Glenn Watson 3999ffe70d Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
This will allow experimenting with different representations of
the spatial tree (such as interning and/or providing stable
indices during display list building). It may also simplify
future changes to the public API to expose the spatial tree
directly.

As part of these changes, refactor how the debug representation
for the capture format is (de)serialized, to make it simpler to
add different payload vector types in future.

Differential Revision: https://phabricator.services.mozilla.com/D122183
2021-08-24 02:18:51 +00:00
Jeff Gilbert 0d6f7f1c2b Bug 1726863 - Cache/elide GLContext::BindFramebuffer calls. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D123275
2021-08-23 23:59:26 +00:00
Csoregi Natalia 8d7a78b944 Backed out changeset fd92f897de07 (bug 1726863) for causing assertion failures on ContentCompositorBridgeParent.cpp. CLOSED TREE 2021-08-24 01:34:22 +03:00
Jeff Gilbert 16b629d8de Bug 1726863 - Cache/elide GLContext::BindFramebuffer calls. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D123275
2021-08-23 21:54:29 +00:00
Markus Stange 975565c019 Bug 1726836 - Add a mac-only pref gfx.webrender.debug.dump-native-layer-tree-to-file, which, when set, causes each composite to create an HTML file with the layer tree contents at $HOME/Destop/nativelayerdumps-PID/frame-ID.html. r=bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D123261
2021-08-23 17:09:38 +00:00
Michelle Goossens c7d34da2f9 Bug 1723574 - Enable mochitest-browser-chrome tests that no longer fail r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D123247
2021-08-23 12:45:31 +00:00
Andi-Bogdan Postelnicu 92603d5088 Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio,webdriver-reviewers,necko-reviewers,valentin
Updated with rustfmt 1.4.37-stable (a178d03 2021-07-26)

Differential Revision: https://phabricator.services.mozilla.com/D122815
2021-08-23 09:30:24 +00:00
Andi-Bogdan Postelnicu 9945b94835 Bug 1519636 - Reformat recent changes to the Google coding style. r=emilio
Updated with clang-format version 12.0.1 (taskcluster-dNZqCRqWRTqa6cZxPKxh7Q)

Differential Revision: https://phabricator.services.mozilla.com/D122814
2021-08-23 09:30:23 +00:00
Emilio Cobos Álvarez dcedd925dc Bug 1726515 - Workaround GCC-calling-into-LLVM ABI issue by making GenericFontFamily larger. r=hiro
This enum being a bit larger doesn't cause many common data structures
to grow, so this should be fine.

Differential Revision: https://phabricator.services.mozilla.com/D123146
2021-08-23 09:18:49 +00:00
Matt Woodrow 0ee96e3fa5 Bug 1726291 - Remove FrameLayerBuilder. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D122930
2021-08-23 03:07:31 +00:00
Iulian Moraru 87787e85e2 Backed out changeset d93e8a61d529 (bug 1724846) for causing reftest failures on downscale-moz-icon-1.html. CLOSED TREE 2021-08-23 07:11:37 +03:00
Hiroyuki Ikezoe f548cc63dc Bug 1724358 - Don't apply overscroll-behavior properties on non scrollable APZCs for scrolling handoff. r=botond
This behavior is not compliant with the CSS overscroll behavior spec.

The spec clearly explains that overscroll-behavior applies to scroll
container elements. But overflow: hidden elements can be scroll container
elements, thus the property should be respected in terms of the spec
definitions. That said, Chrome has been doing this behavior since 2017 [1],


[1] https://bugs.chromium.org/p/chromium/issues/detail?id=759209
[2] https://github.com/w3c/csswg-drafts/issues/6523

Differential Revision: https://phabricator.services.mozilla.com/D122199
2021-08-22 21:35:19 +00:00
Glenn Watson fa6eeae54b Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
This will allow experimenting with different representations of
the spatial tree (such as interning and/or providing stable
indices during display list building). It may also simplify
future changes to the public API to expose the spatial tree
directly.

As part of these changes, refactor how the debug representation
for the capture format is (de)serialized, to make it simpler to
add different payload vector types in future.

Differential Revision: https://phabricator.services.mozilla.com/D122183
2021-08-22 20:54:07 +00:00
Andi-Bogdan Postelnicu 250fa0d795 Bug 1725145 - header files fixes in the hybrid build env. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D122343
2021-08-22 10:21:55 +00:00
Andi-Bogdan Postelnicu ee0c1c4213 Bug 1725139 - Fix gtest suite in gfx to be buildable outside unified. r=hiro,emilio
Differential Revision: https://phabricator.services.mozilla.com/D122340
2021-08-22 10:21:55 +00:00
Robert Mader 68c6005874 Bug 1726807 - Avoid crashes caused by floating point errors, r=gfx-reviewers,lsalzman
We always expect integer values here, even with fractional scaling,
and if floating point errors cause `bufferClip.x` or `bufferClip.y` to
fall slightly below `0`, this will cause a protocol error.
We can savely avoid this by simply rounding the rect.

Differential Revision: https://phabricator.services.mozilla.com/D123289
2021-08-22 08:44:48 +00:00
Alexandru Michis 27cbe35110 Backed out changeset 6df43bd2a7bc (bug 1724358) for causing gv-junit failures in testOverscrollBehaviorNoneAuto 2021-08-22 03:15:08 +03:00
Hiroyuki Ikezoe 8f7a2ef029 Bug 1724358 - Don't apply overscroll-behavior properties on non scrollable APZCs for scrolling handoff. r=botond
This behavior is not compliant with the CSS overscroll behavior spec.

The spec clearly explains that overscroll-behavior applies to scroll
container elements. But overflow: hidden elements can be scroll container
elements, thus the property should be respected in terms of the spec
definitions. That said, Chrome has been doing this behavior since 2017 [1],


[1] https://bugs.chromium.org/p/chromium/issues/detail?id=759209
[2] https://github.com/w3c/csswg-drafts/issues/6523

Differential Revision: https://phabricator.services.mozilla.com/D122199
2021-08-21 23:40:44 +00:00
Robert Mader 5787ce04bc Bug 1726807 - Assert on valid wp_viewport values, r=gfx-reviewers,mstange
Submitting invalid values to the Wayland compositor will trigger a
protocol error, which in turn will trigger an unhandled crash.
In order to create crash reports in such cases, assert on valid
values in such cases.

In the long run we can replace this with a general Wayland protocol
error handler.

Differential Revision: https://phabricator.services.mozilla.com/D123286
2021-08-21 15:43:44 +00:00
Csoregi Natalia a3124addd1 Backed out changeset ef1d6ccf8d61 (bug 1726863) for causing assertion failures on CompositorBridgeParent.cpp. CLOSED TREE 2021-08-21 09:15:08 +03:00
Jeff Gilbert aa8340500e Bug 1726863 - Cache/elide GLContext::BindFramebuffer calls. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D123275
2021-08-21 02:08:23 +00:00
Hiroyuki Ikezoe f0a0d672a3 Bug 1726638 - Introduce nsIDOMWindowUtils.toScreenRect. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D123175
2021-08-21 00:31:13 +00:00
Hiroyuki Ikezoe f252e47c82 Bug 1726638 - Rename nsIDOMWindowUtils.toScreenRect to ToScreenRectInCSSUnits. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D123174
2021-08-21 00:31:13 +00:00
Butkovits Atila 477919f37c Backed out changeset a4a346ecefd7 (bug 1726265) for causing failures at test_2_conformance2__extensions__oes-draw-buffers-indexed.html. CLOSED TREE 2021-08-21 01:46:52 +03:00
Jeff Gilbert 28e862be2d Bug 1726265 - Prototype webgl draft ext OES_draw_buffers_indexed. r=lsalzman,emilio
Differential Revision: https://phabricator.services.mozilla.com/D122916
2021-08-20 20:59:54 +00:00
Michelle Goossens d192833f8d Bug 1723574 - Migrate Windows 10 mochitest-browser-chrome suite from AWS to Azure r=jmaher,preferences-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D122511
2021-08-20 20:55:02 +00:00
Jamie Nicol b1e2f230c0 Bug 1725508 - Don't use BGRA with glTexStorage on Android Intel BayTrail devices. r=gfx-reviewers,jrmuizel
Intel BayTrail devices claim to support GL_EXT_texture_format_BGRA8888
as well as GL_EXT_texture_storage, which means we should be able to
use glTexStorage along with a BGRA internal format. However, doing so
does not work, resulting in black squares being rendered rather than
images.

Instead, use RGBA as the internal format and rely on texture swizzling
during sampling.

Differential Revision: https://phabricator.services.mozilla.com/D123246
2021-08-20 18:22:21 +00:00
Jeff Muizelaar bc83bb5886 Bug 1726672 - Remove PaintThread. r=mattwoodrow
Basically just rm PaintThread.cpp and get things to build.

Differential Revision: https://phabricator.services.mozilla.com/D123170
2021-08-20 13:20:44 +00:00
Hiroyuki Ikezoe aa28314d5e Bug 1724149 - Run the test in test_interrupted_reflow.html in a new tab. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D123178
2021-08-20 09:48:15 +00:00
Cosmin Sabou b53abb88e7 Backed out changeset e111894317cc (bug 1726291) for causing assertion failures on WebRenderCommandBuilder.cpp. CLOSED TREE 2021-08-20 06:22:40 +03:00
Matt Woodrow 94015526e1 Bug 1726291 - Remove FrameLayerBuilder. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D122930
2021-08-20 02:20:39 +00:00
Cosmin Sabou 135d55cd7e Backed out changeset 24e0d3aa4ada (bug 1726265) for causing non-unified build bustage. CLOSED TREE 2021-08-20 04:29:04 +03:00
Jeff Gilbert df78036187 Bug 1726265 - Prototype webgl draft ext OES_draw_buffers_indexed. r=lsalzman,emilio
Differential Revision: https://phabricator.services.mozilla.com/D122916
2021-08-20 00:05:06 +00:00
Botond Ballo 967edc9a03 Bug 1723200 - Give a deferred transform its own WebRenderLayerScrollData node when processing a scroll info layer item. r=tnikkel
Depends on D123036

Differential Revision: https://phabricator.services.mozilla.com/D123037
2021-08-19 18:31:08 +00:00
Botond Ballo 748e509a86 Bug 1723200 - Revise ancestor transform assertion in WebRenderLayerScrollData::Initialize(). r=tnikkel
What we want to assert is that, apart from a couple of edge cases,
aAncestorTransformId is represented in mScrollIds.

The previous approach assumed that mScrollIds was populated entirely
in the loop above, but in fact it can also be populated via
AppendScrollMetadata().

Differential Revision: https://phabricator.services.mozilla.com/D123036
2021-08-19 18:31:07 +00:00
Jeff Muizelaar 84d6f5a30c Bug 1726594 - Add some documentation about the purpose of VsyncIOThread. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D123136
2021-08-19 16:35:32 +00:00
Jeff Muizelaar 1916934834 Bug 1725742. Validate tag offsets upfront to avoid weird overflow situations later on. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D122856
2021-08-19 16:33:03 +00:00
Hiroyuki Ikezoe 9e78018010 Bug 1725540 - Use nsIDOMWindowUtils.toScreenRect to get positions in the screen coords to avoid accessing window.top directly. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D122560
2021-08-19 07:51:28 +00:00
Hiroyuki Ikezoe 77ade58a2b Bug 1725540 - Get top level window's resolution via SpecialPowers.spawn. r=tnikkel
Thus a bunch of relevant functions need to be async.

Differential Revision: https://phabricator.services.mozilla.com/D122559
2021-08-19 07:51:27 +00:00
Hiroyuki Ikezoe f1f2923a0c Bug 1725540 - Rewrite helper_touch_action_regions.html to make it work with some async utility functions. r=tnikkel
The test function in helper_touch_action_regions.html needs to run as a
generator function, which means it doesn't work with async/await manners, so
once after we make some utility functions as async, it won't work as expected.
To avoid it, getting the scroller position in the screen coords part needs to
be split out from the generator since the part will be async in the next commit,
and nsIDOMWindowUtils.sendNativeTouchPoint needs to be used directly instead of
using synthesizeNativeTouch since synthesizeNativeTouch will also be async.

Differential Revision: https://phabricator.services.mozilla.com/D122558
2021-08-19 07:51:27 +00:00
Hiroyuki Ikezoe faa5cb9019 Bug 1725540 - Drop getTargetOrigin. r=tnikkel
It's not used.

Differential Revision: https://phabricator.services.mozilla.com/D122557
2021-08-19 07:51:26 +00:00
Botond Ballo c6e24a791e Bug 1726450 - Upgrade the 'two layers that scroll together' assertion to MOZ_ASSERT again. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D123016
2021-08-19 02:25:49 +00:00
Dzmitry Malyshau 1da5651ba2 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-08-18 14:11:21 +00:00
Brindusan Cristian 1cdd46e3ba Backed out changeset e34f15d5e74d (bug 1622846) for causing linux toolchain build bustages.
CLOSED TREE
2021-08-18 07:58:38 +03:00
Timothy Nikkel a288ba0b52 Bug 1724901. Add test. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D122927
2021-08-18 03:44:56 +00:00
Timothy Nikkel 2bb375920d Bug 1724901. Use the scale from ancestor documents in other processes in the StackingContextHelper. r=jrmuizel
This ensures images and svg content and anything else rasterized in the content process has the right scale.

Differential Revision: https://phabricator.services.mozilla.com/D122540
2021-08-18 03:44:56 +00:00
Narcis Beleuzu de6255c9b1 Backed out 2 changesets (bug 1723665, bug 1724846) as per gw`s request
Backed out changeset 5f2aff372a24 (bug 1724846)
Backed out changeset 0cc8e08b6937 (bug 1723665)
2021-08-18 03:17:33 +03:00
Matt Woodrow 2cd0480476 Bug 1726063 - Remove support for non-WR compositor initialization. r=jrmuizel,aosmond
Depends on D122796

Differential Revision: https://phabricator.services.mozilla.com/D122798
2021-08-17 23:19:44 +00:00
Dzmitry Malyshau 6d7cfc6c90 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-08-17 15:22:45 +00:00
Jon Bauman bacfba2091 Bug 1725056 - qcms: avoid undefined behavior when handling CICP values. r=jrmuizel,tsmith
Differential Revision: https://phabricator.services.mozilla.com/D122318
2021-08-16 23:13:36 +00:00
Hiroyuki Ikezoe 10263485a1 Bug 1691358 - Add a test to make sure nsIDOMWindowUtils.setResolutionAndScaleTo properly delivered to OOP iframes. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D122661
2021-08-16 21:52:05 +00:00
Jonathan Kew f1d0b4bbe4 Bug 1725940 - patch 2 - Move nsFontCache from the device context to the prescontext. r=emilio
To look up/instantiate platform fonts based on CSS font properties, we create a gfxFontGroup from an nsFont and other attributes; this is currently cached in an nsFontCache attached to the nsDeviceContext.

However, this assumes that the mapping to platform fonts will be the same for all documents using the given device context. In a world where visibility of platform fonts to the page may be restricted, and may depend on the individual document (e.g. if the user disables tracking protection for a particular site), the mapping represented by nsFontCache may vary, and determining how to resolve a given font request will need access to the requesting document in order to know what visibility it is allowed.

To support this, this patch moves the nsFontCache from nsDeviceContext to nsPresContext. In itself, this should cause no visible change in behavior, but it provides a basis for the patches that will follow in bug 1715501.

It's likely that this will have some effects on individual performance tests, depending on the exact content and sequencing of page loads, because of changed caching behavior. E.g. having a per-presContext cache may sometimes mean that we no longer take advantage of a cached gfxFontGroup that a previously-loaded page created; but on the other hand the caches will tend to be smaller and have faster lookups.

My testing so far suggests that we will see some apparent regressions, alongside some improvements, but that overall there should be little change. I'd like to get this change landed separately, before any of the actual font-visibility behavior changes, so that we can more clearly see and isolate any unexpected effects.

Differential Revision: https://phabricator.services.mozilla.com/D122715
2021-08-16 13:58:03 +00:00
Jonathan Kew 6ab15bd8a1 Bug 1725940 - patch 1 - Extract nsFontCache from nsDeviceContext.cpp to its own file. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D122714
2021-08-16 13:58:03 +00:00
Butkovits Atila 5d19838121 Backed out 2 changesets (bug 1692609) for causing failures at test_getUserMedia_addTrackRemoveTrack. CLOSED TREE
Backed out changeset ce4b4f786c4d (bug 1692609)
Backed out changeset d36f5f4ece1e (bug 1692609)
2021-08-16 07:53:47 +03:00
Jeff Gilbert dbf7829bd5 Bug 1692609 - Force 60hz for RFP and use that as the time-atom r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D122045
2021-08-16 03:39:25 +00:00
Glenn Watson 2ae662cff6 Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
This will allow experimenting with different representations of
the spatial tree (such as interning and/or providing stable
indices during display list building). It may also simplify
future changes to the public API to expose the spatial tree
directly.

As part of these changes, refactor how the debug representation
for the capture format is (de)serialized, to make it simpler to
add different payload vector types in future.

Differential Revision: https://phabricator.services.mozilla.com/D122183
2021-08-15 20:44:03 +00:00
Jeff Gilbert 16e47c00fa Bug 1725714 - Load glTexSubImage3DOES for texture_3D. r=gfx-reviewers,jrmuizel
Also drop support for the 1996 ext EXT_texture3D, particularly since
GLFeature::texture_3D is core in GL1.2.

Differential Revision: https://phabricator.services.mozilla.com/D122644
2021-08-14 00:07:19 +00:00
Markus Stange 193a8de121 Bug 1724433 - Remove special CG text drawing code from DrawTargetSkia. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D122399
2021-08-13 23:08:02 +00:00
Glenn Watson c4ae6a4095 Bug 1723665 - Move coordinate mapping and snapping from scene building to display list building r=aosmond,gfx-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D121591
2021-08-12 23:44:55 +00:00
Andrew Osmond ddabc1b810 Bug 1725388 - Remove pref/envvars that can disable WebRender. r=jrmuizel
MOZ_WEBRENDER=0 now does nothing -- you will either get HW-WR or SW-WR
depending on the platform configuration. The pref
gfx.webrender.force-legacy-layers is removed. This leaves no
configuration option to disable WebRender.

MOZ_WEBRENDER=1 will continue to force WR on, which will ensure in CI we
get HW-WR unless gfx.webrender.software is true.

Differential Revision: https://phabricator.services.mozilla.com/D122474
2021-08-12 20:28:53 +00:00
Iulian Moraru 68dacf122d Backed out 2 changesets (bug 1725388) for causing multiple failures. CLOSED TREE
Backed out changeset cb961c255c8c (bug 1725388)
Backed out changeset 4ee9abeebd43 (bug 1725388)
2021-08-12 19:21:05 +03:00
Andrew Osmond 43a2a6d05e Bug 1725388 - Remove pref/envvars that can disable WebRender. r=jrmuizel
MOZ_WEBRENDER=0 now does nothing -- you will either get HW-WR or SW-WR
depending on the platform configuration. The pref
gfx.webrender.force-legacy-layers is removed. This leaves no
configuration option to disable WebRender.

MOZ_WEBRENDER=1 will continue to force WR on, which will ensure in CI we
get HW-WR unless gfx.webrender.software is true.

Differential Revision: https://phabricator.services.mozilla.com/D122474
2021-08-12 13:54:25 +00:00
Nicolas Silva 2966ad7b5b Bug 1724968 - Make WR profiler less confusing when there was no sample for a while. r=gfx-reviewers,kvark
Before this patch the embedded profiler would show the last avg/max values for a profile counter if it hasn't had samples for a long time. After this patch the counter shows 0 if there was no sample.

For example when no glyphs are rasterized there are no 'Rasterized glyphs' samples. If no glyphs are rasterized for multiple seconds then we are currently still showing the average and max number of rasterized glyphs from seconds ago which makes it look like we are constantly rasterizing glyphs. With this patch the counter goes back to zero after half a second of not rasterizing glyphs.

Differential Revision: https://phabricator.services.mozilla.com/D122263
2021-08-12 12:09:50 +00:00