Commit Graph

33744 Commits

Author SHA1 Message Date
Botond Ballo
6bdb9a362d Bug 1554790 - Use reftest-resolution where appropriate in APZ scrollbar rendering reftests. r=kats
With this change, the tests in question pass on desktop, except for
scrollbar-zoom-resolution-2.html which is annotated as failing.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 18:26:04 +00:00
Kartikaya Gupta
be4391585f Bug 1556597 - Fix warnings in webrender_bindings in nightly rust. r=Gankro
Depends on D33782

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

--HG--
extra : moz-landing-system : lando
2019-06-05 14:06:25 +00:00
Kartikaya Gupta
8d93d33a0b Bug 1556597 - Run cargo fix on webrender. r=Gankro
This is the result of `cargo +nightly fix --all-features --all-targets`
using a recent rust nightly.

Depends on D33781

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

--HG--
extra : moz-landing-system : lando
2019-06-05 14:07:48 +00:00
Kartikaya Gupta
d46fd3203f Bug 1556597 - Fix workspace warnings. r=Gankro
These warnings have been around forever; unused things in the workspace
Cargo.toml file that just need removing.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 14:05:32 +00:00
Jonathan Kew
d816e90844 Bug 1556991 - Remove the pref controlling WOFF2 support; it's always enabled. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D33777

--HG--
extra : moz-landing-system : lando
2019-06-05 13:47:26 +00:00
Jeff Muizelaar
fee767003f Bug 1556505. Handle offset surfaces in the other backends. r=rhunt
This brings DrawTargetCairo and DrawTargetD2D1 inline with DrawTargetSkia's
ability to handle SourceSurfaceOffset properly.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 19:08:58 +00:00
Connor Brewster
da4ad436ef Bug 1556590 - Display root render task instead of last render task in WebRender debugger r=gw
Differential Revision: https://phabricator.services.mozilla.com/D33582

--HG--
extra : moz-landing-system : lando
2019-06-04 20:52:29 +00:00
Lee Salzman
9b48977698 Bug 1556481 - check for DWrite failures in UnscaledFontDWrite::GetFontFileData. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D33585

--HG--
extra : moz-landing-system : lando
2019-06-04 09:26:11 +00:00
Dzmitry Malyshau
5fc1be5b39 Bug 1554502 - Track the reference frame of batched bounding boxes and enforce it in WR r=gw
Differential Revision: https://phabricator.services.mozilla.com/D33343

--HG--
extra : moz-landing-system : lando
2019-06-03 21:12:54 +00:00
Dan Glastonbury
f2af9f0231 Bug 1550640 - P2: Remove dead code resulting from refactoring of ItemRange. r=Gankro
Having `ItemRange` contain a byte slice means that the `display_list` and
`pipeline_id` don't need to be threaded through code that accesses items from
ItemRange.

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

--HG--
extra : moz-landing-system : lando
2019-06-04 05:53:05 +00:00
Dan Glastonbury
8cde33bc21 Bug 1550640 - P1: Refactor ItemRange to contain u8 slices for byte ranges. r=Gankro
This refactor is in preparation for P3.

When refactoring `next_raw()` to use `peek_from` instead of
`deserialize_in_place`, it became clear that `ItemRange` is holding a slice of
bytes from the incoming serialized display list and `peek_from` could be adapted
work directly on the byte slice.

It was also noticed that the `get()` interface was potentially unsafe; any
`ItemRange` can be passed into `get()` for any display list.

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

--HG--
extra : moz-landing-system : lando
2019-06-04 05:53:03 +00:00
Brindusan Cristian
9eb2f739c1 Merge inbound to mozilla-central. a=merge 2019-06-04 06:47:20 +03:00
Maya Rashish
cbc217134b Bug 1180498 - Tolerate a different major libGL.so on NetBSD as well r=jgilbert 2019-06-03 16:54:35 -07:00
sotaro
64ccd472e9 Bug 1556283 - Add more logs to RenderDXGITextureHostOGL and RenderDXGIYCbCrTextureHostOGL r=nical
Differential Revision: https://phabricator.services.mozilla.com/D33439

--HG--
extra : moz-landing-system : lando
2019-06-03 13:43:48 +00:00
Ryan VanderMeulen
e654402ba5 Bug 1554306 - Update HarfBuzz to version 2.5.1. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D32776

