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

36916 Коммитов

Автор SHA1 Сообщение Дата
Kartikaya Gupta 442f54f533 Bug 1566599 - Have the WR hit-test return all results to the caller. r=botond
No functional changes here, just plumbing to allow the caller to
access all the results instead of just the one picked out by
bindings.rs.

Differential Revision: https://phabricator.services.mozilla.com/D69202

--HG--
extra : moz-landing-system : lando
2020-04-14 00:43:18 +00:00
Dzmitry Malyshau 964f4f889c Bug 1629605 - wgpu tracking fixes r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D70707

--HG--
extra : moz-landing-system : lando
2020-04-14 00:32:50 +00:00
Brindusan Cristian 2ad9b58e73 Backed out changeset d05ac327b65e (bug 1626822) for bustages at gfxPlatform.cpp. CLOSED TREE 2020-04-14 03:12:33 +03:00
Brindusan Cristian 090d7a16dc Backed out changeset 2c1a2c08592a (bug 1629605) for sm bustages. CLOSED TREE 2020-04-14 03:11:24 +03:00
sotaro fb4859cf94 Bug 1626822 - Add a way to enable WebRender without GPU process on Windows r=jrmuizel
WebRender could be used when WebRender does not use ANGLE. And there is a case that we want to use WebRender with ANGLE for testing.

Differential Revision: https://phabricator.services.mozilla.com/D69771

--HG--
extra : moz-landing-system : lando
2020-04-13 23:55:08 +00:00
Glenn Watson 7eee44a592 Bug 1629693 - Enable GPU cache scatter path when running ANGLE. r=kvark
On some (mostly older, integrated) GPUs, the normal GPU texture cache
update path doesn't work well when running on ANGLE, causing CPU stalls
inside D3D and/or the GPU driver. To reduce the number of code paths we
have active that require testing, we will enable the GPU cache scatter
update path on all devices running with ANGLE. We want a better solution
long-term, but for now this is a significant performance improvement on
HD4600 era GPUs, and shouldn't hurt performance in a noticeable way on
other systems running under ANGLE.

Differential Revision: https://phabricator.services.mozilla.com/D70764

--HG--
extra : moz-landing-system : lando
2020-04-13 23:26:07 +00:00
Dzmitry Malyshau 64c80998c6 Bug 1629605 - wgpu tracking fixes r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D70707

--HG--
extra : moz-landing-system : lando
2020-04-13 22:46:31 +00:00
Timothy Nikkel b89bb47353 Bug 1628988. Don't apply ImgDrawResult::NOT_READY in PaintMaskSurface. r=mstange
PaintMaskSurface shouldn't be applying ImgDrawResult::NOT_READY when we don't have a frame and the mask image hasn't been resolved. ImgDrawResult is only about drawing images, not about waiting for external resources to resolve or frames to get constructed. The only purpose of tracking ImgDrawResult's in painting code is to know which frames we need to invalidate because their rendering might change if we sync decode images during a Draw call. Applying NOT_READY here means we invalidate for every paint with the sync decode images flag (ie reftest paints), and it never changes from NOT_READY. This bites the reftest for this bug 1624532.

To fix it, instead of "overloading" the ImgDrawResult we return a bool to indicate the mask is missing or incomplete.

Differential Revision: https://phabricator.services.mozilla.com/D70595

--HG--
extra : moz-landing-system : lando
2020-04-13 20:08:05 +00:00
Dzmitry Malyshau a3e5cb126b Bug 1617369 - Rustfmt pass over gfx/wgpu r=sylvestre
uses the default config with rustfmt-stable

Differential Revision: https://phabricator.services.mozilla.com/D70698

--HG--
extra : moz-landing-system : lando
2020-04-13 17:26:41 +00:00
Dzmitry Malyshau e8a60d2eab Bug 1624174 - Update wgpu to get the coordinate spaces right r=jgilbert
The updated wgpu has the coordinate space fixes.
Depends on

  - https://phabricator.services.mozilla.com/D70421
  - https://phabricator.services.mozilla.com/D70432
  - https://phabricator.services.mozilla.com/D70646

Differential Revision: https://phabricator.services.mozilla.com/D70140

--HG--
rename : third_party/rust/rendy-descriptor/Cargo.toml => third_party/rust/gfx-descriptor/Cargo.toml
rename : third_party/rust/rendy-memory/Cargo.toml => third_party/rust/gfx-memory/Cargo.toml
rename : third_party/rust/rendy-memory/src/allocator/dynamic.rs => third_party/rust/gfx-memory/src/allocator/general.rs
rename : third_party/rust/rendy-memory/src/heaps/heap.rs => third_party/rust/gfx-memory/src/heaps/heap.rs
rename : third_party/rust/rendy-memory/src/utilization.rs => third_party/rust/gfx-memory/src/stats.rs
extra : moz-landing-system : lando
2020-04-13 13:42:15 +00:00
Glenn Watson 8c7529f5d0 Bug 1628901 - Fix panic caused by calling BeginDraw with empty dirty rect. r=sotaro
Previously, it was possible for a tile that had a valid scroll root
to have an empty valid (and dirty) rect due to the picture cache
clip rect, in some situations.

This could result in the tile not being tagged as off-screen, which
means it is added to the queue of tiles to be updated. On most
platforms this is benign, but the BeginDraw method of DirectComposition
fails if the dirty rect is empty.

This patch fixes the logic so that tiles that meet these conditions
are correctly tagged as not visible, and skipped from update queue.

Differential Revision: https://phabricator.services.mozilla.com/D70616

--HG--
extra : moz-landing-system : lando
2020-04-13 00:37:19 +00:00
Dzmitry Malyshau 540f1bea3f Bug 1629359 - Update parking_lot to 0.10 r=kats
Differential Revision: https://phabricator.services.mozilla.com/D70646

--HG--
rename : third_party/rust/parking_lot/src/mutex.rs => third_party/rust/parking_lot/src/fair_mutex.rs
extra : moz-landing-system : lando
2020-04-12 19:14:43 +00:00
Stefan Hindli a8922cc7ff Backed out changeset 01cb2f16985e (bug 1629359) for linux x64 qr webgpu bustage
--HG--
extra : rebase_source : 29e879b00d66376a0508bc2df060fcf3f6028590
2020-04-12 22:09:15 +03:00
Dzmitry Malyshau 80f2377b05 Bug 1629359 - Update parking_lot to 0.10 r=kats
Differential Revision: https://phabricator.services.mozilla.com/D70646

--HG--
rename : third_party/rust/parking_lot/src/mutex.rs => third_party/rust/parking_lot/src/fair_mutex.rs
extra : moz-landing-system : lando
2020-04-12 16:25:25 +00:00
Dzmitry Malyshau a1b1f0462a Bug 1620606 - Capture clip and primitive stores r=aosmond
this is purely infomational and doesn't get loaded back ever

Differential Revision: https://phabricator.services.mozilla.com/D68615

--HG--
extra : moz-landing-system : lando
2020-04-09 11:10:49 +00:00
Dzmitry Malyshau 0e42a4799d Bug 1628772 - Update core-foundation dependency to 0.7 r=kats
Differential Revision: https://phabricator.services.mozilla.com/D70432

--HG--
extra : moz-landing-system : lando
2020-04-11 20:14:41 +00:00
Joshua Gahan 3521ab2e07 Bug 1622655 - Replaced !mInvalidationListeners.size() with mInvalidationListeners.empty(). r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D70464

--HG--
extra : moz-landing-system : lando
2020-04-11 16:16:10 +00:00
Dzmitry Malyshau 5618793de6 Bug 1629024 - Fix literal string cast in WebGPU nightly check r=kats
Differential Revision: https://phabricator.services.mozilla.com/D70552

--HG--
extra : moz-landing-system : lando
2020-04-11 10:18:05 +00:00
Lee Salzman 11c8b841d8 Bug 1626188 - ensure shader keys are in sorted order. r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D70555

--HG--
extra : moz-landing-system : lando
2020-04-11 00:25:46 +00:00
Imanol Fernandez 3f977ef73a Bug 1627331 - Do not dispatch WebVR events when the display is used via WebXR API r=kip,daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D69613

--HG--
extra : moz-landing-system : lando
2020-04-07 20:37:00 +00:00
Dzmitry Malyshau 34dac56d81 Bug 1628754 - CBindGen update to 0.14.1 r=emilio,kats
Differential Revision: https://phabricator.services.mozilla.com/D70421

--HG--
extra : moz-landing-system : lando
2020-04-10 19:13:25 +00:00
Lee Salzman 45437c6323 Bug 1627718 - clamp SWGL scale_blit to valid source and dest regions. r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D70282

--HG--
extra : moz-landing-system : lando
2020-04-10 19:58:56 +00:00
Andrew Osmond 0d2780d86c Bug 455077 - Enable color management for all CSS/images, not just tagged images. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D62510

--HG--
extra : moz-landing-system : lando
2020-04-10 13:02:55 +00:00
Chris Martin f187ef5ef8 Bug 1541398 - Force gfxImageSurface for OffscreenSurface in content r=jfkthame
For Win32k lockdown, we can't use gfxWindowsSurface in content for offscreen
surfaces, since it invokes Windows GDI calls.

It appears from testing that a gfxImageSurface works just fine, so this change
just disables the native surface usage for content processes.

Differential Revision: https://phabricator.services.mozilla.com/D70022

--HG--
extra : moz-landing-system : lando
2020-04-07 15:34:36 +00:00
Roger Zanoni 17bfebd536 Bug 1626777 - Remove redundant return statement in WebRenderBridgeParent. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D70483

--HG--
extra : moz-landing-system : lando
2020-04-10 08:04:43 +00:00
Bert Peers 9051184fab Bug 1628137 - Switch to using WaitForVBlank for vsync on Windows r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D70463

--HG--
extra : moz-landing-system : lando
2020-04-10 02:24:07 +00:00
Jim Blandy 7582bd90d4 Bug 1628910: Use correct lower bound for skip_end in SWGL's force_clear function. r=lsalzman
In wr/swgl/src/gl.cc, force_clear constrains skip_end to be no less than y0, but
skip_end is a horizontal position, not a vertical position, so skip_start is the
correct lower bound.

Differential Revision: https://phabricator.services.mozilla.com/D70462

--HG--
extra : moz-landing-system : lando
2020-04-09 23:54:54 +00:00
Dzmitry Malyshau 3d20dd0f60 Bug 1616741 - Force-disable WebGPU when not on Nightly r=kats
Differential Revision: https://phabricator.services.mozilla.com/D70435

--HG--
extra : moz-landing-system : lando
2020-04-09 21:11:09 +00:00
Mihai Alexandru Michis 6013b44308 Backed out changeset e60ce7274c9f (bug 1628754) for causing bustages in ServoStyleConsts.h
CLOSED TREE
2020-04-10 04:05:15 +03:00
Mihai Alexandru Michis 5beb91b795 Backed out changeset d91a97562b48 (bug 1628772) for causing failures regarding core-foundation.
CLOSED TREE
2020-04-10 03:42:05 +03:00
Dzmitry Malyshau e71799ed9d Bug 1628754 - Cbindgen update to 0.14.0 r=kats
Differential Revision: https://phabricator.services.mozilla.com/D70421

--HG--
extra : moz-landing-system : lando
2020-04-09 21:10:40 +00:00
Dzmitry Malyshau feed464a5d Bug 1628772 - Update core-foundation dependency to 0.7 r=kats
Differential Revision: https://phabricator.services.mozilla.com/D70432

--HG--
extra : moz-landing-system : lando
2020-04-09 20:57:18 +00:00
Bert Peers 03acaa106c Bug 1624468 - Add a fast path for more gradient types in WR r=gw
Add support for repeating gradients in the cached fast path.

Documentation:
https://bugzilla.mozilla.org/attachment.cgi?id=9138638

Differential Revision: https://phabricator.services.mozilla.com/D69476

--HG--
extra : moz-landing-system : lando
2020-04-08 22:19:11 +00:00
Glenn Watson d205961c97 Bug 1628564 - Remove the common primitive template data for picture primitives. r=nical
Picture primitives are special, so it doesn't make sense to have
the normal common primitive data for them. For example, the
bounding rect of a picture is determined during frame building.

Removing the common data for picture primitives simplifies the
code and makes it impossible to accidentally access an invalid
bounding rect for picture primitives.

Differential Revision: https://phabricator.services.mozilla.com/D70295

--HG--
extra : moz-landing-system : lando
2020-04-09 15:25:25 +00:00
Jim Blandy c5713e75b5 Bug 1628508: Add 'IMPLICIT' comment for webrender_api::display_item::ScrollFrameDisplayItem. DONTBUILD r=gw
Differential Revision: https://phabricator.services.mozilla.com/D70269

--HG--
extra : moz-landing-system : lando
2020-04-08 23:31:36 +00:00
James Willcox 3ed4ef71c1 Bug 1627737 - Add `mTargetIsRoot` to `APZEventResult` r=botond
This allows us to determine if the event was handled in the
toplevel frame or not.

Differential Revision: https://phabricator.services.mozilla.com/D69871

--HG--
extra : moz-landing-system : lando
2020-04-08 16:13:50 +00:00
Jonathan Kew b50822cb39 Bug 1627691 - Don't include 'hidden' system fonts when preloading metadata to support the font-selection algorithm. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D70216

--HG--
extra : moz-landing-system : lando
2020-04-09 09:30:40 +00:00
Kartikaya Gupta 9ca0e73265 Bug 1610731 - Followup to fix IPC for RectAbsolute. r=ktaeleman,botond
The parameters to the middle two arguments of SetBox were flipped, causing
RectAbsolute to get improperly swizzled over IPC.

Differential Revision: https://phabricator.services.mozilla.com/D70252

--HG--
extra : moz-landing-system : lando
2020-04-08 21:06:56 +00:00
Jim Blandy 3094dff055 Bug 1628130: Delete webrender::prim_store::PrimitiveSceneData. r=gw
Most `Internable` implementations give `PrimitiveSceneData` as their
`InternData` associated type, the type of data associated with the handle in the
scene builder thread. However, nothing in the scene builder code, or anywhere in
WebRender, actually uses the contents of `PrimitiveSceneData`, so it can be
replaced with `()` with no effect on the code other than memory savings.

Differential Revision: https://phabricator.services.mozilla.com/D70121

--HG--
extra : moz-landing-system : lando
2020-04-08 19:53:08 +00:00
Jonathan Kew afb04b12e3 Bug 1628419 - Don't keep a live CGFont reference in every macOS font entry; only retain it for fonts actually used. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D70225

--HG--
extra : moz-landing-system : lando
2020-04-08 17:35:30 +00:00
Eric Rahm 8e4a18ed64 Bug 1627392 - Add missing includes and namespaces to xpcom/base. r=xpcom-reviewers,sg
Differential Revision: https://phabricator.services.mozilla.com/D69658

--HG--
extra : moz-landing-system : lando
2020-04-08 10:12:33 +00:00
Kris Taeleman d6bbb95830 Bug 1622020 - Add DTZ info to about:support. r=botond,fluent-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D69839

--HG--
extra : moz-landing-system : lando
2020-04-06 22:49:37 +00:00
Andrew Osmond 1a32712543 Bug 1622220 - Add UnpremultiplyRow and extend SwizzleRow. r=lsalzman
UnpremultiplyRow will be used in the image encoders to reverse
premultiplication. SwizzleRow needs to support copying (no swizzling)
and swapping RGB/BGR.

Differential Revision: https://phabricator.services.mozilla.com/D66743

--HG--
extra : moz-landing-system : lando
2020-04-08 12:50:40 +00:00
Kartikaya Gupta 6f24092aae Bug 1424714 - Prevent the displayport clip from clipping sticky items. r=mstange
The displayport clip that is applied to sticky items from the enclosing
scrollframe can cause sticky items to checkerboard even when they might
reasonably be left visible. This is because the displayport clip moves as
the enclosing scrollframe is scrolled, but sticky items may remain fixed
during such scrolling. The displayport clip can therefore clip out sticky
items even if they are "stuck" and should be user-visible.

