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

40831 Коммитов

Автор SHA1 Сообщение Дата
Timothy Nikkel 5bd54aad13 Bug 1710052. Allow repaint requests to update the resolution if the last resolution change origin was apz in addition to when the old resolution matches. r=botond
During double tap animations we can be in a situation where we get two repaint requests from every layers update. The first one comes from NotifyLayersUpdated and scroll offset update type is eNone, the second from the zoom animation ticking has scroll offset update type eUserAction and there was a layout scroll position update. Both can have some amount of aync zoom (not necessarily equal), and have the same content pres shell resolution.

We handle the eNone one first, and update the content pres shell resolution. Then for the eUserAction we check the content presshell resolution and it no longer matches, so we drop the request entirely thinking its out of date (including the scroll position update). It's not out of date of course, content hasn't done any updates, so apz has the latest info (even if it might not have a fully up to date value of the content pres shell resolution, it's value of zoom is the most up to date of anywhere).

Differential Revision: https://phabricator.services.mozilla.com/D114587
2021-05-19 02:50:52 +00:00
Matt Woodrow 498ca2e7f6 Bug 1540737 - Template BSPTree so that it can be used for non-Layers consumers. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D114672
2021-05-19 01:11:31 +00:00
Matt Woodrow 7487e05b57 Bug 1540737 - Implement PushLayerWithBlend for DrawTargetCairo. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D114671
2021-05-19 01:11:30 +00:00
Iulian Moraru 57fa31a3ae Backed out changeset 0c97af20bdad (bug 1699588) for causing android mda crashes in ShaderProgramOGL. 2021-05-19 03:14:23 +03:00
sotaro 5dee81c9c8 Bug 1699588 - Enable external compositing of SurfaceTexture with sw-wr r=gfx-reviewers,lsalzman
SurfaceTexture handling for external compositing is implemented in RenderCompositorOGLSWGL::HandleExternalImage().

Differential Revision: https://phabricator.services.mozilla.com/D115338
2021-05-18 22:26:35 +00:00
Iulian Moraru 04d2c15f4b Merge mozilla-central to autoland 2021-05-19 00:37:42 +03:00
Iulian Moraru 443f87caa5 Merge autoland to mozilla-central. a=merge 2021-05-19 00:35:27 +03:00
Glenn Watson 476a33215e Bug 1711409 - Introduce static coordinate system id on spatial nodes r=gfx-reviewers,lsalzman
This will be used by follow up patches to do some verification and
optimization of how we handle clips between different spaces.

For now, it also allows removal of the method to check if a spatial
node is definitely in a root coordinate system.

Differential Revision: https://phabricator.services.mozilla.com/D115182
2021-05-18 20:32:50 +00:00
Dzmitry Malyshau 163a4a7ed8 Bug 1709462 - Fix freeing of WebGPU bind group layouts r=jimb
When the pipeline layout is implicit at pipeline creation,
we collect the IDs of BGLs, to be able to produce GPUBindGroupLayout
object upon user request. However, the produced object didn't know if
it owns the ID or borrows it, so it would issue a "drop" when going out of scope.

This change establishes this distinction. In addition, it gets the Pipeline Layout ID,
and together with the BGL ids, they are sent to GPU process upon pipeline destruction.

When the GPU process is done with these IDs used, it will kick back a message to the
Content process, allowing the IDs to be reclaimed.

Differential Revision: https://phabricator.services.mozilla.com/D114649
2021-05-18 16:26:27 +00:00
Csoregi Natalia 1f3f5df2ce Backed out 8 changesets (bug 1540737) for causing graphics crashes in Bug 1711718. a=backout
Backed out changeset 37628894ffd5 (bug 1540737)
Backed out changeset 4b5f53d5127b (bug 1540737)
Backed out changeset a73e041f1f1d (bug 1540737)
Backed out changeset 81f1a9d1a5e1 (bug 1540737)
Backed out changeset b3d0cc460b24 (bug 1540737)
Backed out changeset f929de495b87 (bug 1540737)
Backed out changeset 2f5b8369d061 (bug 1540737)
Backed out changeset b4c93d182ef4 (bug 1540737)
2021-05-18 19:06:20 +03:00
Csoregi Natalia e7693d754d Backed out changeset ee3c15c9dba5 (bug 1708416) for non-unified failure on RenderCompositorSWGL.cpp. CLOSED TREE 2021-05-18 17:21:15 +03:00
Csoregi Natalia 35b1f1acc5 Backed out 2 changesets (bug 1711462, bug 1705024) for failures on svg-paint-rect-changes.html. CLOSED TREE
Backed out changeset 40fd0d9fbaa7 (bug 1705024)
Backed out changeset 7fe9e5e3e89e (bug 1711462)
2021-05-18 17:08:37 +03:00
Robert Mader c2f64d72cb Bug 1708416 - Implement n-buffering for the Wayland software backend, r=stransky
In order to fully comply with the spec and work on all compositors.
This is somewhat inspired by `SurfacePoolCA`, moving buffers between
buckets - in use or available. The idea is to make it easy to expand
this further to share a common buffer pool between multiple surfaces.

It works similar to EGL buffer handling and reuses the partial damage
logic in WR by implementing buffer age.

Notable changes to the current implementation:
 - always draw directly into shm-buffer memory - no caching.
 - drawing is purely driven by the compositor / the VsyncSource.
   No frame callbacks or threads apart from buffer release
   callbacks.

One of the goals here is to handle different compositor behaviour
efficiently - if a compositor releases buffers early, we want to
reuse a single buffer whenever possible. If a compositor holds buffers
longer, we want to minimize the area we need to redraw to older buffers.
This is archived by always using the last released buffer. The expected
usual buffer age is `1` in the fast release case and `2`-`3` in the
holding case.

This changes buffer handling quite significantly, so propper testing
is due. However, as the overall architecture is somewhat simpler than
before, it may improve stability in the long term.

Note: instead of replacing, this now duplicates parts of the existing
backend. This is in order to keep the existing one stable and gruadually
phasing it out together with the Basic compositor.

Differential Revision: https://phabricator.services.mozilla.com/D114349
2021-05-18 12:34:27 +00:00
Jonathan Kew cf297d803f Bug 1708768 - Make InitFontList safe to call off-main-thread on macOS, and run font-list initialization on a separate thread during startup. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D115295
2021-05-18 11:10:43 +00:00
Jonathan Kew 137c757143 Bug 1708768 - Create a pref to defer gfxPlatformFontList initialization until first use, and enable this on macOS. r=lsalzman
This gives the RegisterFonts thread more time to complete its work, so that
the main thread doesn't have to wait for it in InitFontList.

In the worst case, where the registration thread still hasn't finished
by the time we call gfxPlatformFontList::PlatformFontList() the first time,
it's still no worse than previously, it just reorders some of the work
that has to be done before we can render any content.

Depends on D114863

Differential Revision: https://phabricator.services.mozilla.com/D114865
2021-05-18 11:10:43 +00:00
Jonathan Kew 18310539bf Bug 1708768 - Preliminary cleanup of gfxPlatformFontList creation/initialization code; no functional change. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D114863
2021-05-18 11:10:42 +00:00
Hiroyuki Ikezoe cbe2ee2234 Bug 1707348 - Call SnapBackOverscrolledApzcForMomentum instead of StartOverscrollAnimation in OnPanEnd. r=botond
It makes sure that overscroll animations which have been cancelled by this pan
gesture will restart again.
The reason we don't use the existing SnapBackOverscrolledApzc is that
SnapBackOverscrolledApzc function ends up calling ScrollSnap even if
it's not overscrolled, thus it will mess up subsequent momentum scrolling.

Differential Revision: https://phabricator.services.mozilla.com/D114928
2021-05-18 09:00:54 +00:00
Nicolas Silva 7d05e7cab0 Bug 1711486 - Show only shared texture cache entries in debug view. r=gfx-reviewers,lsalzman
Otherwise each texture is scaled down to make room for dozens of picture tiles to the point that it's hard to make out whatever is in the textures. We can already see the texture cound via the HUD profiler so it's more useful to only show shared textures and see what's in the atlases.

Differential Revision: https://phabricator.services.mozilla.com/D115213
2021-05-18 08:21:52 +00:00
Nicolas Silva 9183c93d76 Bug 1705024 - Evict unused cached render tasks after 10 frames. r=gfx-reviewers,gw
Cached render tasks are usually much cheaper to produce than texture uploads so it's good to make sure lingering unused render tasks don't create unnecessary pressure on the texture cache. It also avoids things like animated gradients from filling the texture cache in a second.

Depends on D115206

Differential Revision: https://phabricator.services.mozilla.com/D115207
2021-05-18 08:20:28 +00:00
Nicolas Silva b134c6a2df Bug 1711462 - Evict non-manual texture cache items when nothing holds on to them. r=gfx-reviewers,gw
Making room in the texture cache as early as possible reduces the likelihood of allocating extra textures. It will also let us discard unused cached render tasks more aggressively in a folowup patch.

Differential Revision: https://phabricator.services.mozilla.com/D115206
2021-05-18 08:20:28 +00:00
Timothy Nikkel 61f35a2dc4 Bug 1703646. Enable proton pref when running gfx/layers/apz/test/mochitest/test_group_zoom-2.html like everywhere else.
Differential Revision: https://phabricator.services.mozilla.com/D115335
2021-05-18 07:26:54 +00:00
Lee Salzman a04a4431b0 Bug 1710325 - Fix offset clamping in SWGL blur fast-path. r=jrmuizel
We accidentally were clamping the horizontal stage of the separable blur some
number of samples too early before the end of the row, rather than at the end
of the row.

Differential Revision: https://phabricator.services.mozilla.com/D115309
2021-05-18 05:53:56 +00:00
Matt Woodrow 5ad828d443 Bug 1540737 - Template BSPTree so that it can be used for non-Layers consumers. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D114672
2021-05-17 23:53:43 +00:00
Matt Woodrow 2e89e242f6 Bug 1540737 - Implement PushLayerWithBlend for DrawTargetCairo. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D114671
2021-05-17 23:53:43 +00:00
Jeff Muizelaar 94cd5cfe14 Bug 1711538 - Improve 'compatible_type()' r=lsalzman
This renames compatible_type() to can_implicitly_convert_to()
which is a better name. The parameters are renamed to make
it more obvious what's going on. A note is added about
glsl misparsing of float literals and finally, implicit conversion of
float/double to int is removed because that's not supported by glsl.

Differential Revision: https://phabricator.services.mozilla.com/D115247
2021-05-17 20:52:38 +00:00
Jeff Muizelaar 4e1bc5a36f Bug 1711490 - Stop using allocating a depth buffer for the main window. r=nical
In bug 1696905 we removed our need for depth buffer when running the
composite shader.

Differential Revision: https://phabricator.services.mozilla.com/D115216
2021-05-17 19:54:35 +00:00
Lee Salzman 7a5a451f96 Bug 1674396 - Implement SWGL fast-path for box shadows. r=jrmuizel
This adds a span shader that tries to treat the box shadow as a nine-patch
and intersect with the various sectors of it. This allows committing entire
contiguous spans of texture from the source box shadow rather than doing
slower per-fragment processing.

Differential Revision: https://phabricator.services.mozilla.com/D115113
2021-05-17 17:43:39 +00:00
Timothy Nikkel 003a1f685f Bug 1711424. When setting a new resolution from apz calculate it to avoid float inaccuracy. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D115187
2021-05-17 17:17:22 +00:00
Ryan VanderMeulen 0e8b28fb35 Bug 1711472 - Update HarfBuzz to 2.8.1. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D115212
2021-05-17 15:51:42 +00:00
Robert Mader d28121020a Bug 1711214 - Some cleanups in NativeLayerWayland and SurfacePoolWayland, r=aosmond
To make the code nicer to read. No functional changes intended.

Depends on D115139

Differential Revision: https://phabricator.services.mozilla.com/D115145
2021-05-17 12:20:19 +00:00
Robert Mader dc3ad30a3e Bug 1711214 - Use ShmBuffer for NativeLayerRootWayland surface, r=gfx-reviewers,aosmond
We currently use an EGLSurface from the shared GL context, which is
both not very clean and also likely uses more resources.

Use our just refactored and generalized `WaylandShmBuffer` instead.

Depends on D115083

Differential Revision: https://phabricator.services.mozilla.com/D115139
2021-05-17 12:20:19 +00:00
Nicolas Silva 295136d90a Bug 1710814 - Set the image tiling threshold to 4k. r=gfx-reviewers,jnicol
Depends on D114954

Differential Revision: https://phabricator.services.mozilla.com/D114955
2021-05-17 09:05:52 +00:00
Nicolas Silva f7e7a32c08 Bug 1710814 - Allow rendering tiles and segments with the opaque pass in more cases. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D114954
2021-05-17 09:05:51 +00:00
Glenn Watson c5e19c637c Bug 1710979 - Store scene clip instances in a separate array r=gfx-reviewers,lsalzman
Previously, these were stored as a SmallVec<2> within each
defined clip template. However, this leads to inefficient
memory usage for most cases.

This is particularly noticeable on youtube.com, which currently
defines a large number of clips.

With this patch, the allocated memory for clips in the display
list drops from ~820 kB to ~450 kB (we should also investigate
and reduce the number of clips defined on this page too).

Differential Revision: https://phabricator.services.mozilla.com/D115039
2021-05-16 20:57:36 +00:00
Iulian Moraru b6ba6af634 Backed out 3 changesets (bug 1708768) for causing font related crashes (bug 1711332). a=backout DONTBUILD
Backed out changeset fa037550d6e8 (bug 1708768)
Backed out changeset 10b30c8d4b86 (bug 1708768)
Backed out changeset c03c7df7cd61 (bug 1708768)
2021-05-16 11:46:34 +03:00
Jonathan Kew 432230b092 Bug 1708768 - Fix up a couple of tests that are sensitive to startup timing and tend to fail when the font-list is initialized later. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D114866
2021-05-14 18:05:45 +00:00
Jonathan Kew 0e23ebf8cd Bug 1708768 - Create a pref to defer gfxPlatformFontList initialization until first use, and enable this on macOS. r=lsalzman
This gives the RegisterFonts thread more time to complete its work, so that
the main thread doesn't have to wait for it in InitFontList.

In the worst case, where the registration thread still hasn't finished
by the time we call gfxPlatformFontList::PlatformFontList() the first time,
it's still no worse than previously, it just reorders some of the work
that has to be done before we can render any content.

Differential Revision: https://phabricator.services.mozilla.com/D114865
2021-05-14 18:05:44 +00:00
Jonathan Kew 11b9b22a55 Bug 1708768 - Preliminary cleanup of gfxPlatformFontList creation/initialization code; no functional change. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D114863
2021-05-14 18:05:44 +00:00
Emilio Cobos Alvarez 2ec499c7b2 Bug 1708829 - Make sure that delta* getters account for scroll speed override correctly. r=masayuki
Depends on D114052

Differential Revision: https://phabricator.services.mozilla.com/D114737
2021-05-14 17:44:29 +00:00
Sandor Molnar 7b4d940c00 Backed out 2 changesets (bug 1708829) for causing mochitest plain failures in test_continuous_wheel_events. CLOSED TREE
Backed out changeset 28faebd5fc72 (bug 1708829)
Backed out changeset 044c2060da7d (bug 1708829)
2021-05-14 17:12:03 +03:00
Andrew Osmond 05d9f058fd Bug 1711118 - Part 3. Allow D3D11 compositing with Software WebRender in release. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D115081
2021-05-14 13:01:22 +00:00
Andrew Osmond 8f5da297a9 Bug 1711118 - Part 2. Allow Software WebRender without the GPU process in release. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D115079
2021-05-14 13:01:21 +00:00
Emilio Cobos Alvarez 21021ee18d Bug 1708829 - Make sure that delta* getters account for scroll speed override correctly. r=masayuki
Depends on D114052

Differential Revision: https://phabricator.services.mozilla.com/D114737
2021-05-14 12:41:30 +00:00
Andrew Osmond 091cb4dc71 Bug 1704792 - Part 2. Add plumbing for display list building to support blobs for SVG images. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D111837
2021-05-13 16:24:06 +00:00
Andrew Osmond 90e8b6554c Bug 1704792 - Part 1. Add SourceSurfaceBlobImage to manage the blob recording for SVG images. r=jrmuizel,nical
Differential Revision: https://phabricator.services.mozilla.com/D111835
2021-05-13 16:24:06 +00:00
Jonathan Kew 83fcb74e81 Bug 1704812 - Broadcast newly-added FontList shm blocks to Content Processes instead of waiting and doing sync IPC. r=emilio,jld
Differential Revision: https://phabricator.services.mozilla.com/D112666
2021-05-13 14:30:09 +00:00
Csoregi Natalia 1697facf08 Backed out changeset 221d5494188c (bug 1704812) for thread sanitizer issues in SharedFontList. DONTBUILD CLOSED TREE 2021-05-13 15:16:00 +03:00
Jonathan Kew 0ba5a52a62 Bug 1704812 - Broadcast newly-added FontList shm blocks to Content Processes instead of waiting and doing sync IPC. r=emilio,jld
Differential Revision: https://phabricator.services.mozilla.com/D112666
2021-05-13 11:45:48 +00:00
Csoregi Natalia ba272367cd Backed out changeset 80c9125cfac0 (bug 1704812) for assertion failures on gfxPlatformFontList.cpp. CLOSED TREE 2021-05-13 12:26:03 +03:00
Jonathan Kew 40e823046b Bug 1704812 - Broadcast newly-added FontList shm blocks to Content Processes instead of waiting and doing sync IPC. r=emilio,jld
Differential Revision: https://phabricator.services.mozilla.com/D112666
2021-05-13 08:57:42 +00:00
Brad Werth d54bd9f046 Bug 1707832: Ensure that SurfacePoolCA doesn't store or give out null recycled surfaces. r=mstange
The general contract of a SurfacePoolEntry is that mIOSurface should be
non-null, but this isn't asserted. This patch adds release asserts to ensure
that these surfaces are non-null at the time they are stored and released. It
is one of the possible non-OOM ways that NativeLayerCA::NextSurface could
store a null surface.

Differential Revision: https://phabricator.services.mozilla.com/D113870
2021-05-12 22:38:52 +00:00
Botond Ballo 0bf5753ff1 Bug 1710598 - Acquire the APZC lock consistently in GetOverscrollAmount(). r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D115018
2021-05-12 21:08:08 +00:00
Glenn Watson 2ca046cde2 Bug 1707154 - Use surface device pixel scale for image mask rects r=gfx-reviewers,bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D114917
2021-05-12 21:00:32 +00:00
Jeff Muizelaar 54a52e060a Bug 1710897 - Handle matrix inversion failing more gracefully. r=aosmond
Prior to making invert() return an Option we just gleefully
assumed that it succeeded here. Instead of panicing let's
fail to create the transform.

The problem was found by oss-fuzz:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34216

Differential Revision: https://phabricator.services.mozilla.com/D114999
2021-05-12 20:52:53 +00:00
Botond Ballo 0b27bb5bc9 Bug 1707605 - Call SnapBackIfOverscrolled() on mouse-up. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D114806
2021-05-12 20:18:26 +00:00
Jeff Muizelaar aba91bd4ce Bug 1710695. Use a restricted visible area for masks. r=aosmond
This is similar to the work done in bug 1494924 for fallback items.

Differential Revision: https://phabricator.services.mozilla.com/D114915
2021-05-12 14:28:25 +00:00
Jamie Nicol f1a4194b3f Bug 1609191 - Revert previous attempt to work around Adreno shader compilation crash. r=nical
On Adreno 505 and 506 devices we encounter frequent crashes when
compiling shaders. We previously attempted to work around this by
ensuring that the source strings were always unique, as we believed it
may be due to buggy caching internally in the driver. This did not
have any effect, however, so this patch reverts the attempted
workaround.

Differential Revision: https://phabricator.services.mozilla.com/D114949
2021-05-12 13:03:51 +00:00
Glenn Watson d63ec55624 Bug 1710503 - Fix blend container + complex transform optimization r=gfx-reviewers,jnicol
Ensure that we only apply the mix-blend container -> tile cache
optimization in cases where we know the transform on the blend
container is axis-aligned.

Differential Revision: https://phabricator.services.mozilla.com/D114812
2021-05-11 20:08:32 +00:00
Jonathan Kew 422033a266 Bug 454059 - Add [minimal] tag support to cairo-quartz-surface.c. r=jrmuizel
This implements a subset of the tag() function on the quartz surface backend;
just enough to support generating links in PDF output. In particular, the
only tag type supported is Link, and we require the link area to be passed
as a list of rects in the 'begin' call; we don't support accumulating all
drawing operations between 'begin' and 'end' into a link area.

Differential Revision: https://phabricator.services.mozilla.com/D114206
2021-05-11 17:00:29 +00:00
Jonathan Kew 354ac1c958 Bug 454059 - Support Link in DrawTargetRecording and playback. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D114205
2021-05-11 17:00:29 +00:00
Jonathan Kew 2d634bc1ca Bug 454059 - Add a Link() method to DrawTarget, and implement it in DrawTargetCairo. r=jrmuizel
This provides a basic Link() API on DrawTarget, intended to generate a link
for a single rectangular area (which will be the rect of a frame corresponding
to a link element).

Differential Revision: https://phabricator.services.mozilla.com/D113774
2021-05-11 17:00:28 +00:00
Jeff Muizelaar 43d9a94d83 Bug 1710655 - Avoid some implicit conversions to double. r=aosmond
Clang knows that float + 0.5 is the same as float + 0.5f
so that part shouldn't have any difference except to the reader.

Hopefully ceilf(float) is always identical to ceil(float) too.

Differential Revision: https://phabricator.services.mozilla.com/D114860
2021-05-11 15:02:31 +00:00
Jeff Muizelaar c92ee2a045 Bug 1710542 - Remove 'invalid' field from Matrix. r=aosmond
This changes to using Option<Matrix> instead of
having an 'invalid' field. This makes sure we check
when we need to and don't have to check otherwise.

Differential Revision: https://phabricator.services.mozilla.com/D114808
2021-05-11 13:58:20 +00:00
Jeff Muizelaar 9b9ddc9cc2 Bug 1710450 - Pass a reference to read_tag_s15Fixed16ArrayType r=aosmond
This lets us avoid having to look up the tag again.

Differential Revision: https://phabricator.services.mozilla.com/D114751
2021-05-11 13:57:43 +00:00
Robert Mader 89349d8182 Bug 1699985 - Implement basic native Wayland compositor backend, r=stransky,mstange,aosmond
This implements a mostly working native backend for Wayland. It can
be enabled via `gfx.webrender.compositor.force-enabled`.

The focus here was to get a basic structure in place while mini-
mising changes in shared code.

Known issues and limitations:
 - No readback - this will likely require an internal compositor
   again, as Wayland doesn't allow easily allow readback of the
   composited image, at least not without asking for permission.
   Alternatively, a new Wayland extension could be written for it.
 - Frame-call related issues when using a compositor that optimizes
   them (e.g. Gnome-Shell). This will be fixed in a follow-up, in
   the mean time disabling `widget.wayland.opaque-region.enabled`
   and `widget.wayland.vsync.enabled` works around the issues.
 - Only works on Weston or very recent versions of Gnome-Shell, see
   bug 1699754

Differential Revision: https://phabricator.services.mozilla.com/D111662
2021-05-11 13:38:59 +00:00
Emilio Cobos Álvarez 7459740759 Bug 1709746 - Factor out some sRGBColor interpolation code. r=aosmond
I didn't end up needing this for bug 1709719, but I wrote it and might
be worth landing.

Differential Revision: https://phabricator.services.mozilla.com/D114429
2021-05-11 13:24:24 +00:00
Botond Ballo 148520bf12 Bug 1709374 - Make the check for canceling overscroll after a scroll offset reclamp more precise. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D114798
2021-05-11 00:56:44 +00:00
Hiroyuki Ikezoe 0416e9a726 Bug 1709723 - Hand off overscrolling to the root content APZC only if the APZC is scrollable in the same direction of the input. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D114583
2021-05-11 00:09:08 +00:00
Glenn Watson e30be09d52 Bug 1710336 - Deduplicate clip template ids when creating hit-test nodes. r=gfx-reviewers,nical
Ideally, we wouldn't need to de-duplicate clip ids here, this would
be done at a higher level. However, due to the way we currently
handle redundant stacking context clips, this is a significant
performance win on some pages.

For example, on the youtube.com home page, this drops the size of
the hit-test clip nodes array from ~3800 to ~2200 per scene. This
is still much higher than it should be, but this gives an immediate
performance win while working on the more involved changes to handle
this in a more optimal way.

Differential Revision: https://phabricator.services.mozilla.com/D114705
2021-05-10 21:21:16 +00:00
Jonathan Kew 1af33c039b Bug 1708821 - On pre-10.15 macOS versions, don't do off-main-thread font registration in content processes. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D114484
2021-05-10 21:04:53 +00:00
sotaro c28cd636d3 Bug 1709900 - Do not call ScreenshotGrabber::MaybeGrabScreenshot() when RenderCompositorLayersSWGL::mCompositingStarted is false r=mstange,gfx-reviewers
mCompositor->BeginFrameForWindow() needs to be called for  ScreenshotGrabber::MaybeGrabScreenshot() with CompositorD3D11.

Differential Revision: https://phabricator.services.mozilla.com/D114714
2021-05-10 20:48:02 +00:00
Glenn Watson 54230f3c04 Bug 1709983 - Pt 3 - Remove remaining WR uses of define_clip r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D114565
2021-05-10 20:10:13 +00:00
Glenn Watson ee49ee940e Bug 1709983 - Pt 2 - Use DefinedRoundedRectClip for backdrop-filter r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D114564
2021-05-10 20:10:12 +00:00
Glenn Watson 6cfb58809a Bug 1709983 - Pt 1 - Remove PushClearRectWithComplexRegion. r=gfx-reviewers,nical
The clear region prim don't support complex clip regions (the
complex clip region was being ignored). This has been shipping
like this for many months now, so it seems it's not required.