--HG--
rename : gfx/harfbuzz/src/hb-ot-name-language.cc => gfx/harfbuzz/src/hb-ot-name-language-static.hh
rename : gfx/harfbuzz/src/test-size-params.cc => gfx/harfbuzz/src/test-gpos-size-params.cc
rename : gfx/harfbuzz/src/test-would-substitute.cc => gfx/harfbuzz/src/test-gsub-would-substitute.cc
rename : gfx/harfbuzz/src/test-name-table.cc => gfx/harfbuzz/src/test-ot-name.cc
extra : moz-landing-system : lando
2019-06-03 15:11:49 +00:00
Ryan Hunt
267c1c0f34 Bug 1519546, part 8 - Also gather EffectsInfo for remote browsers with WebRender. r=jrmuizel
The nsDisplayListBuilder bits were added in the previous commit.

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

--HG--
extra : rebase_source : aec41ccaaab4c99b11ed94baf908d1ec61eaee31
extra : intermediate-source : bbcfdcc12774c1b8d78c6420614141382fed3d40
extra : source : 489c8d663f7f63ea32d3eb2226d45a84e51aabe8
2019-05-24 09:28:34 -05:00
Csoregi Natalia
de697c360a Merge mozilla-central to mozilla-inbound. CLOSED TREE
--HG--
rename : layout/generic/nsFrameIdList.h => layout/generic/FrameIdList.h
2019-06-02 00:37:53 +03:00
Daniel Varga
f35d98dcc4 Merge mozilla-central to mozilla-inbound 2019-06-01 12:45:58 +03:00
arthur.iakab
3d92be0a81 Backed out 9 changesets (bug 1519546)for causing build bustages on nsLayoutUtils.cpp and browser chrome failures on nsLayoutUtils.cpp
Backed out changeset 04b0e8a22ee2 (bug 1519546)
Backed out changeset bbcfdcc12774 (bug 1519546)
Backed out changeset ea63d3d6b85f (bug 1519546)
Backed out changeset 3cb9ddccccf3 (bug 1519546)
Backed out changeset 49e4d0e4fc7c (bug 1519546)
Backed out changeset d31b7d33efc7 (bug 1519546)
Backed out changeset b4d5865e3307 (bug 1519546)
Backed out changeset 83576499bf77 (bug 1519546)
Backed out changeset f130b7ac0266 (bug 1519546)
2019-06-01 01:18:26 +03:00
sotaro
e9e8848ea1 Bug 1555544 - Remove calling TextureClient::CancelWaitForNotifyNotUsed() r=jgilbert
Flickering happened when SharedSurface_ANGLEShareHandle is destroyed before RenderDXGITextureHostOGL::EnsureLockable() is called on Render thread. RenderDXGITextureHostOGL failed at device->OpenSharedResource() . In this case, SharedSurface_ANGLEShareHandle failed to render. Then black was rendered.

If  TextureClient::CancelWaitForNotifyNotUsed() is not called, the refcount is kept until the host side ends its usage. The refcount is removed by CompositorBridgeChild::NotifyNotUsed().

Depends on D33265

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

--HG--
extra : moz-landing-system : lando
2019-05-31 12:35:42 +00:00
sotaro
16ce9c4a30 Bug 1555544 - Change function name from CancelWaitForRecycle() to CancelWaitForNotifyNotUsed() r=jgilbert
CancelWaitForRecycle() does not cancel wait for recycling. It cancels wait for end of usage on host side.

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

--HG--
extra : moz-landing-system : lando
2019-06-01 09:37:56 +00:00
Emilio Cobos Álvarez
21d5c25734 Bug 1553769 - Make nsIWidget::SetFocus infallible, and make it take an enum class. r=NeilDeakin
Only gtk returns failure ever, and nobody checks the result anyway.

Use an enum class so that it's clear from the caller what it means.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 22:13:56 +00:00
Razvan Maries
d1e73ed3bc Backed out changeset 023c03347e6a (bug 1554183) for build bustages. CLOSED TREE 2019-05-31 18:29:47 +03:00
Randell Jesup
1c5db230d6 Bug 1554183: Save font data to startup cache immediately r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D33245

--HG--
extra : rebase_source : 53851b4761013c0c65e5e173e8367852729fd0c3
2019-05-24 21:38:47 -04:00
Randell Jesup
57fd4e550d Bug 1554183: Save font data to startup cache immediately r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D33245

--HG--
extra : rebase_source : e3d4445f3d9a24262127caca7a273846478e3c85
2019-05-24 21:38:47 -04:00
Ryan Hunt
11703ca543 Bug 1519546, part 8 - Also gather EffectsInfo for remote browsers with WebRender. r=jrmuizel
The nsDisplayListBuilder bits were added in the previous commit.

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