This patch sets a flag to identify when a sticky item is being clipped by
the displayport clip, and ensures that it doesn't actually get clipped. In
the case where other clips are being applied to the sticky item, we leave the
clips unaffected. This allows for other enclosing elements to clip the sticky
item as before.

Differential Revision: https://phabricator.services.mozilla.com/D68582

--HG--
extra : moz-landing-system : lando
2020-04-08 04:59:14 +00:00
Jonathan Kew ad86567b86 Bug 1627605 - Avoid creating strings with shared-memory buffers that could become unmapped on a font-list refresh. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D70025

--HG--
extra : moz-landing-system : lando
2020-04-08 09:53:35 +00:00
Glenn Watson 29f4bd98b6 Bug 1627816 - Fix skipping composites when tile surface changes. r=nical
This fixes a case where the backing surface of a picture cache tile
changes, but was still being considered a no-op frame, which skips
the composite as an optimization if nothing has changed.

In this case, the tile surface changes from a rasterized texture
to a solid color that doesn't require a picture cache texture.

The patch ensures that the composite surface descriptors that are
used to detect no-op frame compositions include the backing
surface for each of the tiles that make up this virtual surface.

Differential Revision: https://phabricator.services.mozilla.com/D70138

--HG--
extra : moz-landing-system : lando
2020-04-08 09:24:48 +00:00
Gabriele Svelto 2bc88d71e0 Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj
Crash annotations in content processes are currently sent over IPC via
shared memory buffers. To pave the way for the Rust rewrite of the exception
handler we are removing this code and gathering all the crash annotations
within the content processes themselves. This patch causes annotations to be
stored in the global table of each content process. They are then streamed
out to the parent process by the exception handler together with the
exception-time annotations.

This has a number of benefits:

* we have one less channel to exchange data between content processes and
  the parent process
* we save memory because we don't need to allocate the shared memory buffers
* annotations are faster because we don't stream them all out every time one
  changes
* we won't truncate annotations anymore if we run out of space in the shared
  segment.
* we don't need delayed annotations anymore, so we can get rid of the
  associated machinery

As I refactored the code I tried to adjust all the obsolete comments,
consolidate shared code and remove the redundant steps that were sometimes
present. In many places we had two entire crash annotation tables we merged to
change just a couple; that comes from the fact that historically we loaded
them from disk. Now it doesn't matter anymore and we can just go ahead and
change the ones we care about.

Differential Revision: https://phabricator.services.mozilla.com/D62586

--HG--
extra : moz-landing-system : lando
2020-04-08 06:55:40 +00:00
Daosheng Mu c076a67116 Bug 1617023 - Part 3: Implement XR controller selection and squeeze actions. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D67433

--HG--
extra : moz-landing-system : lando
2020-04-08 03:23:54 +00:00
Daosheng Mu f2c389fbee Bug 1617023 - Part 2: OpenVR/Oculus controller XR mode. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D67432

--HG--
extra : moz-landing-system : lando
2020-04-08 03:23:47 +00:00
Daosheng Mu 595afe46cc Bug 1617023 - Part 1: Integrating Gamepad with XRInputSource. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D67431

--HG--
extra : moz-landing-system : lando
2020-04-08 03:23:34 +00:00
Stefan Hindli 585cd46052 Backed out 3 changesets (bug 1617023) for causing mass bustages CLOSED TREE
Backed out changeset 2ff0eabe84e9 (bug 1617023)
Backed out changeset 8cadc6705690 (bug 1617023)
Backed out changeset 3a6247b39244 (bug 1617023)
2020-04-08 04:26:40 +03:00
Ting-Yu Lin af15e4dfe8 Bug 1627398 Part 2 - Support printing frame tree in CSS pixels. r=heycam
Audit all the types related to app units [1] printed in
nsIFrame::List (and all the methods that override it), and use
ConvertToString to convert their printing format to CSS pixels if
needed.

In addition, add operator<< to BaseCoord so that it can cooperate with
mozilla::ToString, which is needed by ConvertToString.

[1] The types include nsRect, nsSize, nscoord, LogicalRect, and
LogicalSize.

Differential Revision: https://phabricator.services.mozilla.com/D69915

--HG--
extra : moz-landing-system : lando
2020-04-08 00:18:52 +00:00
Daosheng Mu 2fcc59f39e Bug 1617023 - Part 3: Implement XR controller selection and squeeze actions. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D67433

--HG--
extra : moz-landing-system : lando
2020-04-07 22:55:48 +00:00
Daosheng Mu 24566d323f Bug 1617023 - Part 2: OpenVR/Oculus controller XR mode. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D67432

--HG--
extra : moz-landing-system : lando
2020-04-07 22:55:39 +00:00
Daosheng Mu 91ad9bdf58 Bug 1617023 - Part 1: Integrating Gamepad with XRInputSource. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D67431

--HG--
extra : moz-landing-system : lando
2020-04-07 22:55:41 +00:00
Glenn Watson 8485fe5358 Bug 1627864 - Fix invalidation of tiles when the shape of the spatial node tree changes. r=nical,Bert,kvark
Previously, primitive dependency checking would invalidate a tile if
the spatial node index for a given primitive changed.

However, if a new display list is sent that changes the shape of
the spatial node tree this may cause unnecessary invalidations.

For example, a new display list that inserts a new spatial node at
the start of the tree could result in spatial node indices being
different, even though the values of the transforms was the same.

This patch changes the invalidation logic for spatial nodes to
compare the transforms by value, rather than index, meaning that
invalidations are avoided if the shape of the spatial tree has
changed, but the values are consistent.

Differential Revision: https://phabricator.services.mozilla.com/D69913

--HG--
extra : moz-landing-system : lando
2020-04-07 23:58:19 +00:00
Daosheng Mu 7f945fd97b Bug 1611310 - Implement XRInputSource module. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D67430

--HG--
extra : moz-landing-system : lando
2020-04-07 23:49:47 +00:00
Stefan Hindli 3b135390cf Backed out changeset 717f97c0d871 (bug 1611310) for causing mass build bustages CLOSED TREE 2020-04-08 01:46:32 +03:00
Stefan Hindli 21c4b1ce50 Backed out 5 changesets (bug 1617023, bug 1627141, bug 1626812) for causing being related to Bug 1611310 CLOSED TREE
Backed out changeset b975de50682b (bug 1627141)
Backed out changeset 481325c44e80 (bug 1626812)
Backed out changeset 546b90fd1689 (bug 1617023)
Backed out changeset f54ac49bbc0a (bug 1617023)
Backed out changeset 1ebf382e7133 (bug 1617023)
2020-04-08 01:45:47 +03:00
Daosheng Mu 673fd01dae Bug 1617023 - Part 3: Implement XR controller selection and squeeze actions. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D67433

--HG--
extra : moz-landing-system : lando
2020-04-07 21:30:53 +00:00
Daosheng Mu e4b13d6e39 Bug 1617023 - Part 2: OpenVR/Oculus controller XR mode. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D67432

--HG--
extra : moz-landing-system : lando
2020-04-07 21:30:02 +00:00
Daosheng Mu 184166d359 Bug 1617023 - Part 1: Integrating Gamepad with XRInputSource. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D67431

--HG--
extra : moz-landing-system : lando
2020-04-07 22:24:43 +00:00
Daosheng Mu e2b211270f Bug 1611310 - Implement XRInputSource module. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D67430

--HG--
extra : moz-landing-system : lando
2020-04-07 21:26:01 +00:00
Lee Salzman 9bc70fa0d9 Bug 1627368 - allow requesting trilinear filtering in SWGL. r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D69897

--HG--
extra : moz-landing-system : lando
2020-04-07 20:10:23 +00:00
Imanol Fernandez 9035f18d3a Bug 1614499 - Implement XRWebGLLayer r=jgilbert,daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D62809

--HG--
extra : moz-landing-system : lando
2020-04-07 18:48:13 +00:00
Ting-Yu Lin 5a44b5df11 Bug 1624684 Part 3 - Let BaseMargin::ApplySkipSides return a reference to itself, and convert some callers. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D69759

--HG--
extra : moz-landing-system : lando
2020-04-07 18:43:51 +00:00
Edouard Oger f8baae0352 Bug 1627444 p3 - Replace ByteSize by ByteSizeLong. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D69712

--HG--
extra : moz-landing-system : lando
2020-04-07 15:26:26 +00:00
Edouard Oger 8442a065cf Bug 1627444 p2 - Regenerate protobuf classes r=lina
Differential Revision: https://phabricator.services.mozilla.com/D69707

--HG--
extra : moz-landing-system : lando
2020-04-07 18:05:56 +00:00
Lee Salzman 08efd07ab4 Bug 1621382 - implement perspective-correct rasterization for SWGL shaders with PERSPECTIVE feature. r=jrmuizel
This implements Z plane clipping, gl_FragCoord.zw interpolation, and vertex attribute perspective-correction with support from the glsl-to-cxx compiler by using PERSPECTIVE feature in a WR shader.

Differential Revision: https://phabricator.services.mozilla.com/D69429

--HG--
extra : moz-landing-system : lando
2020-04-07 14:53:01 +00:00
Lee Salzman 251606e979 Bug 1627413 - implement texture lod-bias. r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D69873

--HG--
extra : moz-landing-system : lando
2020-04-07 16:55:56 +00:00
Lee Salzman 12a78b24e7 Bug 1627355 - implement missing SWGL texture rectangle binding. r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D69894

--HG--
extra : moz-landing-system : lando
2020-04-07 17:05:08 +00:00
Jim Blandy 67aa2dee05 Bug 1627413: WebRender: Don't pass level-of-detail bias value to GLSL texture function. r=cbrewster
The `sampleInUvRect` function in `gfx/wr/webrender/res/cs_svg_filter.glsl` calls
`texture`, passing the optional third argument that specifies a bias to the
sampler's level-of-detail calculation, used for mipmap interpolation. However,
the `texture` override in `gfx/wr/swgl/src/glsl.h` that accepts this parameter
is stubbed out, with an `assert(0)`. This causes twelve tests in
`gfx/wr/wrench/reftests/filters` to crash.

Nothing in Firefox uses mipmaps, and Servo doesn't use Software WebRender, so it
should be fine for that call to `texture` to simply not pass the level-of-detail
bias.

This patch makes that change.

Differential Revision: https://phabricator.services.mozilla.com/D69867

--HG--
extra : moz-landing-system : lando
2020-04-06 20:34:16 +00:00
Andreas Farre 25ca8d7890 Bug 1620594 - Part 7: Remove TabGroup and SystemGroup. r=nika,bas
TabGroup never really made any difference in which thread something go
dispatched to. This was the intended use, but development of TabGroups
with abstract main threads never made it that far. The good thing is
that thish makes it safe to also remove to the SystemGroup and instead
switch all SystemGroup dispatches to dispatches to main thread.

Timers for setTimeout and workers were the sole users of wrapped and
throttled event targets, that those throttled queues have been moved
to the BrowsingContextGroup and are now accessed explicitly.

The SchedulerEventTarget has been removed, since there are no longer a
separate event target for every TaskCategory. Instead a
LabellingEventTarget has been added to DocGroup to handle the case
where an event is dispatched do DocGroup or when an AbstractThread is
created using a DocGroup. This means that we'll actually label more
events correctly with the DocGroup that they belong to.

DocGroups have also been moved to BrowsingContextGroup.

Depends on D67636

Differential Revision: https://phabricator.services.mozilla.com/D65936

--HG--
extra : moz-landing-system : lando
2020-04-07 15:17:47 +00:00
Andreas Farre f2fa2e633c Bug 1620594 - Part 5: Use GetMainThreadSerialEventTarget instead of SystemGroup::EventTargetFor. r=nika
This patch also tries to remove the event target entirely if it would
default to the main thread on a null event target.

Depends on D67634

Differential Revision: https://phabricator.services.mozilla.com/D67635

--HG--
extra : moz-landing-system : lando
2020-04-07 15:17:07 +00:00
Andreas Farre 80a8c9ff06 Bug 1620594 - Part 4: Remove SetEventTargetForActor with SystemGroup target. r=nika
Depends on D67633

Differential Revision: https://phabricator.services.mozilla.com/D67634

--HG--
extra : moz-landing-system : lando
2020-04-07 15:16:54 +00:00
Andreas Farre 36eaf82163 Bug 1620594 - Part 2: Use SchedulerGroup::Dispatch instead of SystemGroup::Dispatch. r=nika
Depends on D67631

Differential Revision: https://phabricator.services.mozilla.com/D67632

--HG--
extra : moz-landing-system : lando
2020-04-07 15:16:33 +00:00
Andreas Farre 63e21eec70 Bug 1620594 - Part 1: Rework NS_ReleaseOnMainThreadSystemGroup. r=nika
To be able to remove SystemGroup, NS_ReleaseOnMainThreadSystemGroup
needs to have its dependency on SystemGroup removed. Since all
releases using SystemGroup would've released on the main thread anyway
we can safely replace NS_ReleaseOnMainThreadSystemGroup with
NS_ReleaseOnMainThread.

Depends on D64390

Differential Revision: https://phabricator.services.mozilla.com/D67631

--HG--
extra : moz-landing-system : lando
2020-04-07 15:16:23 +00:00
Jonathan Kew 9e55a4c27a Bug 1550037 - patch 3 - Remove mAddr from the ShmBlock struct, as mShmem->memory() is now a trivial inline accessor. r=jwatt
In mozilla::ipc::SharedMemory, the memory() method was virtual, so we cached the address here
(although the compiler would likely have inlined the accessor as the `final` concrete subclass
was known). Anyhow, in base::SharedMemory it's a trivial (non-virtual) accessor, so there's
no sense in shadowing it here.

Differential Revision: https://phabricator.services.mozilla.com/D68789

--HG--
extra : moz-landing-system : lando
2020-04-07 12:30:42 +00:00
Jonathan Kew c43ebd1186 Bug 1550037 - patch 2 - Ensure the font-list memory blocks passed to content processes are shared as readonly copies. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D68779

--HG--
extra : moz-landing-system : lando
2020-04-07 12:30:30 +00:00
Jonathan Kew 715e096b9a Bug 1550037 - patch 1 - Migrate shared font-list code from mozilla::ipc::SharedMemoryBasic to base::SharedMemory APIs. r=jwatt
The base::SharedMemory class provides APIs to create a "read-only" copy of a shared memory block,
which means it can be shared to a child process without the risk that the child might map it as
writable and corrupt the contents. We want to use this facility for the font list, hence switching
the shared-memory APIs used.

Differential Revision: https://phabricator.services.mozilla.com/D68778

--HG--
extra : moz-landing-system : lando
2020-04-07 12:30:17 +00:00
Kartikaya Gupta 00c078e5f2 Bug 1622360 - Remove WebRenderScrollDataCollection. r=jrmuizel
This basically allowed managing a bunch of scroll data things in parallel
for all the render roots which we don't need anymore.

Differential Revision: https://phabricator.services.mozilla.com/D69845

--HG--
extra : moz-landing-system : lando
2020-04-06 20:45:21 +00:00
Kartikaya Gupta cee04b337d Bug 1622360 - Remove the sub-builder machinery. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D69844

--HG--
extra : moz-landing-system : lando
2020-04-06 20:45:14 +00:00
Kartikaya Gupta 134d04f038 Bug 1622360 - Remove the code that deals with render root rects. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D69843

--HG--
extra : moz-landing-system : lando
2020-04-06 20:44:58 +00:00
Kartikaya Gupta 1c73319b51 Bug 1622360 - Downgrade mPendingScrollUpdates from RenderRootArray. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D69842

--HG--
extra : moz-landing-system : lando
2020-04-06 20:44:46 +00:00
Mihai Alexandru Michis 5da80eeda9 Backed out 3 changesets (bug 1550037) for causing bustages in SharedFontList-impl.h
CLOSED TREE