Differential Revision: https://phabricator.services.mozilla.com/D114563
2021-05-10 20:10:12 +00:00
Dzmitry Malyshau 5e83175020 Bug 1709440 - Fix the space mapping for WR glyphs r=gw
Differential Revision: https://phabricator.services.mozilla.com/D114551
2021-05-10 18:53:53 +00:00
Bob Owen 5de1cf3b61 Bug 1709644: Add null checks for GetReferenceDrawTarget when called on CanvasTranslator. r=jrmuizel
Also, return false from CreateReferenceTexture when mBaseDT is null.

Differential Revision: https://phabricator.services.mozilla.com/D114386
2021-05-10 15:43:58 +00:00
sotaro 6f9e643c8d Bug 1710347 - Call WebRenderBridgeParent::Destroy() in EraseLayerState() r=nical,gfx-reviewers
EraseLayerState() call from CompositorBridgeParent::DeallocateLayerTreeId() does not destroy WebRenderBridgeParent.

Differential Revision: https://phabricator.services.mozilla.com/D114712
2021-05-10 08:28:51 +00:00
Andi-Bogdan Postelnicu 50652b3f08 Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio,sylvestre
Updated with rustfmt 1.4.36-stable (7de6968 2021-02-07)

Differential Revision: https://phabricator.services.mozilla.com/D114376
2021-05-10 07:15:07 +00:00
Andi-Bogdan Postelnicu eab549fd19 Bug 1519636 - Initial reformat of C/C++ code with clang-format version 12.0.0. r=sylvestre
clang-format version 12.0.0 (taskcluster-KEgO7qdgQ8uaewA6NkRnRA)