--HG--
extra : rebase_source : 62b7bd85df6475ba6e40fcf3d775daa2a3607f89
extra : source : 489c8d663f7f63ea32d3eb2226d45a84e51aabe8
2019-05-24 09:28:34 -05:00
Andrew Osmond
fc4ca8a7df Bug 1549965 - Enable GPU process by default on Linux if hardware compositing is used. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D33027
2019-05-31 09:20:37 -04:00
Narcis Beleuzu
2bc2cca589 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-05-31 07:07:40 +03:00
Barret Rennie
8923589429 Bug 1551735 - Clearly document the case of the RendererOGL receiving a new WebRenderCompositionRecorder while it has one r=kats
Differential Revision: https://phabricator.services.mozilla.com/D32356

--HG--
extra : moz-landing-system : lando
2019-05-31 00:31:52 +00:00
Barret Rennie
d9cb9952d0 Bug 1551735 - Record compositions in Web Render r=kats
Now that we have a suitable composition recorder infrastructure, it is just a
matter of plumbing the `WebRenderCompositionRecorder` from the
`CompositorBridgeParent` to the `RenderThread` to start recording frames.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 00:31:39 +00:00
Barret Rennie
f5ab9bc353 Bug 1551735 - Add a thread-safe composition recorder for WebRender r=kvark,kats
Since WebRender does its rendering on a separate thread from the compositor
thread, we need a composition recorder that can be shared between threads.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 00:31:24 +00:00
Barret Rennie
b526a32af7 Bug 1551735 - Expose bindings to the Renderer's composition recorder structures r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D32233

--HG--
extra : moz-landing-system : lando
2019-05-31 00:31:05 +00:00
Barret Rennie
ba01dca1d6 Bug 1551735 - Add a mode to the AsyncScreenshotGrabber to enable composition recording r=kvark
The AsyncScreenshotGrabber now can operate in two modes:

* `ProfilerScreenshots`, which does asynchronous scaling of the captured frames
  for inclusion in profiles by the Gecko Profiler; and
* `CompositionRecorder`, which does not do any scaling and is used for visual
  metrics computations.

The latter mode is exposed by on the `Renderer` via the `record_frame`,
`map_recorded_frame`, and `release_composition_recorder_structures` methods.

A different handle type (`RecordedFrameHandle`) is returned and consumed by
these functions, but they translate between `RecordedFrameHandle` and
`AsyncScreenshotHandle` when communicating with the underlying
`AsyncScreenshotGrabber`.

I considered making the `AsyncScreenshotGrabber` generic over its handle type,
but the extra cost of monomorphization just to change the handle type did not
seem worth it.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 00:30:52 +00:00
Barret Rennie
5c8de993e0 Bug 1551735 - Split out screenshot grabbing infrasturcture into a new module r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D32523

--HG--
extra : moz-landing-system : lando
2019-05-31 00:30:37 +00:00
Barret Rennie
fc26f28fc6 Bug 1551735 - Ref count and document CompositionRecorder r=kats
The CompositionRecorder was being stored as a UniquePtr on the
CompositorBridgeParent, but was then passed to and stored on the LayerManger as
a raw pointer. This has been updated to use a RefPtr.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 00:30:24 +00:00
Narcis Beleuzu
7cf9aa5d4b Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-05-31 00:51:28 +03:00
Narcis Beleuzu
4938f48e9f Backed out changeset cb107011caf5 (bug 1549965) for causing assertion failures on gfxFeature.cpp . CLOSED TREE 2019-05-30 23:54:36 +03:00
Barret Rennie
5bbd89905f Bug 1555379 - Record content paint times for WebRender r=kats
The WebRenderBridgeChild now records whether or not it was painting content
while sending display lists to the WebRenderBridgeParent, allowing for
composition times to be recorded for WebRender.

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

--HG--
extra : moz-landing-system : lando
2019-05-30 21:08:01 +00:00
Barret Rennie
67fb95c52f Bug 1555379 - Document the various CompositionPayloadTypes r=bas
Differential Revision: https://phabricator.services.mozilla.com/D33055