Backed out changeset 34ebd6260867 (bug 1550037)
Backed out changeset 7571e5bc19e7 (bug 1550037)
Backed out changeset 71fdead8eecb (bug 1550037)
2020-04-07 13:11:17 +03:00
Jonathan Kew a7a8713b2b Bug 1550037 - patch 3 - Remove mAddr from the ShmBlock struct, as mShmem->memory() is now a trivial inline accessor. r=jwatt
In mozilla::ipc::SharedMemory, the memory() method was virtual, so we cached the address here
(although the compiler would likely have inlined the accessor as the `final` concrete subclass
was known). Anyhow, in base::SharedMemory it's a trivial (non-virtual) accessor, so there's
no sense in shadowing it here.

Differential Revision: https://phabricator.services.mozilla.com/D68789

--HG--
extra : moz-landing-system : lando
2020-04-07 09:24:32 +00:00
Jonathan Kew 68661385f7 Bug 1550037 - patch 2 - Ensure the font-list memory blocks passed to content processes are shared as readonly copies. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D68779

--HG--
extra : moz-landing-system : lando
2020-04-07 09:24:30 +00:00
Jonathan Kew 1bf1c749a5 Bug 1550037 - patch 1 - Migrate shared font-list code from mozilla::ipc::SharedMemoryBasic to base::SharedMemory APIs. r=jwatt
The base::SharedMemory class provides APIs to create a "read-only" copy of a shared memory block,
which means it can be shared to a child process without the risk that the child might map it as
writable and corrupt the contents. We want to use this facility for the font list, hence switching
the shared-memory APIs used.

Differential Revision: https://phabricator.services.mozilla.com/D68778

--HG--
extra : moz-landing-system : lando
2020-04-07 09:23:24 +00:00
Kearwood "Kip" Gilbert 69a59222c1 Bug 1618365 - Populate XRFrame for RAF callback r=imanol
We were only missing some validation as part of the XRFrame initialization.

Rest is already happening in XRSession::StartFrame

Differential Revision: https://phabricator.services.mozilla.com/D64691

--HG--
extra : moz-landing-system : lando
2020-03-23 15:45:48 +00:00
Dzmitry Malyshau 3021defc28 Bug 1602133 - WebGPU presentation r=jgilbert,webidl,smaug,aosmond
This change adds support for CanvasContext presenting WebGPU via CPU readback.
The presentation is handled mostly on GPU process side by managing a list of staging buffers
and copying the contents into a WR external image (backed by an external buffer).

Differential Revision: https://phabricator.services.mozilla.com/D68032

--HG--
extra : moz-landing-system : lando
2020-04-06 22:29:18 +00:00
Bert Peers 7f2e1717d9 Bug 1624468 - Add a fast path for more gradient types in WR r=gw
Differential Revision: https://phabricator.services.mozilla.com/D68945

--HG--
extra : moz-landing-system : lando
2020-04-06 07:16:25 +00:00
Cosmin Sabou 2f4d9af7d3 Backed out changeset bc6b2b003c6e (bug 1602133) for causing build bustages on CanvasRenderingContextHelper.cpp.
--HG--
extra : histedit_source : 917f3627a3e3f8dab0d806b69fc716bfd9f1d483
2020-04-06 23:46:51 +03:00
Chris Martin 64e1fb7a45 Bug 1540776 - Have parent send color profile to child during launch r=aosmond,jld,jfkthame,florian
For Win32k lockdown, we need to remove the content processes' ability to
call GetICMProfileW(). Since it needs this to retrieve the output color
profile, a new synchronous call is added that allows it to request the
parent process to read this file on its behalf.

The contents of the file are now being cached as well, as this should help
ease some of the increased parent process I/O caused by the children not
being able to do this in their process anymore.

For performance reasons, during launch this information is passed directly
to the child through the SetXPCOMProcessAttributes call

Differential Revision: https://phabricator.services.mozilla.com/D66126

--HG--
extra : moz-landing-system : lando
2020-04-02 15:42:15 +00:00
Dzmitry Malyshau 5004affc0e Bug 1602133 - WebGPU presentation r=jgilbert,webidl,smaug,aosmond
This change adds support for CanvasContext presenting WebGPU via CPU readback.
The presentation is handled mostly on GPU process side by managing a list of staging buffers
and copying the contents into a WR external image (backed by an external buffer).

Differential Revision: https://phabricator.services.mozilla.com/D68032

--HG--
extra : moz-landing-system : lando
2020-04-06 20:10:03 +00:00
Glenn Watson 76a0c60d29 Bug 1627588 - Fix picture cache tiles being evicted too eagerly. r=nical
The picture cache code retains a set of tiles that are currently
off-screen but might be needed again soon, depending on how the
page is scrolled.

However, off-screen tiles were being skipped during draw processing,
which meant that the texture cache request method was not being
called on these tiles. This would often result in the texture
cache eagerly evicting these seemingly unused surface tiles.

This patch re-arranges the occlusion and visibility processing
code for tiles, so that if a tile has been retained in the
picture cache grid, the texture surface is always requested,
even if that tile is currently off-screen. This prevents the
texture cache from evicting tiles that we want to retain for now.

Differential Revision: https://phabricator.services.mozilla.com/D69760

--HG--
extra : moz-landing-system : lando
2020-04-06 15:01:29 +00:00
Kearwood Gilbert 9136ce65cf Bug 1614496 - Implement WebXR Core Module DOM Interfaces r=jgilbert,daoshengmu,webidl,smaug,baku,imanol
Implement DOM interfaces for the WebXR Core Module. Additional work to implement the WebXR Core Module are marked with TODO (Bug #) comments within the patch and must be landed before enabling the dom.vr.webxr.enabled flag.

Differential Revision: https://phabricator.services.mozilla.com/D62369

--HG--
extra : moz-landing-system : lando
2020-04-06 19:33:32 +00:00
Bogdan Tara 7f7cc68c64 Backed out changeset 377a757c583d (bug 1602133) for webgpu related bustages CLOSED TREE 2020-04-06 21:59:57 +03:00
Dzmitry Malyshau 3791cb767b Bug 1626827 - Force WR picture tasks to fit into max target size r=Bert
this is an attempt to handle tasks outside of the device bounds,
that belong to surfaces not establishing raster roots.

I suspect that the scaling we are now setting up in adjust_scale_for_max_surface_size
doesn't work properly, since the function was assumed to only affect the raster-rooted
surfaces. But it does fix the crash we have.

Differential Revision: https://phabricator.services.mozilla.com/D69654

--HG--
extra : moz-landing-system : lando
2020-04-04 00:06:13 +00:00
Dzmitry Malyshau 4c3a924336 Bug 1602133 - WebGPU presentation r=jgilbert,webidl,smaug,aosmond
This change adds support for CanvasContext presenting WebGPU via CPU readback.
The presentation is handled mostly on GPU process side by managing a list of staging buffers
and copying the contents into a WR external image (backed by an external buffer).

Differential Revision: https://phabricator.services.mozilla.com/D68032

--HG--
extra : moz-landing-system : lando
2020-04-02 19:55:01 +00:00
Kartikaya Gupta 721e617cf9 Bug 1589046 - Terminate momentum panning once we reach a point where there is uncomsumed scroll. r=botond
This prevents OS-produced momentum panning events from having an effect after
the user sees the momentum panning "end" due to scrolling as far as possible.

Differential Revision: https://phabricator.services.mozilla.com/D69624

--HG--
extra : moz-landing-system : lando
2020-04-06 17:18:20 +00:00
Kartikaya Gupta 16f21d1f89 Bug 1589046 - Propagate the return value from AttemptScroll to DispatchScroll and CallDispatchScroll. r=botond
No functional changes here.

Differential Revision: https://phabricator.services.mozilla.com/D69623

--HG--
extra : moz-landing-system : lando
2020-04-06 17:18:12 +00:00
Aaron Klotz 4cac9b3eb9 Bug 1627354: Part 5 - Update wrench to build using Android 29; r=kats
Depends on D69634

Differential Revision: https://phabricator.services.mozilla.com/D69648

--HG--
extra : moz-landing-system : lando
2020-04-04 03:15:57 +00:00
Kris Taeleman 564741ef90 Bug 1610731 - Adjust the sticky positioned elements transform for the dynamic toolbar. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D69559

--HG--
extra : moz-landing-system : lando
2020-04-04 18:53:01 +00:00
Kris Taeleman ce7cd3b23c Bug 1610731 - Incorporate the top/bottom margins set by reftests. r=botond
This makes the existing test for this codepath start passing on geckoview-qr.

Differential Revision: https://phabricator.services.mozilla.com/D69558

--HG--
extra : moz-landing-system : lando
2020-04-04 18:52:59 +00:00
Kris Taeleman 50c695f4b3 Bug 1610731 - Add plumbing for sticky data. r=botond
This patch is pretty uninteresting, just building the pipe to move data
from the main-thread to APZ.

Differential Revision: https://phabricator.services.mozilla.com/D69555

--HG--
extra : moz-landing-system : lando
2020-04-04 06:16:55 +00:00
Kartikaya Gupta 4c319c0ce7 Bug 1610731 - Remove GetIsStickyPosition and clean up some TODOs. r=botond
The GetIsStickyPosition function isn't really needed since we can distinguish
whether or not a layer is sticky via NULL_SCROLL_ID as the container id. Also
ensure we have proper AtBottomLayer checks where needed for fixed and sticky
data.

Differential Revision: https://phabricator.services.mozilla.com/D69554

--HG--
extra : moz-landing-system : lando
2020-04-04 06:16:57 +00:00
Kartikaya Gupta 610597891f Bug 1610731 - Replace inefficient cargo-culted code with more efficient version. r=botond
Instead of storing pointers to the nodes in the TreeBuildingState, and then
extracting information from them later, we can just extract the information
right away, put that in the TreeBuildingState, and move the final structure
into place.

This isn't possible with some of the other similar-looking structures that this
was presumably cargo-culted from (such as the one that holds the thumb
information) since those need to be able to look up references to other APZCs
which can only be done after the tree walk is complete.

Differential Revision: https://phabricator.services.mozilla.com/D69553

--HG--
extra : moz-landing-system : lando
2020-04-04 06:16:40 +00:00
Mirko Brodesser 33bac859bb Bug 1626665: part 3) Declare more methods around `nsTextFrame` `const`. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D69573

--HG--
extra : moz-landing-system : lando
2020-04-06 08:36:30 +00:00
Jonathan Kew ed8883688f Bug 1627397 - Fix broken behavior of gfxPlatformFontList::FindAndAddFamilies when shared fontlist is enabled. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D69721

--HG--
extra : moz-landing-system : lando
2020-04-05 23:38:48 +00:00
Sylvestre Ledru 0aa6f03cf3 Bug 1519636 - Reformat recent changes to the Google coding style r=jgilbert
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D67574

--HG--
extra : moz-landing-system : lando
2020-04-05 13:34:58 +00:00
Botond Ballo 52f3cf2ded Bug 1627482 - Fix non-unified build errors in gfx/src. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69737

--HG--
extra : moz-landing-system : lando
2020-04-05 03:49:40 +00:00
Botond Ballo 0db5983e81 Bug 1627482 - Fix non-unified build errors in gfx/webrender_bindings. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69736

--HG--
extra : moz-landing-system : lando
2020-04-05 03:49:51 +00:00
Botond Ballo 87aa8e8c03 Bug 1627482 - Fix non-unified build errors in gfx/vr. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69735

--HG--
extra : moz-landing-system : lando
2020-04-05 03:50:02 +00:00
Botond Ballo d9d95096f9 Bug 1627482 - Fix non-unified build errors in gfx/thebes. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69734

--HG--
extra : moz-landing-system : lando
2020-04-05 03:50:14 +00:00
Botond Ballo 400b5015cc Bug 1627482 - Fix non-unified build errors in gfx/tests. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69733

--HG--
extra : moz-landing-system : lando
2020-04-05 03:50:23 +00:00
Botond Ballo 137d2e50d3 Bug 1627482 - Fix non-unified build errors in gfx/ipc. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69732

--HG--
extra : moz-landing-system : lando
2020-04-05 03:50:33 +00:00
Botond Ballo 22d1a37a79 Bug 1627482 - Fix non-unified build errors in gfx/gl. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69731

--HG--
extra : moz-landing-system : lando
2020-04-05 03:50:33 +00:00
Botond Ballo bb18e79768 Bug 1627480 - Fix non-unified build errors in gfx/2d. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69729

--HG--
extra : moz-landing-system : lando
2020-04-04 23:48:48 +00:00
Botond Ballo 671b80b84e Bug 1626659 - Fix non-unified build errors elsewhere in gfx/layers. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69720

--HG--
extra : moz-landing-system : lando
2020-04-04 23:39:14 +00:00
Botond Ballo ce19be045c Bug 1626659 - Fix non-unified build errors in gfx/layers/mlgpu. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69719

--HG--
extra : moz-landing-system : lando
2020-04-04 23:39:01 +00:00
Ciure Andrei 3f9e822318 Backed out 8 changesets (bug 1610731) for causing fullscreen related wpt failures CLOSED TREE
Backed out changeset 8d11e5caff2a (bug 1610731)
Backed out changeset 089ef5398b32 (bug 1610731)
Backed out changeset bcbf21dcd7b4 (bug 1610731)
Backed out changeset 0e5823826e91 (bug 1610731)
Backed out changeset d8fbbc7fc65d (bug 1610731)
Backed out changeset c2b1bd759595 (bug 1610731)
Backed out changeset 4162437c7931 (bug 1610731)
Backed out changeset e7d6f26c1019 (bug 1610731)
2020-04-04 09:12:26 +03:00
sotaro 5d801f7ca2 Bug 1627117 - Trigger WR rendering twice during disabling native compositor r=jrmuizel
It seems that first rendering to SwapChain was not handled by IDCompositionVisual2. Then, as shot term fix, force to do WR rendering twice during disabling WR native compositor. It could mitigate black flashing problem.

Differential Revision: https://phabricator.services.mozilla.com/D69677

--HG--
extra : moz-landing-system : lando
2020-04-04 03:09:11 +00:00
Kris Taeleman 3acf2adc57 Bug 1610731 - Adjust the sticky positioned elements transform for the dynamic toolbar. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D69559

--HG--
extra : moz-landing-system : lando
2020-04-04 01:02:30 +00:00
Kris Taeleman 1219331fcf Bug 1610731 - Incorporate the top/bottom margins set by reftests. r=botond
This makes the existing test for this codepath start passing on geckoview-qr.

Differential Revision: https://phabricator.services.mozilla.com/D69558

--HG--
extra : moz-landing-system : lando
2020-04-04 01:02:23 +00:00
Kris Taeleman b930c987dc Bug 1610731 - Add plumbing for sticky data. r=botond
This patch is pretty uninteresting, just building the pipe to move data
from the main-thread to APZ.

Differential Revision: https://phabricator.services.mozilla.com/D69555

--HG--
extra : moz-landing-system : lando
2020-04-04 01:02:03 +00:00
Kartikaya Gupta dcd22a4c33 Bug 1610731 - Remove GetIsStickyPosition and clean up some TODOs. r=botond
The GetIsStickyPosition function isn't really needed since we can distinguish
whether or not a layer is sticky via NULL_SCROLL_ID as the container id. Also
ensure we have proper AtBottomLayer checks where needed for fixed and sticky
data.

Differential Revision: https://phabricator.services.mozilla.com/D69554

--HG--
extra : moz-landing-system : lando
2020-04-04 01:01:58 +00:00
Kartikaya Gupta 2d6f912576 Bug 1610731 - Replace inefficient cargo-culted code with more efficient version. r=botond
Instead of storing pointers to the nodes in the TreeBuildingState, and then
extracting information from them later, we can just extract the information
right away, put that in the TreeBuildingState, and move the final structure
into place.

This isn't possible with some of the other similar-looking structures that this
was presumably cargo-culted from (such as the one that holds the thumb
information) since those need to be able to look up references to other APZCs
which can only be done after the tree walk is complete.