Differential Revision: https://phabricator.services.mozilla.com/D114211
2021-05-10 07:15:07 +00:00
Andi-Bogdan Postelnicu a1f2f7329d Bug 1519636 - Reformat recent changes to the Google coding style. r=necko-reviewers,valentin,sylvestre
Updated with clang-format version 11.0.1 (taskcluster-GI8pmG3eQ_OSXfjFfr2yFw)

Differential Revision: https://phabricator.services.mozilla.com/D114618
2021-05-10 07:15:06 +00:00
sotaro ffc239ae17 Bug 1710331 - Remove unused code in CompositorBridgeParent::RecvAdoptChild() r=gfx-reviewers,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D114701
2021-05-10 04:03:03 +00:00
Lee Salzman 3dc03093ad Bug 1710144 - Clamp out-of-range RGB values for YUV shaders with SWGL. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D114693
2021-05-10 00:53:28 +00:00
Matt Woodrow a6d0dff2b5 Bug 1707513 - Add 'drawSnapshot' mode to reftest harness, and annotate all current failures. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D114188
2021-05-10 00:28:01 +00:00
Matt Woodrow e76f264866 Bug 1708325 - Change frame throttling code in nsRefreshDriver to explicitly track the pending frames. r=mstange
This makes it easier to understand and will make it easier to not include 'extra' frames (as we're hoping they will coalesce with the original frame on the compositor).

Differential Revision: https://phabricator.services.mozilla.com/D113736
2021-05-10 00:00:50 +00:00
Dorel Luca 9bdd0264e6 Backed out 2 changesets (bug 1708325) for Build bustages in gecko/layout/base/nsRefreshDriver.h. CLOSED TREE
Backed out changeset 3fe338644983 (bug 1708325)
Backed out changeset edf1ac18cc8c (bug 1708325)
2021-05-10 01:52:44 +03:00
Matt Woodrow 8daf5cd7e6 Bug 1708325 - Change frame throttling code in nsRefreshDriver to explicitly track the pending frames. r=mstange
This makes it easier to understand and will make it easier to not include 'extra' frames (as we're hoping they will coalesce with the original frame on the compositor).

Differential Revision: https://phabricator.services.mozilla.com/D113736
2021-05-09 22:35:44 +00:00
Emilio Cobos Álvarez fd3b4da85a Bug 1710059 - Fix order of transform application in WebRenderScrollDataWrapper. r=botond
When we have a both bottom and top layer, we weren't applying the
transforms in the right order.

Do you know what the right way to test this is?

Differential Revision: https://phabricator.services.mozilla.com/D114629
2021-05-08 22:58:44 +00:00
Alexandru Michis 4b2cad43d1 Backed out 2 changesets (bug 1707513) for causing reftest failures in partial-prerender-expansion-with-resolution-1.html
Backed out changeset f9bdd1b929f2 (bug 1707513)
Backed out changeset b76d28f3a159 (bug 1707513)
2021-05-08 22:13:23 +03:00
Matt Woodrow a77dc2167d Bug 1707513 - Add 'drawSnapshot' mode to reftest harness, and annotate all current failures. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D114188
2021-05-08 05:52:19 +00:00
Hiroyuki Ikezoe 59ba152141 Bug 1710013 - Hold a strong reference of OverscrollAnimation instance to avoid being derefed. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D114580
2021-05-07 22:32:21 +00:00
Botond Ballo 1fe3fda8d3 Bug 1700169 - Apply the test async properties in GetOverscrollAmount(). r=tnikkel
Depends on D114456

Differential Revision: https://phabricator.services.mozilla.com/D114457
2021-05-07 21:30:58 +00:00
Botond Ballo d1514d8853 Bug 1700169 - Squish scroll thumbs when overscrolled. r=tnikkel
Depends on D114455

Differential Revision: https://phabricator.services.mozilla.com/D114456
2021-05-07 21:30:58 +00:00
Botond Ballo 1ac1378662 Bug 1700169 - Extend ScaleThumbBy() to allow keeping the position of either the start or the end of the thumb constant. r=tnikkel
Depends on D114454

Differential Revision: https://phabricator.services.mozilla.com/D114455
2021-05-07 21:30:57 +00:00
Botond Ballo 5891621438 Bug 1700169 - Take into account the correct transform origin when scaling the thumb. r=tnikkel
The code was written assuming the transform origin is the top
of the scrollbar track, but it's actually the layer tree origin.

So far, scaling was only done for thumbs of the root scroll frame
where there is no difference, so no one noticed.

Depends on D114453

Differential Revision: https://phabricator.services.mozilla.com/D114454
2021-05-07 21:30:57 +00:00
Botond Ballo 377ba4adde Bug 1700169 - Factor out the code to scale the thumb into its own function. r=tnikkel
This includes the translation to ensure the scaling keeps the position
of the top of the thumb constant.

Differential Revision: https://phabricator.services.mozilla.com/D114453
2021-05-07 21:30:57 +00:00
Kagami Sascha Rosylight 9298d0e9e9 Bug 1706420 - Part 2: Pass tilt/twist info via WidgetTouchEvent r=aklotz,edgar
Differential Revision: https://phabricator.services.mozilla.com/D113056
2021-05-07 18:01:28 +00:00
Robert Mader 76023e93e9 Bug 1709606 - Rename CompositorWidget::AsX11() to CompositorWidget->AsGTK(), r=stransky,nical
Nowadays we often use it for Wayland, which is confusing. Also, it
has a bunch of GTK specific functions, which an alternative X11
implementation would like not have. So a explicit name is probably
deserved.

Depends on D114424

Differential Revision: https://phabricator.services.mozilla.com/D114425
2021-05-07 12:31:28 +00:00
Hiroyuki Ikezoe c99a053acb Bug 1709334 - Ensure calling SampleOverscrollAnimation for overscroll animations which are about to finish. r=botond
In cases where the overscroll amount is pretty small, the animation's
physics model considers it's finished, which exacly means it's about
to finish, so if we don't call SampleOverscrollAnimation in such cases,
the small amount of overscrolling value remains there, then we try to
create overscroll animations repeatedly even if the overscroll amount
is visually noticeablt.

Differential Revision: https://phabricator.services.mozilla.com/D114445
2021-05-07 05:24:10 +00:00
Timothy Nikkel 442aa07485 Bug 1707806. Have AsyncPanZoomController::ZoomToRect just call RequestContentRepaint instead of repeating it. r=botond
One slightly change is needed to RequestContentRepaint.

Depends on D113074

Differential Revision: https://phabricator.services.mozilla.com/D113464
2021-05-07 03:55:23 +00:00
Glenn Watson abf890dc11 Bug 1709757 - Pt 3 - Remove WR internal code and APIs for debugger feature r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D114452
2021-05-07 01:57:01 +00:00