--HG--
extra : moz-landing-system : lando
2019-05-30 20:38:52 +00:00
Coroiu Cristina
0c344192ae Backed out 7 changesets (bug 1551735) for build bustage at src/gfx/layers/wr/WebRenderCompositionRecorder.h on a CLOSED TREE
Backed out changeset 98e75ac2cf4f (bug 1551735)
Backed out changeset 152e3a6e5c10 (bug 1551735)
Backed out changeset 9deb5350e244 (bug 1551735)
Backed out changeset 6154bdfe6fad (bug 1551735)
Backed out changeset 4a0936bda490 (bug 1551735)
Backed out changeset a7868d694fe1 (bug 1551735)
Backed out changeset 06c8e5f7768d (bug 1551735)
2019-05-31 00:05:00 +03:00
Barret Rennie
1725af146a Bug 1551735 - Clearly document the case of the RendererOGL receiving a new WebRenderCompositionRecorder while it has one r=kats
Differential Revision: https://phabricator.services.mozilla.com/D32356

--HG--
extra : moz-landing-system : lando
2019-05-30 20:19:56 +00:00
Barret Rennie
0177b781d0 Bug 1551735 - Record compositions in Web Render r=kats
Now that we have a suitable composition recorder infrastructure, it is just a
matter of plumbing the `WebRenderCompositionRecorder` from the
`CompositorBridgeParent` to the `RenderThread` to start recording frames.

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

--HG--
extra : moz-landing-system : lando
2019-05-30 20:19:48 +00:00
Barret Rennie
6e0b85ac76 Bug 1551735 - Add a thread-safe composition recorder for WebRender r=kvark,kats
Since WebRender does its rendering on a separate thread from the compositor
thread, we need a composition recorder that can be shared between threads.

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

--HG--
extra : moz-landing-system : lando
2019-05-30 20:32:42 +00:00
Barret Rennie
1bd07ea3f6 Bug 1551735 - Expose bindings to the Renderer's composition recorder structures r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D32233

--HG--
extra : moz-landing-system : lando
2019-05-30 20:18:23 +00:00
Barret Rennie
c40786fc58 Bug 1551735 - Add a mode to the AsyncScreenshotGrabber to enable composition recording r=kvark
The AsyncScreenshotGrabber now can operate in two modes:

* `ProfilerScreenshots`, which does asynchronous scaling of the captured frames
  for inclusion in profiles by the Gecko Profiler; and
* `CompositionRecorder`, which does not do any scaling and is used for visual
  metrics computations.

The latter mode is exposed by on the `Renderer` via the `record_frame`,
`map_recorded_frame`, and `release_composition_recorder_structures` methods.

A different handle type (`RecordedFrameHandle`) is returned and consumed by
these functions, but they translate between `RecordedFrameHandle` and
`AsyncScreenshotHandle` when communicating with the underlying
`AsyncScreenshotGrabber`.

I considered making the `AsyncScreenshotGrabber` generic over its handle type,
but the extra cost of monomorphization just to change the handle type did not
seem worth it.

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

--HG--
extra : moz-landing-system : lando
2019-05-30 20:18:09 +00:00
Barret Rennie
b5f01eed03 Bug 1551735 - Split out screenshot grabbing infrasturcture into a new module r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D32523

--HG--
extra : moz-landing-system : lando
2019-05-30 20:17:52 +00:00
Barret Rennie
76600ea0a2 Bug 1551735 - Ref count and document CompositionRecorder r=kats
The CompositionRecorder was being stored as a UniquePtr on the
CompositorBridgeParent, but was then passed to and stored on the LayerManger as
a raw pointer. This has been updated to use a RefPtr.

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

--HG--
extra : moz-landing-system : lando
2019-05-30 20:17:39 +00:00
Connor Brewster
e68c4f61a8 Bug 1536240 - Add debug option to wrench to output specified shader source r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D33088

--HG--
extra : moz-landing-system : lando
2019-05-30 19:28:10 +00:00
Noemi Erli
02b7a9faeb Backed out 7 changesets (bug 1551735) for build bustages in RenderThread.cpp CLOSED TREE
Backed out changeset aa165d8c181d (bug 1551735)
Backed out changeset e7b857609786 (bug 1551735)
Backed out changeset f2a2396a0d4a (bug 1551735)
Backed out changeset 5891d00fca85 (bug 1551735)
Backed out changeset 2e6ca6d6c527 (bug 1551735)
Backed out changeset 3b2078f90715 (bug 1551735)
Backed out changeset a516d20303e6 (bug 1551735)
2019-05-30 23:10:21 +03:00
Barret Rennie
969a6a61ea Bug 1551735 - Clearly document the case of the RendererOGL receiving a new WebRenderCompositionRecorder while it has one r=kats
Differential Revision: https://phabricator.services.mozilla.com/D32356

--HG--
extra : moz-landing-system : lando
2019-05-29 21:53:44 +00:00