Differential Revision: https://phabricator.services.mozilla.com/D69553

--HG--
extra : moz-landing-system : lando
2020-04-04 01:01:50 +00:00
Brindusan Cristian 66ab7a9660 Backed out 8 changesets (bug 1610731) for reftest failures at dynamic-toolbar-fixed-bottom-1.html. CLOSED TREE
Backed out changeset a26b63d0248e (bug 1610731)
Backed out changeset c33e6fe22774 (bug 1610731)
Backed out changeset 840550c070e8 (bug 1610731)
Backed out changeset 7bffd6eb9ac7 (bug 1610731)
Backed out changeset a383a7100973 (bug 1610731)
Backed out changeset 8f2bae2ca274 (bug 1610731)
Backed out changeset 8d43fbe05f38 (bug 1610731)
Backed out changeset 035432f43d16 (bug 1610731)

--HG--
rename : layout/reftests/async-scrolling/dynamic-toolbar-sticky-top-1.html => layout/reftests/async-scrolling/dynamic-toolbar-fixed-bottom-1.html
2020-04-04 00:47:08 +03:00
Kris Taeleman 679dec16a4 Bug 1610731 - Adjust the sticky positioned elements transform for the dynamic toolbar. r=botond
Depends on D69558

Differential Revision: https://phabricator.services.mozilla.com/D69559

--HG--
extra : moz-landing-system : lando
2020-04-03 17:35:59 +00:00
Kris Taeleman 5ac6d32ba7 Bug 1610731 - Incorporate the top/bottom margins set by reftests. r=botond
This makes the existing test for this codepath start passing on geckoview-qr.

Depends on D69557

Differential Revision: https://phabricator.services.mozilla.com/D69558

--HG--
extra : moz-landing-system : lando
2020-04-03 17:34:16 +00:00
Kris Taeleman c30f07d3bb Bug 1610731 - Add plumbing for sticky data. r=botond
This patch is pretty uninteresting, just building the pipe to move data
from the main-thread to APZ.

Depends on D69554

Differential Revision: https://phabricator.services.mozilla.com/D69555

--HG--
extra : moz-landing-system : lando
2020-04-03 16:54:56 +00:00
Kartikaya Gupta 02b7cb7d2a Bug 1610731 - Remove GetIsStickyPosition and clean up some TODOs. r=botond
The GetIsStickyPosition function isn't really needed since we can distinguish
whether or not a layer is sticky via NULL_SCROLL_ID as the container id. Also
ensure we have proper AtBottomLayer checks where needed for fixed and sticky
data.

Depends on D69553

Differential Revision: https://phabricator.services.mozilla.com/D69554

--HG--
extra : moz-landing-system : lando
2020-04-03 17:42:55 +00:00
Kartikaya Gupta a86f457a44 Bug 1610731 - Replace inefficient cargo-culted code with more efficient version. r=botond
Instead of storing pointers to the nodes in the TreeBuildingState, and then
extracting information from them later, we can just extract the information
right away, put that in the TreeBuildingState, and move the final structure
into place.

This isn't possible with some of the other similar-looking structures that this
was presumably cargo-culted from (such as the one that holds the thumb
information) since those need to be able to look up references to other APZCs
which can only be done after the tree walk is complete.

Differential Revision: https://phabricator.services.mozilla.com/D69553

--HG--
extra : moz-landing-system : lando
2020-04-03 16:47:16 +00:00
Jonathan Kew cb4f80d249 Bug 1619350 - patch 3 - Add lists of base system fonts for latest Ubuntu and Fedora versions. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D68227

--HG--
extra : moz-landing-system : lando
2020-04-02 23:12:56 +00:00
Jeff Muizelaar ee2859de3e Bug 1627045 - Include some more information about feature status when blacklisting webrender. r=aosmond
This adds a helper for applying gfxinfo state to a gfxFeature. The
helper includes the blacking list reason which should give us some more
information for about:support and telemetry.

Differential Revision: https://phabricator.services.mozilla.com/D69427

--HG--
extra : moz-landing-system : lando
2020-04-02 19:38:19 +00:00
Timothy Nikkel e9a1f92b4a Bug 1626259. When computing the scale for a stacking context with webrender look at this stacking context to see if it is preserve 3d and not it's parent to match FrameLayerBuilder::ChooseScale. r=jrmuizel
Back when webrender did not call FrameLayerBuilder::ChooseScale (it was called ChooseScaleAndSetTransform back then until it was factored out in bug 1415987) bug 1449640 landed which made the webrender scale choosing more closely align with FrameLayerBuilder::ChooseScale by not computing a scale of there was preserve3d or perspective involved. That patch had a bug, it looked at the parent stacking context helper to see if it had preserve 3d, but FrameLayerBuilder::ChooseScale looks at the current "stacking context".

This didn't cause a problem in the testcase from this bug until bug 1569215 landed. In the testcase in this bug we have a stacking context with a 2d transform whose parent stacking context is preserve3d. So we pass down the scale from the parent stacking context and completely ignore the scale induced by the 2d transform. Passing 1.f to ChooseScale instead of the parent scale factor "undid" this mistake, so when that was fixed we regressed this testcase.

Differential Revision: https://phabricator.services.mozilla.com/D69167

--HG--
extra : moz-landing-system : lando
2020-04-03 01:24:54 +00:00
Dzmitry Malyshau 02a026667e Bug 1624881 - Work around the relative transform failed expectations r=gw
we expect that the children spatial node goes after the parent.
If it's not the case, we can still fall back to a full world transform,
but it's not going to be correct with regards to flattening.
As we don't know the circumstances and are unable to reproduce the issue,
making this fallback could be a reasonable thing to do for now.

Differential Revision: https://phabricator.services.mozilla.com/D69289

--HG--
extra : moz-landing-system : lando
2020-04-03 00:39:37 +00:00
Stefan Hindli 52dbd58d66 Backed out changeset dfa94a886779 (bug 1624468) for causing web platform permafailures in /css/css-images/gradient-move-stops.html CLOSED TREE 2020-04-03 03:07:20 +03:00
Bert Peers b55f9bcbf6 Bug 1624468 - Add a fast path for more gradient types in WR r=gw
Differential Revision: https://phabricator.services.mozilla.com/D68945

--HG--
extra : moz-landing-system : lando
2020-04-02 19:50:12 +00:00
Nicolas Silva 780c056648 Bug 1626666 - Rename IpcProfileCounters into TransactionProfileCounters. r=jrmuizel
Few of the counters actually have anything to do with IPC although they all relate to events of layout transactions.

Depends on D69414

Differential Revision: https://phabricator.services.mozilla.com/D69415

--HG--
extra : moz-landing-system : lando
2020-04-02 18:25:59 +00:00
Nicolas Silva 82f42d6e29 Bug 1626666 - Ensure ipc profile counters follow transactions through the scene builder thread. r=jrmuizel
Instead of collecting so-called ipc counters when receving the SetDisplayList on the render backend, pass the information through the scene builder thread and update the profile on the render backend after the scene is swapped. This prevents ipc counters to be displayed while the transaction is still being processed by the scene builder thread.

Differential Revision: https://phabricator.services.mozilla.com/D69414

--HG--
extra : moz-landing-system : lando
2020-04-02 18:32:57 +00:00
Nicolas Silva 5ca5cd78ce Bug 1624627 - Add a slow transaction indicator. r=jrmuizel
It moves when DL building + IPC + scene building takes more than 100ms.

Depends on D69247

Differential Revision: https://phabricator.services.mozilla.com/D69254

--HG--
extra : moz-landing-system : lando
2020-04-02 18:32:58 +00:00
Nicolas Silva fdb6027218 Bug 1624627 - Reimplement the slow frame indicator. r=jrmuizel
This removes the WebRender side of the previous slow frame indicator and replace it with a simple implementation that only looks at the CPU time on the render backend and renderer thread involved for building a frame.

A followup patch will add a separate indicator for when the displaylist/ipc/scene bits take too long.

Differential Revision: https://phabricator.services.mozilla.com/D69247

--HG--
extra : moz-landing-system : lando
2020-04-02 17:23:15 +00:00
Nicolas Silva 53168da7e7 Bug 1625365 - Improve the blob image overview documentation. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D68985

--HG--
extra : moz-landing-system : lando
2020-04-02 18:32:14 +00:00
Nicolas Silva ca77a08ff3 Bug 1581475 - Don't attempt to draw if PreapreForDrawing fails. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D68844

--HG--
extra : moz-landing-system : lando
2020-04-02 18:27:35 +00:00
Nicolas Silva 258b9dbb37 Bug 1626209 - Adjust reftest fuzziness. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D69384

--HG--
extra : moz-landing-system : lando
2020-04-02 14:57:34 +00:00
Daosheng Mu cf3d5a82b6 Bug 1624240 - Valve Index controller support for WebXR. r=kip
MozReview-Commit-ID: 6rLxOyCQexw

Differential Revision: https://phabricator.services.mozilla.com/D68268

--HG--
extra : moz-landing-system : lando
2020-04-02 16:25:35 +00:00
Jonathan Kew db5bae5fe8 Bug 1626844 - Prefer Helvetica over Menlo as fallback font for Georgian on macOS. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D69334

--HG--
extra : moz-landing-system : lando
2020-04-02 16:44:26 +00:00
Dorel Luca ed4bab52bc Backed out changeset b9b3d4f3f430 (bug 1626844) for WR failures in marker-text-matches-georgian.html. CLOSED TREE
--HG--
extra : amend_source : ad81e149675bf77a253fb94c66d1a47bdd066c2a
2020-04-02 19:03:15 +03:00
Nicolas Silva 4e7b069162 Bug 1626666 - Rework the ipc profile counters. r=Bert,gw
Before this patch:
 - Consume time merely is the time it takes to push something into a vector (always displays zero).
 - Total IPC time and the DisplayList IPC graph measure the time between api.set_display_list and the render backend picking the message up, plus the time it took to build the display list (but doesn't take into account the time it took for actual IPC in between).
 - Send time is only the time between api.set_display_list and the render backend picking the message up but doesn't take into account the time it took between the content thread sending the DL and the compositor thread forwarding it.

After this patch:
 - Content send time measures the time between the content thread sending the display list and the compositor forwarding it (actual IPC).
 - Api send time measures the time between the compostor thread forwarding the DL and the render backend picking it up.
 - Consume time is removed.
 - Total send time is the sum of content and api times.
 - Display list build times and display list IPC (total send time) are on separate graphs.

Depends on D69227

Differential Revision: https://phabricator.services.mozilla.com/D69228

--HG--
extra : moz-landing-system : lando
2020-04-02 02:51:12 +00:00
Nicolas Silva 28a2bbcd6d Bug 1626614 - Don't reset ipc profile counters every frame. r=Bert
Differential Revision: https://phabricator.services.mozilla.com/D69227

--HG--
extra : moz-landing-system : lando
2020-04-02 14:18:00 +00:00
Jonathan Kew 128000c5eb Bug 1626844 - Prefer Helvetica over Menlo as fallback font for Georgian on macOS. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D69334

--HG--
extra : moz-landing-system : lando
2020-04-02 12:55:05 +00:00
Jonathan Kew 9ae6c0bed1 Bug 1619349 - patch 1 - Record statistics about font-matching behavior in the presContext. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D67787

--HG--
extra : moz-landing-system : lando
2020-04-02 01:38:18 +00:00
Jonathan Kew 1ab7bd6878 Bug 1619350 - patch 2 - Add lists of standard Mac and Windows fonts, and set font-family visibility attributes accordingly in those platform font lists. r=jwatt
These two platforms are the easiest to get started with - as well as accounting for the great majority
of desktop Firefox users.

This patch is based on the OS vendors' lists of fonts shipped with the current version of each OS.

Differential Revision: https://phabricator.services.mozilla.com/D66125

--HG--
extra : moz-landing-system : lando
2020-04-02 01:38:21 +00:00
Jonathan Kew 1e295dc3cc Bug 1619350 - patch 1 - Add a FontVisibility enumeration to determine whether fonts should be visible by name to CSS, and provide a visibility field in font family records. r=jwatt
This replaces and extends the "hidden" flag we currently use on macOS to mark internal system fonts
like .LastResort and .Keyboard that should not be exposed; rather than just a boolean "hidden" flag
we'll have several levels of visibility, some of which the user may opt in to exposing (at the cost
of potentially becoming more fingerprintable).

The current patch assumes three levels besides always-hidden:

  Base     - fonts that are part of the base OS install and always available
  LangPack - fonts that are provided by the OS subject to user's chosen language options
  User     - user-installed fonts that were not provided by the OS

(This categorization may be subject to revision as we learn more about real-world needs and
configurations.)

Differential Revision: https://phabricator.services.mozilla.com/D66124

--HG--
extra : moz-landing-system : lando
2020-04-02 12:36:24 +00:00
sotaro 4ccefc3181 Bug 1624817 - Fix Tile invalidation during disabling WR native compositor r=gw
Differential Revision: https://phabricator.services.mozilla.com/D69168

--HG--
extra : moz-landing-system : lando
2020-04-02 06:27:25 +00:00
Markus Stange 04fd0b27d7 Bug 1626111 - Fix two variable names in Matrix4x4TypedFlagged::TransformAndClipBounds. r=bas
Differential Revision: https://phabricator.services.mozilla.com/D68930

--HG--
extra : moz-landing-system : lando
2020-04-02 04:01:01 +00:00
Markus Stange d00525a3a9 Bug 1626113 - Use mozilla::Span in TransformAndClipRect and do some refactoring. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D68929

--HG--
extra : moz-landing-system : lando
2020-04-02 04:01:01 +00:00
Markus Stange 6b7047492f Bug 1595038 - Make sure that TransformAndClipBounds returns an empty clipped rect when the clip itself is already empty. r=kip
The test added in this changeset is already fixed by the no-normalization change, but there are probably cases that require the explicit check that this patch adds.
When we were still normalizing the plane normals, the TransformAndClipBounds call in the added test was returning (1023.999878, 1023.999878, 0.000061, 0.000122).

Depends on D68703

Differential Revision: https://phabricator.services.mozilla.com/D68704

--HG--
extra : moz-landing-system : lando
2020-04-02 04:00:53 +00:00
Markus Stange 70151209d3 Bug 1595038 - Stop normalizing the plane normals, in order reduce error from floating point inaccuracies. r=kip
For example, if the clipping rectangle has aClip.X() == 1024, then the normal for the clipping plane induced by the left edge of the clip will now be (1, 0, 0, -1024) rather than (0.0009765620343390458, 0, 0, -0.9999995231631829).

This change is mathematically valid:
 - The dot products computed from these vectors become multiplied by planeNormal.Length() (compared to before this patch).
 - The sign of the dot products is not affected, so the "intersection with plane" check is not affected:
   `if ((nextDot >= 0.0) != (prevDot >= 0.0)) {`
 - The value of the dot products is only used to compute `t`, as follows:
   `F t = -prevDot / (nextDot - prevDot);`
   Here, the length now appears both in the numerator and in the denominator, canceling itself out.

As a result from this change, the existing tests no longer require integer nudging in order to pass.

Depends on D68702

Differential Revision: https://phabricator.services.mozilla.com/D68703

--HG--
extra : moz-landing-system : lando
2020-04-01 01:06:23 +00:00
Markus Stange c1f3167506 Bug 1595038 - Add a planeNormal variable so that it's clear that the same plane is used for the entire inner loop. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D68702

--HG--
extra : moz-landing-system : lando
2020-04-02 02:42:17 +00:00
Ciure Andrei 0f9a0b7cdb Backed out changeset 9dc84057c6a9 (bug 1624468) for causing gradient-move-stops.html to fail CLOSED TREE 2020-04-02 06:08:51 +03:00
Botond Ballo c48a7ae922 Bug 1626659 - Fix non-unified build errors in gfx/layers/composite. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69304

--HG--
extra : moz-landing-system : lando
2020-04-02 02:16:17 +00:00
Botond Ballo 79eaedc4fc Bug 1626659 - Fix non-unified build errors in gfx/layers/ipc. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69300

--HG--
extra : moz-landing-system : lando
2020-04-02 02:16:18 +00:00
Ciure Andrei e1cb0f1e21 Backed out 4 changesets (bug 1619349, bug 1619350) for causing test_font_whitelist.html to fail CLOSED TREE
Backed out changeset ba16b09b5da0 (bug 1619349)
Backed out changeset f8ca02252dfc (bug 1619349)
Backed out changeset 01a2a527aa1a (bug 1619350)
Backed out changeset 67ee13868a44 (bug 1619350)
2020-04-02 04:34:31 +03:00
Bert Peers 04704c8605 Bug 1624468 - Add a fast path for more gradient types in WR r=gw
Differential Revision: https://phabricator.services.mozilla.com/D68945

--HG--
extra : moz-landing-system : lando
2020-04-02 01:25:54 +00:00
Botond Ballo ef74ceb9d9 Bug 1626659 - Fix non-unified build errors in gfx/layers/apz. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69293

--HG--
extra : moz-landing-system : lando
2020-04-02 00:08:33 +00:00
Ciure Andrei b34bb097a0 Backed out changeset 3c84f9fd1f93 (bug 1624468) for causing css-gradients reftest failures CLOSED TREE 2020-04-02 01:46:06 +03:00
Miko Mynttinen fa3904e234 Bug 1624016 - Memory report WebRender display list and display item cache r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D68279

--HG--
extra : moz-landing-system : lando
2020-04-01 18:43:32 +00:00
Jonathan Kew 82984492e6 Bug 1619349 - patch 1 - Record statistics about font-matching behavior in the presContext. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D67787

--HG--
extra : moz-landing-system : lando
2020-04-01 21:42:36 +00:00
Jonathan Kew 2fe7f23db5 Bug 1619350 - patch 2 - Add lists of standard Mac and Windows fonts, and set font-family visibility attributes accordingly in those platform font lists. r=jwatt
These two platforms are the easiest to get started with - as well as accounting for the great majority
of desktop Firefox users.

This patch is based on the OS vendors' lists of fonts shipped with the current version of each OS.

Differential Revision: https://phabricator.services.mozilla.com/D66125

--HG--
extra : moz-landing-system : lando
2020-04-01 21:42:11 +00:00
Jonathan Kew 503dffb1e0 Bug 1619350 - patch 1 - Add a FontVisibility enumeration to determine whether fonts should be visible by name to CSS, and provide a visibility field in font family records. r=jwatt
This replaces and extends the "hidden" flag we currently use on macOS to mark internal system fonts
like .LastResort and .Keyboard that should not be exposed; rather than just a boolean "hidden" flag
we'll have several levels of visibility, some of which the user may opt in to exposing (at the cost
of potentially becoming more fingerprintable).

The current patch assumes three levels besides always-hidden:

  Base     - fonts that are part of the base OS install and always available
  LangPack - fonts that are provided by the OS subject to user's chosen language options
  User     - user-installed fonts that were not provided by the OS

(This categorization may be subject to revision as we learn more about real-world needs and
configurations.)

Differential Revision: https://phabricator.services.mozilla.com/D66124

--HG--
extra : moz-landing-system : lando
2020-03-26 18:39:43 +00:00
Bert Peers 13690b84d0 Bug 1624468 - Add a fast path for more gradient types in WR r=gw
Differential Revision: https://phabricator.services.mozilla.com/D68945

--HG--
extra : moz-landing-system : lando
2020-04-01 21:15:38 +00:00
Glenn Watson bdde050f84 Bug 1625816 - Fix rectangle display item bounds being affected by display port clip. r=nical
This can cause extra invalidations in picture caching.

Differential Revision: https://phabricator.services.mozilla.com/D69153

--HG--
extra : moz-landing-system : lando
2020-04-01 10:01:26 +00:00
Simon Giesecke 5fbc9ca531 Bug 1626563 - Remove redundant user-provided copy constructors in gfx/thebes. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D69177

--HG--
extra : moz-landing-system : lando
2020-04-01 13:45:40 +00:00
Lee Salzman 8ccc460b29 Bug 1626496 - fix bit casting of vectors for GCC. r=jrmuizel
Depends on D69150

Differential Revision: https://phabricator.services.mozilla.com/D69151

--HG--
extra : moz-landing-system : lando
2020-04-01 13:40:33 +00:00
Lee Salzman 000a30e695 Bug 1626496 - round texture coordinates down when nearest filtering in SWGL. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D69150

--HG--
extra : moz-landing-system : lando
2020-04-01 13:37:48 +00:00
Kartikaya Gupta bd12f9cf60 Bug 1622360 - Remove NonDefaultRenderRootArray. r=jrmuizel
There's only one instance of this left (mSubBuilders) and that can be
easily removed as well.

Depends on D68865

Differential Revision: https://phabricator.services.mozilla.com/D68866

--HG--
extra : moz-landing-system : lando
2020-04-01 13:40:13 +00:00
Kartikaya Gupta cd8118eabb Bug 1622360 - Remove the content render root. r=jrmuizel
Nothing creates the content render root anymore, so we can delete
references to it and wipe it off the face of the codebase. This makes
the non-default render root array a zero-length Array which is a template
specialization that lacks things like begin() end end(). So we need
to also rip out any code that tries to iterate these things, in order
to get compilation to succeed. The code would be a no-op anyway now
that there are no non-default render roots left.

Depends on D68864

Differential Revision: https://phabricator.services.mozilla.com/D68865

--HG--
extra : moz-landing-system : lando
2020-04-01 13:39:12 +00:00
Kartikaya Gupta 30d30f9300 Bug 1622360 - Unwind super sketchy changes to glyph atlas code. r=jrmuizel
Depends on D68863

Differential Revision: https://phabricator.services.mozilla.com/D68864

--HG--
extra : moz-landing-system : lando
2020-04-01 13:40:00 +00:00
Kartikaya Gupta 0fc597f2c2 Bug 1622360 - Remove the popover render root references. r=jrmuizel
Nothing uses the popover render root any more, so we can assume
render_root_variable == Popover is always false.

Depends on D68862

Differential Revision: https://phabricator.services.mozilla.com/D68863

--HG--
extra : moz-landing-system : lando
2020-04-01 13:38:23 +00:00
Kartikaya Gupta 5daf11b6b4 Bug 1622360 - Remove remaining gfxUtils functions dealing with the render root. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D68862

--HG--
extra : moz-landing-system : lando
2020-04-01 13:38:05 +00:00
Jonathan Kew 9aa1468712 Bug 1626550 - Update graphite to version 1.3.14. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D69175

--HG--
extra : moz-landing-system : lando
2020-04-01 11:00:36 +00:00
Daosheng Mu e20bf355f2 Bug 1624762 - Part 2: Giving PicoVR standalone controllers a conversion to WebVR. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D69097

--HG--
extra : moz-landing-system : lando
2020-04-01 00:34:19 +00:00
Daosheng Mu f793440108 Bug 1624762 - Part 1: Giving OculusVR and WaveVR standalone controllers a conversion to WebVR. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D68946

--HG--
extra : moz-landing-system : lando
2020-04-01 00:34:16 +00:00
Nicolas Silva 66887f774a Bug 1625220 - Add autocfg to duplicate exceptions. r=gw
num-traits depends on 1.0.0 while rand depends on version 0.1.2.

Depends on D68470

Differential Revision: https://phabricator.services.mozilla.com/D68856

--HG--
extra : moz-landing-system : lando
2020-03-31 10:03:40 +00:00
Nicolas Silva e0484d35c5 Bug 1625220 - Remove a number of Foo::from_untyped(&bar.to_untyped()) casts. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D68470

--HG--
extra : moz-landing-system : lando
2020-03-31 10:03:47 +00:00
Nicolas Silva 430e8ef7b4 Bug 1625220 - Use euclid 0.20.8. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D68469

--HG--
extra : moz-landing-system : lando
2020-03-31 12:41:52 +00:00
Stefan Hindli 73e4464101 Backed out 3 changesets (bug 1625220) for causing wrench bustages CLOSED TREE
Backed out changeset fbeb908b3513 (bug 1625220)
Backed out changeset 793808082134 (bug 1625220)
Backed out changeset 17bf8121665a (bug 1625220)
2020-03-31 12:59:52 +03:00
Nicolas Silva 5f44c104bb Bug 1595768 - Don't track empty items in the texture cache. r=gw
This was added in a previous patch but it seems that we don't need it if invalid glyphs can be treated as blank glyph cache items.

Depends on D68857

Differential Revision: https://phabricator.services.mozilla.com/D68858

--HG--
extra : moz-landing-system : lando
2020-03-30 19:47:19 +00:00
Nicolas Silva 934224bf76 Bug 1595768 - Don't evict blank glyphs to avoid re-rasterizing them continuously. r=gw
Depends on D68856

Differential Revision: https://phabricator.services.mozilla.com/D68857

--HG--
extra : moz-landing-system : lando
2020-03-30 19:47:07 +00:00
Nicolas Silva fcd927eb80 Bug 1625220 - Add autocfg to duplicate exceptions. r=gw
num-traits depends on 1.0.0 while rand depends on version 0.1.2.

Depends on D68470

Differential Revision: https://phabricator.services.mozilla.com/D68856

--HG--
extra : moz-landing-system : lando
2020-03-30 19:46:49 +00:00
Nicolas Silva d5ee0ec037 Bug 1625220 - Remove a number of Foo::from_untyped(&bar.to_untyped()) casts. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D68470

--HG--
extra : moz-landing-system : lando
2020-03-30 18:49:05 +00:00
Nicolas Silva 70311638fb Bug 1625220 - Use euclid 0.20.8. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D68469

--HG--
extra : moz-landing-system : lando
2020-03-31 09:36:39 +00:00
Nicolas Silva 7c89bf3c58 Bug 1617050 - Take shadow offsets into account when clipping a primitive. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D68230

--HG--
extra : moz-landing-system : lando
2020-03-31 09:37:57 +00:00
Markus Stange 43978b79e6 Bug 1626114 - Remove unused update_program_cache. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D68931

--HG--
extra : moz-landing-system : lando
2020-03-30 23:37:29 +00:00
sotaro be7e3f103f Bug 1625297 - Add InitializeAdvancedLayersConfig() call in gfxWindowsPlatform::HandleDeviceReset() r=nical
This is a short term fix. Bug 1625382  is for long term fix.

Differential Revision: https://phabricator.services.mozilla.com/D68504

--HG--
extra : moz-landing-system : lando
2020-03-30 09:34:09 +00:00
Kartikaya Gupta af891b2458 Bug 1626008 - Ensure the HTTN data gets updated after recycling. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D68851

--HG--
extra : moz-landing-system : lando
2020-03-30 19:43:10 +00:00
Jeff Muizelaar 44a1d84d88 Bug 1617708. Make ClippedDrawTarget use destination DT. a=reland
By using the destination DT we will use the correct offset
during playback instead of the offset of the reference target.

Differential Revision: https://phabricator.services.mozilla.com/D68495

--HG--
extra : rebase_source : cff20f1a467138e0d9fe3e22772bb3edbb409318
extra : source : 0e08a1d7fb078cc36882b737f00da2f48f9349a6
2020-03-27 03:15:05 +00:00
Sebastian Hengst 4a470594ac Backed out changeset 0e08a1d7fb07 (bug 1617708) for likely causing performance regression bug 1625071.
--HG--
extra : rebase_source : f912c901608e5783abb93607f963d29b035e5c84
2020-03-30 17:30:44 +02:00
André Bargull 14ca007916 Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj
Also adds missing includes in some files, these were previously only transivitely
included through mozilla/TypeTraits.h.

Differential Revision: https://phabricator.services.mozilla.com/D68561

--HG--
extra : moz-landing-system : lando
2020-03-28 16:00:09 +00:00
André Bargull 62ab594247 Bug 1625138 - Part 39: Replace mozilla::IsSame with std::is_same in gfx/. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D68558

--HG--
extra : moz-landing-system : lando
2020-03-28 13:57:21 +00:00
André Bargull 2712714d84 Bug 1625138 - Part 35: Replace mozilla::TrueType with std::true_type. r=froydnj,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D68554

--HG--
extra : moz-landing-system : lando
2020-03-28 13:57:20 +00:00
André Bargull cae4e1fdbc Bug 1606962: Replace mozilla::EnableIf with std::enable_if. r=froydnj,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D68401

--HG--
extra : moz-landing-system : lando
2020-03-28 13:35:31 +00:00
André Bargull 1be056677a Bug 1625138 - Part 26: Replace mozilla::Conditional with std::conditional. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D68381

--HG--
extra : moz-landing-system : lando
2020-03-28 13:57:18 +00:00
Kartikaya Gupta 8a3b6cb1a4 Bug 1622360 - Remove the render root properties in FocusState. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D68493

--HG--
extra : moz-landing-system : lando
2020-03-27 17:44:53 +00:00
Kartikaya Gupta 7d2c8af30b Bug 1622360 - Remove SLGuidAndRenderRoot and convert remaining uses to ScrollableLayerGuid. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D68400

--HG--
extra : moz-landing-system : lando
2020-03-27 17:44:21 +00:00
Kartikaya Gupta dda847f4e7 Bug 1622360 - Remove WRRootId and convert remaining uses to LayersId. r=botond
Depends on D68396

Differential Revision: https://phabricator.services.mozilla.com/D68397

--HG--
extra : moz-landing-system : lando
2020-03-27 17:40:40 +00:00
Kartikaya Gupta 6fed4c94d9 Bug 1622360 - Remove UpdaterQueueSelector and update stuff that uses it. r=botond
This also downgrades a bunch of WRRootId parameters back down to LayersId
in APZUpdater since APZUpdater doesn't need the render root information any
more.

Changes to comments generally restore the text that was there prior to the
document-splitting patch landing.

Differential Revision: https://phabricator.services.mozilla.com/D68396

--HG--
extra : moz-landing-system : lando
2020-03-27 17:57:18 +00:00
Kartikaya Gupta 1330a33340 Bug 1622360 - Remove mWrRootId from WebRenderScrollDataWrapper. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D68395

--HG--
extra : moz-landing-system : lando
2020-03-27 15:24:54 +00:00
Miko Mynttinen 9b727b1e0b Bug 1624125 - Track display list changes in DisplayItemCache r=jrmuizel
This is needed because display lists and DisplayItemCache have different lifetimes. For example, display lists can outlive WebRenderLayerManager when device reset occurs.

A slightly nicer way of fixing this would be to couple DisplayItemCache with nsDisplayList or nsDisplayListBuilder. This is would currently require a lot of refactoring to look nice, because the painting code still supports non-retained display lists and non-WR code paths.

Differential Revision: https://phabricator.services.mozilla.com/D68193

--HG--
extra : moz-landing-system : lando
2020-03-27 16:49:37 +00:00
Simon Giesecke d3deabac64 Bug 1613363 - Maybe<T> should preserve trivial copy-constructability and destructability of T. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D68173

--HG--
extra : moz-landing-system : lando
2020-03-27 14:22:51 +00:00
Simon Giesecke 0cc5c6e63f Bug 1052940 - Make Maybe<T> only declare copy/move operations if T is copyable/movable. r=froydnj,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D68172

--HG--
extra : moz-landing-system : lando
2020-03-27 14:10:45 +00:00
Jeff Muizelaar b5242e1d14 Bug 1617708. Make ClippedDrawTarget use destination DT.
By using the destination DT we will use the correct offset
during playback instead of the offset of the reference target.

Differential Revision: https://phabricator.services.mozilla.com/D68495

--HG--
extra : moz-landing-system : lando
2020-03-27 03:15:05 +00:00
Bert Peers 230b649038 Bug 1625030 - Wrench `perf` fixes and improvements r=gw
Differential Revision: https://phabricator.services.mozilla.com/D68289

--HG--
extra : moz-landing-system : lando
2020-03-26 20:15:59 +00:00
Chris Peterson b994ab8896 Bug 1624789 - Replace MOZ_MUST_USE with [[nodiscard]] in gfx. r=gfx-reviewers,nical
Also move MOZ_MUST_USE before function declarations' specifiers and return type. While clang and gcc's __attribute__((warn_unused_result)) can appear before, between, or after function specifiers and return types, the [[nodiscard]] attribute must precede the function specifiers.

Differential Revision: https://phabricator.services.mozilla.com/D68152

--HG--
extra : moz-landing-system : lando
2020-03-25 10:35:04 +00:00
Nicolas Silva 8c7bb2522e Bug 1616901 - Remove accidental print statements. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D68171

--HG--
extra : moz-landing-system : lando
2020-03-26 16:43:03 +00:00
Lee Salzman e7163f076c Bug 1611467 - unify UnscaledFont::GetFontDescriptor and GetWRFontDescriptor implementations. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D68284

--HG--
extra : moz-landing-system : lando
2020-03-26 16:11:00 +00:00
Jonathan Kew 684a3ccf96 Bug 1624827 - Synthesize a space for U+3000 in preference to relying on font fallback. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D68181

--HG--
extra : moz-landing-system : lando
2020-03-26 00:08:40 +00:00
Razvan Maries dd48ca6c20 Backed out changeset 8b091426bc10 (bug 1540776) for build bustages. CLOSED TREE 2020-03-26 16:25:45 +02:00
Chris Martin 65292a10f3 Bug 1540776 - Have parent send color profile to child during launch r=aosmond,jld,jfkthame
For Win32k lockdown, we need to remove the content processes' ability to
call GetICMProfileW(). Since it needs this to retrieve the output color
profile, a new synchronous call is added that allows it to request the
parent process to read this file on its behalf.

The contents of the file are now being cached as well, as this should help
ease some of the increased parent process I/O caused by the children not
being able to do this in their process anymore.

For performance reasons, during launch this information is passed directly
to the child through the SetXPCOMProcessAttributes call

Differential Revision: https://phabricator.services.mozilla.com/D66126

--HG--
extra : moz-landing-system : lando
2020-03-26 13:44:56 +00:00
sotaro fa3946076f Bug 1624216 - Dirty rect is not valid when Tile's local valid rect is changed r=gw
Differential Revision: https://phabricator.services.mozilla.com/D68298

--HG--
extra : moz-landing-system : lando
2020-03-26 02:37:57 +00:00
cbrewster d80db28397 Bug 1618000: Part 3: Remove accidental dbg macro r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D68305

--HG--
extra : moz-landing-system : lando
2020-03-26 02:52:04 +00:00
cbrewster 5c34d757d0 Bug 1618000: Part 2: Clamp blur radius based on scale factors r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D65805

--HG--
extra : moz-landing-system : lando
2020-03-26 00:00:02 +00:00
Andrew Osmond 39137c5f64 Bug 1625002 - Add pref to allow force enabled the WebRender compositor. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D68271

--HG--
extra : moz-landing-system : lando
2020-03-25 22:56:29 +00:00
Botond Ballo 6a4407c26e Bug 1621803 - Fix additional bugs in Matrix4x4Flagged::operator*(Matrix4x4). r=bas
Differential Revision: https://phabricator.services.mozilla.com/D66505

--HG--
extra : moz-landing-system : lando
2020-03-25 15:22:14 +00:00
sotaro 16996a4499 Bug 1624783 - Remove redundant XRE_IsParentProcess() check in gfxPlatform::InitWebRenderConfig() r=nical
Differential Revision: https://phabricator.services.mozilla.com/D68143

--HG--
extra : moz-landing-system : lando
2020-03-25 10:37:25 +00:00
Lee Salzman 0adb330468 Bug 1611467 - disable Skia typeface cache to prevent it from leaking fonts. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D68131

--HG--
extra : moz-landing-system : lando
2020-03-25 00:58:41 +00:00
Nicolas Silva 756d071573 Bug 1624640 - Grow the alpha8 texture array four layers at a time. r=jrmuizel
The texture array is currently grown layer by layer and we typically get to 3 or 4 layers over several frames by the time we are done loading a simple wikipedia page.

Differential Revision: https://phabricator.services.mozilla.com/D68056

--HG--
extra : moz-landing-system : lando
2020-03-24 22:53:21 +00:00
Nicolas Silva 81a8466c6f Bug 1624565 - Avoid clearing the texture cache as often. r=gw
The current heuristic in TextureCache::maybe_reclaim_shared_memory pretty much clears the cache every 5 seconds. Clearing the cache is prtty drastic though, because it causes us to re-upload data and reallocate several textures on the next frame. We really only want to do it when the savings are big, which happens less often now that texture array layer count is capped at 16 and that textures are released as soon as they are empty.

This makes us clear the cache less often by augmenting the threshold to 16 megabytes and only considering texture regions that would not be reallocated right away (since we grow some texture arrays more than one region at a time).

Differential Revision: https://phabricator.services.mozilla.com/D68051

--HG--
extra : moz-landing-system : lando
2020-03-24 22:52:57 +00:00
Nicolas Silva 6f1f372ccf Bug 1624565 - Eagerly deallocate empty texture arrays in the texture cache. r=gw
We already have a cooldown from texture cache items being deallocated a certain amount of time and frames after their last use so we can deallocate texture arrays as soon as they are completely empty. We do this at the end of the frame to avoid deallocating and reallocating within the frame. It's better to reclaim texture memory this way than run into maybe_reclaim_shared_memory which will throw away everything and cause new allocations on the next frame.

Differential Revision: https://phabricator.services.mozilla.com/D68050

--HG--
extra : moz-landing-system : lando
2020-03-24 22:53:21 +00:00
Lee Salzman 5c0bc3a931 Bug 1624396 - update ANGLE shader validation tests to use centralized WR shader list. r=gw
Depends on D67961

Differential Revision: https://phabricator.services.mozilla.com/D67962

--HG--
extra : moz-landing-system : lando
2020-03-24 20:32:29 +00:00
Lee Salzman 234a39ce5e Bug 1624396 - add necessary trigonometry intrinsics for conic gradients in SWGL. r=jrmuizel
Depends on D67960

Differential Revision: https://phabricator.services.mozilla.com/D67961

--HG--
extra : moz-landing-system : lando
2020-03-24 03:41:38 +00:00
Lee Salzman 358c8f7c7c Bug 1624396 - add missing texture rectangle support to SWGL. r=jrmuizel
Depends on D67959

Differential Revision: https://phabricator.services.mozilla.com/D67960

--HG--
extra : moz-landing-system : lando
2020-03-24 03:41:38 +00:00
Lee Salzman 7fe8ae3ba8 Bug 1624396 - update SWGL to use the centralized WR shader list. r=jrmuizel
Depends on D67958

Differential Revision: https://phabricator.services.mozilla.com/D67959

--HG--
extra : moz-landing-system : lando
2020-03-24 19:13:49 +00:00
Lee Salzman 9cb73ab9c6 Bug 1624396 - implement centralized shader features list management for WebRender. r=gw,jrmuizel,jnicol
Differential Revision: https://phabricator.services.mozilla.com/D67958

--HG--
extra : moz-landing-system : lando
2020-03-24 22:21:25 +00:00
Daosheng Mu b4b7fcd011 Bug 1624645 - Make adjustment for undefined OpenVR controllers. r=kip
MozReview-Commit-ID: L3kx4Cqw8hg

Differential Revision: https://phabricator.services.mozilla.com/D68057

--HG--
extra : moz-landing-system : lando
2020-03-24 17:45:53 +00:00
Bert Peers a5e5ccd293 Bug 1605283 - Improve support for invalidation debugging and testing r=gw
Support hiding slices to better understand what's on which layer,
and to hide UI when not relevant.
Requires using a HTTP server due to cross-scripting.

Differential Revision: https://phabricator.services.mozilla.com/D67963

--HG--
extra : moz-landing-system : lando
2020-03-24 16:51:06 +00:00
Kartikaya Gupta d33180ab09 Bug 1622360 - Downgrade WRRootId to LayersId in some of APZCTreeManager. r=botond
Depends on D67868

Differential Revision: https://phabricator.services.mozilla.com/D67869

--HG--
extra : moz-landing-system : lando
2020-03-23 22:05:48 +00:00
Kartikaya Gupta f5680c938b Bug 1622360 - Remove RenderRoot propagation in APZCTreeManager. r=botond
Depends on D67867

Differential Revision: https://phabricator.services.mozilla.com/D67868

--HG--
extra : moz-landing-system : lando
2020-03-24 00:18:20 +00:00
Kartikaya Gupta f6825449bf Bug 1622360 - Remove rest of the RenderRootBoundary stuff. r=botond
Depends on D67866

Differential Revision: https://phabricator.services.mozilla.com/D67867

--HG--
extra : moz-landing-system : lando
2020-03-23 22:05:15 +00:00
Kartikaya Gupta dd636055af Bug 1622360 - Remove WebRenderScrollDataCollection::AppendWrapper and the boundary root setters in WebRenderScrollData. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D67866

--HG--
extra : moz-landing-system : lando
2020-03-23 22:05:13 +00:00
Andrew Osmond 5bef59c8fd Bug 1622254 - Match repeating tile sizes more aggresively to their snapped bounds. r=kvark
When we calculate the repeating tile size, errors can be introduced,
such that there are cases it should be the same as the bounds, but is
slightly different. This can cause a new repetition where we did not
expect one. This patch makes the comparison when may force the tile size
to be the same as the snapped bounds more fuzzy.

Differential Revision: https://phabricator.services.mozilla.com/D67620

--HG--
extra : moz-landing-system : lando
2020-03-23 23:55:25 +00:00
Jonathan Kew e819c27aa8 Bug 1309934 - Apply NFC normalization in preference to falling back to a different font for combining marks. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D67945

--HG--
extra : moz-landing-system : lando
2020-03-23 21:37:12 +00:00
Glenn Watson 18890f8aab Bug 1623791 - Remove segment gridding optimization. r=nical
This is no longer as important, with picture caching. Removing it
will simplify the planned changes to switch to a simpler segment
model based on nine-patch rectangles during scene building.

Differential Revision: https://phabricator.services.mozilla.com/D67792

--HG--
extra : moz-landing-system : lando
2020-03-23 14:58:57 +00:00
Razvan Maries 3389ad3b1f Backed out 2 changesets (bug 1618000) for wrench bustages. CLOSED TREE
Backed out changeset c72b18b22267 (bug 1618000)
Backed out changeset 9bc71e7b317b (bug 1618000)
2020-03-23 21:00:24 +02:00
Dzmitry Malyshau dcf75e7f03 Bug 1622261 - Refactor the ID recycling to always cycle through the GPU process
Previously, we kept the object IDs managed on content side only.
The GPU side would work with given indices.
When an object is destroyed, we'd free the ID on the content side and signal the GPU to delete the object.
Problem is that on the GPU process the object may still be kept alive for as long as any dependants are alive.

What this change is doing - hooking up the callbacks to the *actual* freeing of IDs on the GPU side.
These callbacks end up in messages from WebGPUParent to WebGPUChild, and only then the IDs are freed
on the content side and able to be reused.

Differential Revision: https://phabricator.services.mozilla.com/D67211

--HG--
extra : moz-landing-system : lando
2020-03-23 07:54:08 +00:00
cbrewster 34e8ddc337 Bug 1618000: Part 2: Clamp blur radius based on scale factors r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D65805

--HG--
extra : moz-landing-system : lando
2020-03-23 18:22:32 +00:00
Nicolas Silva 4ed1a83e7f Bug 1616901 - Allocate 16 layers for rgba8 linear textures in the cache and allocate new arrays instead of growing it. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D67575

--HG--
extra : moz-landing-system : lando
2020-03-23 15:29:59 +00:00
Nicolas Silva df14fe8f1e Bug 1623777 - Replace fancy right single quotation mark with less fancy one. r=gw,jrmuizel
So that moz-phab stops throwing an encoding error.

Differential Revision: https://phabricator.services.mozilla.com/D67560

--HG--
extra : moz-landing-system : lando
2020-03-23 10:44:33 +00:00
Nicolas Silva 2a16d8411d Bug 1623647 - Allocate one screen's worth of picture cache tiles in each direction instead of three. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D67559

--HG--
extra : moz-landing-system : lando
2020-03-23 10:44:35 +00:00
Sylvestre Ledru 734f79b541 Bug 1624237 - Run misc-unused-using-decls - Remove useless declarations r=andi
$ ./mach static-analysis check --checks="-*, misc-unused-using-decls" --fix <path>

Differential Revision: https://phabricator.services.mozilla.com/D67811

--HG--
extra : moz-landing-system : lando
2020-03-23 13:15:33 +00:00
Mihai Alexandru Michis 532b6f80be Backed out 3 changesets (bug 1623777, bug 1616901, bug 1623647) for causing reftest failures.
CLOSED TREE

Backed out changeset 622591504941 (bug 1616901)
Backed out changeset 034d885d32cb (bug 1623777)
Backed out changeset 610fe9c88f2e (bug 1623647)
2020-03-23 12:40:30 +02:00
Nicolas Silva ca9dc7fccd Bug 1616901 - Allocate 16 layers for rgba8 linear textures in the cache and allocate new arrays instead of growing it. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D67575

--HG--
extra : moz-landing-system : lando
2020-03-20 11:47:05 +00:00
Nicolas Silva 5a20c202f6 Bug 1623777 - Replace fancy right single quotation mark with less fancy one. r=gw,jrmuizel
So that moz-phab stops throwing an encoding error.

Differential Revision: https://phabricator.services.mozilla.com/D67560

--HG--
extra : moz-landing-system : lando
2020-03-20 11:49:54 +00:00
Nicolas Silva d06d7d219c Bug 1623647 - Allocate one screen's worth of picture cache tiles in each direction instead of three. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D67559

--HG--
extra : moz-landing-system : lando
2020-03-23 09:33:28 +00:00
Jonathan Kew d68fbcd645 Bug 1624225 - Don't reject 'fvar' table in a variation font if no instance records are present, as the font is still valid. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D67785

--HG--
extra : moz-landing-system : lando
2020-03-22 21:12:41 +00:00
Brindusan Cristian 4646c1f41f Backed out 2 changesets (bug 1614933) for bc failures at browser_tabicon_after_bg_tab_crash.js.
Backed out changeset 59503d3a702f (bug 1614933)
Backed out changeset 578c8ba9598f (bug 1614933)
2020-03-22 17:30:07 +02:00
Gabriele Svelto 322404bebb Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj
Crash annotations in content processes are currently sent over IPC via
shared memory buffers. To pave the way for the Rust rewrite of the exception
handler we are removing this code and gathering all the crash annotations
within the content processes themselves. This patch causes annotations to be
stored in the global table of each content process. They are then streamed
out to the parent process by the exception handler together with the
exception-time annotations.

This has a number of benefits:

* we have one less channel to exchange data between content processes and
  the parent process
* we save memory because we don't need to allocate the shared memory buffers
* annotations are faster because we don't stream them all out every time one
  changes
* we won't truncate annotations anymore if we run out of space in the shared
  segment.
* we don't need delayed annotations anymore, so we can get rid of the
  associated machinery

As I refactored the code I tried to adjust all the obsolete comments,
consolidate shared code and remove the redundant steps that were sometimes
present. In many places we had two entire crash annotation tables we merged to
change just a couple; that comes from the fact that historically we loaded
them from disk. Now it doesn't matter anymore and we can just go ahead and
change the ones we care about.

Differential Revision: https://phabricator.services.mozilla.com/D62586

--HG--
extra : moz-landing-system : lando
2020-03-21 17:13:08 +00:00
Emilio Cobos Álvarez 575d8d016a Bug 1622113 - Ensure the skip rect end is aligned to a 4-byte boundary. r=mstange
So that accesses that use mSkipRect.XMost() - 4 or - 16 are aligned to a 4-byte
boundary. Not doing so would crash on some architectures due to a SIGBUS.

Differential Revision: https://phabricator.services.mozilla.com/D66748

--HG--
extra : moz-landing-system : lando
2020-03-21 00:19:23 +00:00
Simon Giesecke 58d0171406 Bug 1620632 - Ensure nsTArray_Impl only declares a copy-constructor/assignment operator if E is copy-constructible. r=froydnj
To correctly implement this, it must be known on instantiation whether E is
copy-constructible, which is not the case if only a forward declaration is
available. This can be resolved either by making sure a full definition of E is
available, which is preferable. But in cases where this is not (easily) possible,
the information can be explicitly provided by the MOZ_DECLARE_COPY_CONSTRUCTIBLE
and MOZ_DECLARE_NON_COPY_CONSTRUCTIBLE macros. In particular, declarations for
IPDL-declared types are added to nsTArray.h itself, like it was already done
for MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR.

Differential Revision: https://phabricator.services.mozilla.com/D66244

--HG--
extra : moz-landing-system : lando
2020-03-20 17:13:51 +00:00
Simon Giesecke 7e9a7de895 Bug 1620632 - Rename confusingly named types/macros for relocation handling of nsTArray. r=froydnj
Specifically, this renames
* nsTArray_CopyChooser to nsTArray_RelocationStrategy
* the Copy template argument of nsTArray_base to RelocationStrategy
* nsTArray_CopyWithConstructors to nsTArray_RelocateUsingMoveConstructor
* nsTArray_CopyWithMemutils to nsTArray_RelocateUsingMemutils
* DECLARE_USE_COPY_CONSTRUCTORS to MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR

Differential Revision: https://phabricator.services.mozilla.com/D66243

--HG--
extra : moz-landing-system : lando
2020-03-20 17:04:27 +00:00
Kartikaya Gupta 9166beb15f Bug 1622360 - Remove WebRenderRenderRootData and ScrollDataBoundaryWrapper. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D67617

--HG--
extra : moz-landing-system : lando
2020-03-20 14:05:23 +00:00
Kartikaya Gupta 6ff6356148 Bug 1622360 - Remove the nsDisplayRenderRoot display item type. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D67616

--HG--
extra : moz-landing-system : lando
2020-03-20 14:20:21 +00:00
Kartikaya Gupta 29d8eb2643 Bug 1622360 - Delete GetRenderRootForFrame and dependent codepaths. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D67615

--HG--
extra : moz-landing-system : lando
2020-03-20 13:29:03 +00:00
Kartikaya Gupta fcc6b07839 Bug 1622360 - Remove the split_render_roots pref and immediate codepaths that depend on it. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D67613

--HG--
extra : moz-landing-system : lando
2020-03-20 13:54:03 +00:00
Sylvestre Ledru 180e76f20c Bug 1617369 - Reformat recent rust changes r=webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D67563

--HG--
extra : moz-landing-system : lando
2020-03-20 11:36:56 +00:00
Lee Salzman 0a8bb4194c Bug 1623716 - delimit features in SWGL shader keys. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D67578

--HG--
extra : moz-landing-system : lando
2020-03-20 02:29:35 +00:00
Kartikaya Gupta 9b09b6c55e Bug 1623681 - Fix comments referring to incorrect file. r=njn
Differential Revision: https://phabricator.services.mozilla.com/D67512

--HG--
extra : moz-landing-system : lando
2020-03-20 00:03:04 +00:00
Kartikaya Gupta 7bd1cd7fd2 Bug 1617179 - Add a MOZ_LOG for checkerboard events. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D67378

--HG--
extra : moz-landing-system : lando
2020-03-19 13:51:07 +00:00
Kartikaya Gupta da92d0e1ad Bug 1617179 - Remove IsCurrentlyCheckerboarding. r=botond
IsCurrentlyCheckerboarding can be removed now, as it does the same underlying
computation as "GetCheckerboardMagnitude(...) > 0". The only difference is that
the caller now needs to compute the clipped composition bounds, which is
easy enough to do at the one call site.

Differential Revision: https://phabricator.services.mozilla.com/D67377

--HG--
extra : moz-landing-system : lando
2020-03-19 13:51:04 +00:00
Kartikaya Gupta 610cac7e05 Bug 1617179 - Precompute clipped composition bounds and fix GetCheckerboardMagnitude. r=botond
The goal of this patch is to enhance GetCheckerboardMagnitude so that it
correctly accounts for clipping by ancestor APZC instances, the same way
IsCurrentlyCheckerboarding does. However, IsCurrentlyCheckerboarding uses
the mParent parent pointer when computing the clipped composition bounds,
which requires the tree lock. GetCheckerboardMagnitude is not allowed to
acquire the tree lock as it runs on the sampler thread.

This patch therefore takes another approach: the APZCTreeManager code
precomputes the clipped composition bounds for each APZC (which it can do
relatively efficiently and holding just the map lock), and then provides
that rect to the individual APZCs when they invoke GetCheckerboardMagnitude.

The additional changes to GetCheckerboardMagnitude are copied from the
IsCurrentlyCheckerboarding codepath, and the next patch will remove the latter
function entirely since GetCheckerboardMagnitude will do everything that is
needed for IsCurrentlyCheckerboarding.

Differential Revision: https://phabricator.services.mozilla.com/D67376

--HG--
extra : moz-landing-system : lando
2020-03-19 13:55:36 +00:00
Kartikaya Gupta 327d908fc0 Bug 1617179 - Update mApzcMap to allow access to an APZC's parent on the sampler thread. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D67375

--HG--
extra : moz-landing-system : lando
2020-03-19 13:51:14 +00:00
Kartikaya Gupta 803fabf7da Bug 1617179 - Extract a helper method across WR and non-WR codepaths. r=botond
The operations of recording checkerboard events and advancing the animations
across all APZs are conceptually linked. This patch extracts a helper that
does these operations in a single function, that is then called from both
the WR and non-WR codepaths. This will allow us to expand this code a bit
without having to duplicate it in multiple places.

Differential Revision: https://phabricator.services.mozilla.com/D67374

--HG--
extra : moz-landing-system : lando
2020-03-19 13:50:48 +00:00
Emilio Cobos Álvarez bd5fd90b36 Bug 1622894 - Really prevent to zoom out when ZoomToRect is called with DISABLE_ZOOM_OUT. r=botond
When you're zoomed inside a large text-area in GeckoView, we are zooming out
right now which is very disruptive and clearly not what the code intended.

Differential Revision: https://phabricator.services.mozilla.com/D67221

--HG--
extra : moz-landing-system : lando
2020-03-18 19:54:32 +00:00
Nicolas Silva 55ff8bf2cc Bug 1616901 - Cap the maximum texture array layer count to 32 on all platforms. r=gw
It was previously set on mac only due to driver mischiefs, however the cost of growing texture arrays becomes high with large layer counts, which capping the layer count to 32 everywhere helps mitigate at the expense of batch breaks.

Depends on D67368

Differential Revision: https://phabricator.services.mozilla.com/D67369

--HG--
extra : moz-landing-system : lando
2020-03-18 18:59:45 +00:00
Nicolas Silva 80b2069f20 Bug 1616901 - Move picture cache texture array logic into its own struct. r=gw
Doesn't make for a stellar API but texture_cache.rs has a lot of code and I had a hard time wrapping my head around the scattered parts of picture-cache specific code.

In addition (and more importantly) texture arrays for each tile sizes can be allocated on demand and do not need to be created when initializing the texture cache. This avoids allocating and deallocating the mispredicted picture texture size when the initial window size is garbage.

Depends on D67367

Differential Revision: https://phabricator.services.mozilla.com/D67368

--HG--
extra : moz-landing-system : lando
2020-03-18 18:59:32 +00:00
Nicolas Silva 2ad3156800 Bug 1616901 - Put a bit more texture cache eviction pressure. r=gw
Also make sure that the pressure factor never gets to zero.

These new constants aren't deinitive in any way though I think that they are a bit more reasonable.

Depends on D67366

Differential Revision: https://phabricator.services.mozilla.com/D67367

--HG--
extra : moz-landing-system : lando
2020-03-18 18:59:09 +00:00
Nicolas Silva ab7f86a8bd Bug 1616901 - Allocate rgb8 linear shared texture cache regions four at a time. r=gw
As an initial step to reduce the reallocation churn a bit. This texture array grows up to 12 layers for any trivial page and goes up to 40+ on many sites (like the youtube front page) so it's far from enough but it's a start. Simple popups like Help > About Nightly don't need more than 4 layers, though.

Differential Revision: https://phabricator.services.mozilla.com/D67366

--HG--
extra : moz-landing-system : lando
2020-03-18 18:58:49 +00:00
Jeff Muizelaar 6cd54550a2 Bug 1623492. Expose OS compositor to telemetry.
Differential Revision: https://phabricator.services.mozilla.com/D67415

--HG--
extra : moz-landing-system : lando
2020-03-19 02:37:21 +00:00
sotaro bfdd961bd3 Bug 1593179 - Enable gfx.webrender.max-partial-present-rects by default on Windows r=nical
Differential Revision: https://phabricator.services.mozilla.com/D67082

--HG--
extra : moz-landing-system : lando
2020-03-17 10:26:50 +00:00
Miko Mynttinen ba0e838277 Bug 1614655 - Part 2: Allow 1:n mapping of Gecko - WR display items r=jrmuizel
This patch changes the underlying storage for WR display items in DisplayItemCache
from Vec<Option<CachedDisplayItem> to Vec<Vec<CachedDisplayItem>>.
This allows storing multiple WebRender display items for one Gecko display item.

The storage is populated by traversing BuiltDisplayList extra data portion
in display list format, which is roughly as follows:
RetainedItems(key k1)
Item1(..)
RetainedItems(key k2)
ItemN(..)
ItemN+1(..)

This would store Item1 under key k1, and ItemN and ItemN+1 under the key k2,
where k1 and k2 are arbitrary unique identifiers (currently of type uint16_t).

The entries in the storage are accessed by DisplayItemCache::get_iterator(key),
which is called by BuiltDisplayListIter, whenever it encounters a display item
DisplayItem::ReuseItems(key).

Differential Revision: https://phabricator.services.mozilla.com/D66443

--HG--
extra : moz-landing-system : lando
2020-03-18 23:47:05 +00:00
Miko Mynttinen a6fe46df99 Bug 1614655 - Part 1: Remove item_key from CommonItemProperties r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D66442

--HG--
extra : moz-landing-system : lando
2020-03-18 23:46:27 +00:00
sotaro b7a705dcef Bug 1623254 - Re-create DrawTarget of CanvasRenderingContext2D when the DrawTarget becomes invalid r=nical
Differential Revision: https://phabricator.services.mozilla.com/D67274

--HG--
extra : moz-landing-system : lando
2020-03-18 10:38:32 +00:00
Razvan Maries e153e0a3e1 Backed out 3 changesets (bug 1614655) for WebRender bustages. CLOSED TREE
Backed out changeset e79e84e8819c (bug 1614655)
Backed out changeset cc263e909c61 (bug 1614655)
Backed out changeset 10897d6106a8 (bug 1614655)
2020-03-19 00:49:08 +02:00
Miko Mynttinen ac6d4c087e Bug 1614655 - Part 2: Allow 1:n mapping of Gecko - WR display items r=jrmuizel
This patch changes the underlying storage for WR display items in DisplayItemCache
from Vec<Option<CachedDisplayItem> to Vec<Vec<CachedDisplayItem>>.
This allows storing multiple WebRender display items for one Gecko display item.

The storage is populated by traversing BuiltDisplayList extra data portion
in display list format, which is roughly as follows:
RetainedItems(key k1)
Item1(..)
RetainedItems(key k2)
ItemN(..)
ItemN+1(..)

This would store Item1 under key k1, and ItemN and ItemN+1 under the key k2,
where k1 and k2 are arbitrary unique identifiers (currently of type uint16_t).

The entries in the storage are accessed by DisplayItemCache::get_iterator(key),
which is called by BuiltDisplayListIter, whenever it encounters a display item
DisplayItem::ReuseItems(key).

Differential Revision: https://phabricator.services.mozilla.com/D66443

--HG--
extra : moz-landing-system : lando
2020-03-18 17:09:51 +00:00
Miko Mynttinen 237ad6cea5 Bug 1614655 - Part 1: Remove item_key from CommonItemProperties r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D66442

--HG--
extra : moz-landing-system : lando
2020-03-18 17:08:49 +00:00
David Michael 08ad8f2e4d Bug 1623407 - Replace AtomicU64 with AtomicUsize r=kats
PowerPC and MIPS do not have AtomicU64, but AtomicUsize is a more
portable type that can be used as a replacement.

[import_pr] From https://github.com/servo/webrender/pull/3884

Differential Revision: https://phabricator.services.mozilla.com/D67365

--HG--
extra : moz-landing-system : lando
2020-03-18 18:48:38 +00:00
Kartikaya Gupta 8e681739f9 Bug 1622395 - Use AutoApplyAsyncTestAttributes instead of manually doing a half-job. r=botond
The code in GetVisibleRect() uses the test scroll offset, but not the test zoom.
Using AutoApplyAsyncTestAttributes automatically uses both.

Differential Revision: https://phabricator.services.mozilla.com/D66956

--HG--
extra : moz-landing-system : lando
2020-03-17 09:53:48 +00:00
Kartikaya Gupta dca484f1e2 Bug 1622395 - Propagate some proof-of-lock. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D66957

--HG--
extra : moz-landing-system : lando
2020-03-18 19:24:32 +00:00
Lee Salzman 4170e9dc28 Bug 1623353 - implement SWGL scaled blit. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D67336

--HG--
extra : moz-landing-system : lando
2020-03-18 15:16:55 +00:00
Lee Salzman ba7cd39200 Bug 1623215 - update SWGL text shader features. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D67313

--HG--
extra : moz-landing-system : lando
2020-03-18 13:59:37 +00:00
Jeff Muizelaar f0d960cc2b Bug 1622327. Add support for adding profiling event markers to WebRender. r=kvark
Also add some texture cache reallocation events.

Differential Revision: https://phabricator.services.mozilla.com/D66792

--HG--
extra : moz-landing-system : lando
2020-03-14 06:56:36 +00:00
Kartikaya Gupta 4795d60bd9 Bug 1613009 - Make SimpleLayerAttributes explicitly serialized. r=botond
Depends on D66819

Differential Revision: https://phabricator.services.mozilla.com/D66820

--HG--
extra : moz-landing-system : lando
2020-03-13 19:59:04 +00:00
Kartikaya Gupta 71c660e36c Bug 1613009 - Make ScrollbarData explicitly serialized. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D66819

--HG--
extra : moz-landing-system : lando
2020-03-13 19:48:47 +00:00
Kartikaya Gupta 24df3b5265 Bug 1620719 - Explicitly serialize MatrixMessage fields. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D66758

--HG--
extra : moz-landing-system : lando
2020-03-13 16:15:27 +00:00
Nicolas Silva 5670c32118 Bug 1615613 - Integrate the text shader in the brush infrastructure. r=gw
As a strating point for the vertex shader, this patch isolates the parts that are common to both shaders: the code that fetches various piece of data, adding a branching point between the text shader and other brushes just after having fetched most of the data. Hopefully we can devise ways to further unify the vertex shaders in followups.

Differential Revision: https://phabricator.services.mozilla.com/D63094

--HG--
extra : moz-landing-system : lando
2020-03-17 12:49:10 +00:00
Chris Fronk d5b004443b Bug 1143478 - Rename mozilla::Pair to CompactPair. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D64511

--HG--
rename : mfbt/Pair.h => mfbt/CompactPair.h
extra : moz-landing-system : lando
2020-03-17 12:42:12 +00:00
Nicolas Silva 560b01ff35 Bug 1618116 - Remove synchronous hit testing from WebRender's C++ wrapper. r=botond,kats
In addition:
 - Move the fast hit tester to the rust side of the bindings.
 - Avoid blocking by requesting a hit tester early and only blocking if the request isn't delivered by the time of the first hit test query.

Differential Revision: https://phabricator.services.mozilla.com/D66994

--HG--
extra : moz-landing-system : lando
2020-03-17 10:45:31 +00:00
sotaro 0f39c077be Bug 1618175 - Handle ADVANCED_LAYERS as blocked with WebRender r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D64709

--HG--
extra : moz-landing-system : lando
2020-03-16 22:38:35 +00:00
sotaro 979e03c00a Bug 1622709 - Re-enable RecycleAllocator at ImageContainer for RDD process r=nical
GPUVideoTextureHost needs call wrapped TextureHost's PrepareTextureSource() and UpdatedInternal() for layer compositor.

Differential Revision: https://phabricator.services.mozilla.com/D66923

--HG--
extra : moz-landing-system : lando
2020-03-16 10:42:32 +00:00
Kenny Levinsen 510af72a67 Bug 1614212 - Migrate global VsyncSource users correctly on frame rate change r=sotaro
CompositorVsyncDispatcher holds a reference to the VsyncSource, so it must be informed on change.

Differential Revision: https://phabricator.services.mozilla.com/D65878

--HG--
extra : moz-landing-system : lando
2020-03-16 23:24:39 +00:00
Mihai Alexandru Michis 3dc26ddcf3 Backed out changeset 18c3c5e79f1c (bug 1540776) for causing xpcshell failures in test_BHRObserver.js
CLOSED TREE
2020-03-17 00:41:38 +02:00
Glenn Watson 1d0e9e389a Bug 1622720 - Add support for the tracy frame profiler to webrender. r=nical,jrmuizel
This patch removes the old thread_profiler bindings, and adds
support for profiling WR with the tracy profiler, which is a
much more advanced frame profiler.

Since it's very lightweight, and only instruments annotated CPU
and GPU zones, it can retain very large profiles, allowing
fine grained analysis of thread interactions, CPU spikes etc.

Differential Revision: https://phabricator.services.mozilla.com/D66926

--HG--
extra : moz-landing-system : lando
2020-03-16 22:24:33 +00:00
Dzmitry Malyshau 80b79d4414 Bug 1622846 - WebGPU bindings update to the spec r=jgilbert,webidl,smaug
Updates `wgpu` code as well as our WebIDL bindings.

The `wgpu-types` is a new component crate that has public types available to
Rust applications that target the Web directly.

Differential Revision: https://phabricator.services.mozilla.com/D67013

--HG--
extra : moz-landing-system : lando
2020-03-16 21:32:37 +00:00
Gerald Squelart bc32add109 Bug 1622179 - Replace direct dependencies on BlocksRingBuffer with ProfileBufferEntryWriter's where possible - r=canaltinova
This removes most dependencies on BlocksRingBuffer, to ease the transition to
the upcoming Fission-friendly profile buffer, including:
- Length type,
- SumBytes(),
- Gecko extensions of serialization.

Differential Revision: https://phabricator.services.mozilla.com/D66722

--HG--
rename : tools/profiler/public/BlocksRingBufferGeckoExtensions.h => tools/profiler/public/ProfileBufferEntrySerializationGeckoExtensions.h
extra : moz-landing-system : lando
2020-03-16 20:32:35 +00:00
Kartikaya Gupta 052e19a347 Bug 1622444 - Ensure the isLayerized check passes consistently on Android. r=botond
If we don't wait for the click event before checking for the layerization,
then the layerization may not actually have happened at the time of the check.

Differential Revision: https://phabricator.services.mozilla.com/D67031

--HG--
extra : moz-landing-system : lando
2020-03-16 19:31:55 +00:00
Mihai Alexandru Michis 352da8fd76 Backed out 2 changesets (bug 1622395) for causing multiple reftest failures.
Backed out changeset 1e89ecc6316f (bug 1622395)
Backed out changeset 49befaabfdbb (bug 1622395)
2020-03-16 20:21:53 +02:00
Chris Martin a228b3b0d4 Bug 1540776 - Add sync IPC message for content to request color profile r=aosmond,jld
For Win32k lockdown, we need to remove the content processes' ability to
call GetICMProfileW(). Since it needs this to retrieve the output color
profile, a new synchronous call is added that allows it to request the
parent process to read this file on its behalf.

The contents of the file are now being cached as well, as this should help
ease some of the increased parent process I/O caused by the children not
being able to do this in their process anymore.

Differential Revision: https://phabricator.services.mozilla.com/D66126

--HG--
extra : moz-landing-system : lando
2020-03-16 16:31:51 +00:00
Kartikaya Gupta 60d9036293 Bug 1622395 - Propagate some proof-of-lock. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D66957

--HG--
extra : moz-landing-system : lando
2020-03-16 16:15:53 +00:00
Kartikaya Gupta 33fb0c9856 Bug 1622395 - Use AutoApplyAsyncTestAttributes instead of manually doing a half-job. r=botond
The code in GetVisibleRect() uses the test scroll offset, but not the test zoom.
Using AutoApplyAsyncTestAttributes automatically uses both.

Differential Revision: https://phabricator.services.mozilla.com/D66956

--HG--
extra : moz-landing-system : lando
2020-03-16 16:03:16 +00:00
Lee Salzman ea4d4f305a Bug 1622592 - add some padding to SWGL composition buffer to account for SIMD masking. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D66992

--HG--
extra : moz-landing-system : lando
2020-03-16 15:12:25 +00:00
Jonathan Kew 0e3de64ad3 Bug 1619180 - Speculative patch, add exception handling around gfxDWriteFont::MeasureGlyphWidth. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D66115

--HG--
extra : moz-landing-system : lando
2020-03-16 13:57:32 +00:00
Lee Salzman 718e04aa33 Bug 1622591 - add missing YUV shader variations. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D66885

--HG--
extra : moz-landing-system : lando
2020-03-16 12:50:44 +00:00
Kartikaya Gupta 532519f8b2 Bug 1622256 - Remove unnecessary parentheses producing compiler warning. r=kvark
Depends on D66769

Differential Revision: https://phabricator.services.mozilla.com/D66770

--HG--
extra : moz-landing-system : lando
2020-03-14 04:21:23 +00:00
Kartikaya Gupta efe00bc617 Bug 1622256 - Replace use of description() with to_string(). r=kvark,jrmuizel
Depends on D66767

Differential Revision: https://phabricator.services.mozilla.com/D66768

--HG--
extra : moz-landing-system : lando
2020-03-14 04:21:22 +00:00
Glenn Watson d69ec052be Bug 1621390 - Optimize backdrop primitives by collapsing to clear color. r=lsalzman,Bert
Differential Revision: https://phabricator.services.mozilla.com/D66362

--HG--
extra : moz-landing-system : lando
2020-03-16 03:47:53 +00:00
Coroiu Cristina 9cec9676e6 Backed out changeset ef75f461147c (bug 1614212) for GTest failures 2020-03-16 03:52:15 +02:00
Kenny Levinsen a3358b92f4 Bug 1614212 - Migrate global VsyncSource users correctly on frame rate change r=sotaro
CompositorVsyncDispatcher holds a reference to the VsyncSource, so it must be informed on change.

Differential Revision: https://phabricator.services.mozilla.com/D65878

--HG--
extra : moz-landing-system : lando
2020-03-16 00:05:20 +00:00
Lee Salzman f6ef80bf9c Bug 1622668 - exclude swgl from CI test scripts. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D66914

--HG--
extra : moz-landing-system : lando
2020-03-15 23:25:14 +00:00
Lee Salzman 358ec1ba7f Bug 1622520 - only run Renderbuffer cleanup code when erased. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D66868

--HG--
extra : moz-landing-system : lando
2020-03-14 14:41:15 +00:00
Hiroyuki Ikezoe 2861bb049b Bug 1621474 - Use Variant::match in AnimatedValue iterations. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D66332

--HG--
extra : moz-landing-system : lando
2020-03-14 08:15:04 +00:00
Hiroyuki Ikezoe 607696b592 Bug 1621474 - Introduce WrAnimations struct to reduce the numbers of arguments of SampleAnimations. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D66331

--HG--
extra : moz-landing-system : lando
2020-03-14 08:14:46 +00:00
Hiroyuki Ikezoe 72ced063bb Bug 1621474 - Factor out a generic function to convert WrAnimationPropertyValue<T> array into Vec<PropertyValue<T>>. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D66330

--HG--
extra : moz-landing-system : lando
2020-03-14 08:37:47 +00:00
Hiroyuki Ikezoe 9e26e7ea21 Bug 1621474 - Add a generic WrAnimationPropertyValue. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D66329

--HG--
extra : moz-landing-system : lando
2020-03-14 08:14:20 +00:00
Hiroyuki Ikezoe bd2bb0fbeb Bug 1621474 - Drop into() calls for LayoutTransform in WrTransformProperty. r=kats
It's not necessary to be converted, it's simply copied.

Differential Revision: https://phabricator.services.mozilla.com/D66328

--HG--
extra : moz-landing-system : lando
2020-03-14 08:14:02 +00:00
Ed Lee acb960676c Bug 1620556 - Automatic code fixes for Prettier 1.19.1 upgrade. r=Standard8,remote-protocol-reviewers,marionette-reviewers,webcompat-reviewers,perftest-reviewers,sparky,whimboo,denschub
Differential Revision: https://phabricator.services.mozilla.com/D66128

--HG--
extra : moz-landing-system : lando
2020-03-13 23:38:52 +00:00
Ed Lee 68e140412a Bug 1622343 - Automatic code fixes for rustfmt warnings for now-unskipped files r=linter-reviewers,sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D66811

--HG--
extra : moz-landing-system : lando
2020-03-13 23:23:58 +00:00
sotaro 9a27c755ab Bug 1621836 - Make SurfaceTextureHost::NumSubTextures() returns 0 when SurfaceTexture does not exist r=nical
When NumSubTextures() returns 0, SurfaceTextureHost is not rendered to WebRebder by a check of AsyncImagePipelineManager::UpdateImageKeys().

Differential Revision: https://phabricator.services.mozilla.com/D66514

--HG--
extra : moz-landing-system : lando
2020-03-13 14:42:24 +00:00
sotaro da70969622 Bug 1620491 - Disable native compositor when hardware stretching is not supported r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D66704

--HG--
extra : moz-landing-system : lando
2020-03-13 14:57:40 +00:00
Daosheng Mu 9258842ca9 Bug 1621369 - Part 4: Support WebXR to WebVR gamepad button/axis re-mapping. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D66680

--HG--
extra : moz-landing-system : lando
2020-03-13 20:57:15 +00:00
Daosheng Mu 81a78595ce Bug 1621369 - Part 3: Adjust Oculus controller button/axis order for WebXR. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D66679

--HG--
extra : moz-landing-system : lando
2020-03-13 20:57:07 +00:00
Daosheng Mu c385d94fc2 Bug 1621369 - Part 2: Replace OpenVRControllerType with VRControllerType in IPC. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D66678

--HG--
extra : moz-landing-system : lando
2020-03-13 20:56:59 +00:00
Daosheng Mu 5469f66b91 Bug 1621369 - Part 1: Refactor OpenVR controller and adjust its button/axis order for WebXR. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D66677

--HG--
extra : moz-landing-system : lando
2020-03-13 20:56:52 +00:00
Kartikaya Gupta 67bc5d7367 Bug 1617427 - Add a test for the scenario being fixed. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D66428

--HG--
extra : moz-landing-system : lando
2020-03-13 19:59:41 +00:00
Kartikaya Gupta c4913fea1d Bug 1617427 - Resurrect IsCurrentlyCheckerboarding and make it more correct. r=botond
This improves the implementation of IsCurrentlyCheckerboarding (which is not
invoked from anywhere prior to this patch) so that it takes into account the
recursive clipping applied by ancestor layers' composition bounds. In other
words, the visible rect for a layer may be additionally clipped because
ancestor scrollframes have scrolled, and this patch accounts for that.

It also records the currently-checkerboarding state into the APZTestData
at the time that the compositor APZTestData instance is fetched.

Differential Revision: https://phabricator.services.mozilla.com/D66427

--HG--
extra : moz-landing-system : lando
2020-03-13 19:59:30 +00:00
Kartikaya Gupta 61b5c2e638 Bug 1617427 - Extract helper method to normalize visible rect computation. r=botond
Slight functional changes:
- the checkerboard event call site will now include mTestAsyncScrollOffset
when calculating the visible rect, which should impact overall behaviour if
there's a test that cares about checkerboard events (there currently isn't).
- the IsCurrentlyCheckerboarding call site will use the compositing effective
scroll offset instead of the raw metrics scroll offset. This function is
not called from anywhere so it doesn't matter, but it makes sense to align
it with the other uses and I'll be using it in future patches.

Differential Revision: https://phabricator.services.mozilla.com/D66426

--HG--
extra : moz-landing-system : lando
2020-03-13 19:58:56 +00:00
Kartikaya Gupta 7d07c4a8b1 Bug 1617427 - Miscellaenous documentation fixes. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D66425

--HG--
extra : moz-landing-system : lando
2020-03-13 19:56:56 +00:00
Lee Salzman 739b23d170 Bug 1612941 - vendor SWGL's rust dependencies. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D65617

--HG--
extra : moz-landing-system : lando
2020-03-13 18:24:40 +00:00
Lee Salzman 5c3cc16e78 Bug 1612941 - import glsl-to-cxx and swgl into Gecko tree. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D65616

--HG--
extra : moz-landing-system : lando
2020-03-13 18:24:35 +00:00
Lee Salzman 757d9d309f Bug 1612941 - update gleam version to allow implementation of Gl trait. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D65615

--HG--
extra : moz-landing-system : lando
2020-03-13 18:22:45 +00:00
Lee Salzman a6672ce481 Bug 1612941 - WR shader changes to support SWGL instance attribs. r=jrmuizel,gw
Add annotations to vertex shaders so that SWGL can detect when a vertex attribute
is generated by per-instance data rather than per-vertex data.

Differential Revision: https://phabricator.services.mozilla.com/D65614

--HG--
extra : moz-landing-system : lando
2020-03-13 18:22:08 +00:00
Lee Salzman 8d077bf1f7 Bug 1612941 - force immediate upload method for SWGL since PBOs are slower there. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D65613

--HG--
extra : moz-landing-system : lando
2020-03-13 18:21:06 +00:00
Lee Salzman a82ed1dd00 Bug 1612941 - support variable depth buffer size in WR. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D65602

--HG--
extra : moz-landing-system : lando
2020-03-13 18:20:29 +00:00
Lee Salzman efe93a2734 Bug 1612941 - only upload partial GPU cache rows in WR when possible to minimize memory churn. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D65598

--HG--
extra : moz-landing-system : lando
2020-03-13 18:19:54 +00:00
Lee Salzman c199ecc9d4 Bug 1612941 - properly detect GL_ARB_texture_swizzle extension in WR. r=gw,kvark
Differential Revision: https://phabricator.services.mozilla.com/D65596

--HG--
extra : moz-landing-system : lando
2020-03-13 18:19:17 +00:00
Lee Salzman 47653c01bc Bug 1612941 - make WR report shader name and features in output for interop with SWGL. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D65595

--HG--
extra : moz-landing-system : lando
2020-03-13 18:18:42 +00:00
Lee Salzman 8041e1300a Bug 1612941 - add SWGL glue to wrench. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D65593

--HG--
extra : moz-landing-system : lando
2020-03-13 18:18:16 +00:00
Lee Salzman ec2805f08f Bug 1612941 - add SWGL glue to webrender_bindings. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D65592

--HG--
extra : moz-landing-system : lando
2020-03-13 18:18:14 +00:00
Lee Salzman 9a97a2105a Bug 1612941 - add deinit hook to WR Compositor trait. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D65591

--HG--
extra : moz-landing-system : lando
2020-03-13 18:35:27 +00:00