Commit Graph

35018 Commits

Author SHA1 Message Date
Botond Ballo
f0522f76d7 Bug 1585197 - Fix non-unified build bustage in APZCTreeManager.cpp. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D47710

--HG--
extra : moz-landing-system : lando
2019-09-30 23:33:37 +00:00
Ciure Andrei
79d2986eb6 Backed out changeset ea9e4099e608 (bug 1580922) at request from jrmuizel CLOSED TREE 2019-10-01 01:05:24 +03:00
Jeff Muizelaar
986b2ec145 Bug 1580922. Partially revert blob recoord fallback changes. r=nical
This moves the origin of fallback blobs back to the top left of their display
item bounds. This is what they were before the patches in bug 1568227 and makes
more sense because there's not necessarily a reference frame above the fallback
frame which means that the coordinates of the display item can change without
us wanting to invalidate the interior.

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

--HG--
extra : moz-landing-system : lando
2019-09-30 07:39:14 +00:00
Jamie Nicol
db3ac60fec Bug 1584497 - Update wrench reftest expectations for emulator 29.2.1. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D47629

--HG--
extra : moz-landing-system : lando
2019-09-30 21:05:09 +00:00
Botond Ballo
6db92a9d0e Bug 1584691 - Reinstate support for scrollbar layers that are descendants of the scrolled content. r=tnikkel
This layer structure can still occur in cases where we place the RCD-RSF
scroll metadata on the root layer as a fallback.

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

--HG--
extra : moz-landing-system : lando
2019-09-30 19:12:16 +00:00
Hiroyuki Ikezoe
16081f5205 Bug 1547169 - A crash test by fuzzing. r=boris
Depends on D47566

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

--HG--
extra : moz-landing-system : lando
2019-09-30 19:49:36 +00:00
Hiroyuki Ikezoe
1940fb41d3 Bug 1529149 - A crash test by fuzzing. r=boris
Depends on D47565

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

--HG--
extra : moz-landing-system : lando
2019-09-30 19:49:32 +00:00
Jeff Muizelaar
9651ff76cf Bug 1582645. Only set mLastVisibleRect after we've sent it to WebRender. r=nical
This avoids us setting when we don't send it. e.g. When it's empty.

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

--HG--
extra : moz-landing-system : lando
2019-09-30 17:48:34 +00:00
Dorel Luca
1dc5a9e539 Merge mozilla-central to autoland. CLOSED TREE
--HG--
extra : amend_source : 3a6d0bf5ed1bcaebf59f44bd4dd5e80be0e0190b
2019-09-30 13:37:30 +03:00
Coroiu Cristina
161096b665 Backed out changeset 43ac974f69db (bug 1582645) for increasing the crash volume a=backout 2019-09-30 12:51:23 +03:00
sotaro
b61f0ef673 Bug 1583432 - Set IDCompositionVisual interporation mode to Linear r=nical
Differential Revision: https://phabricator.services.mozilla.com/D46896

--HG--
extra : moz-landing-system : lando
2019-09-30 09:01:32 +00:00
Cosmin Sabou
14938bad3b Backed out 10 changesets (bug 1550108) for causing build bustages on StartupCache.cpp.
Backed out changeset cbadfa2bbd7e (bug 1550108)
Backed out changeset 2560f0ab6ebf (bug 1550108)
Backed out changeset 0a1fa8d8bb3c (bug 1550108)
Backed out changeset 62416909cf67 (bug 1550108)
Backed out changeset 60991713b1e2 (bug 1550108)
Backed out changeset f950e30afd90 (bug 1550108)
Backed out changeset e63d0a1fec38 (bug 1550108)
Backed out changeset 7a009d42e7e7 (bug 1550108)
Backed out changeset 395affa4c205 (bug 1550108)
Backed out changeset 0fd41e9dbd2a (bug 1550108)

--HG--
rename : mfbt/lz4/lz4.c => mfbt/lz4.c
rename : mfbt/lz4/lz4.h => mfbt/lz4.h
2019-09-29 01:14:31 +03:00
Doug Thayer
cf2166a011 Bug 1550108 - Eliminate large buffer copies from StartupCache r=froydnj
The signatures were updated in the previous patch to hand us the raw,
uncopied buffers. This just adjusts the callsites to match.

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

--HG--
extra : moz-landing-system : lando
2019-09-27 18:17:13 +00:00
Andrew Osmond
956a5992ad Bug 1582975 - Ensure that we don't attempt to iterate over image tiles outside the range. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D47468

--HG--
extra : moz-landing-system : lando
2019-09-27 19:10:27 +00:00
Ryan VanderMeulen
b2fefdf67b Bug 1578075 - Revert stack size of paint threads back to 512KB on macOS 10.15. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D47501

--HG--
extra : moz-landing-system : lando
2019-09-27 21:09:22 +00:00
Dorel Luca
c18b81f79f Backed out 3 changesets (bug 1509316) for MDA failures on dom/media/tests/mochitest/test_peerConnection_captureStream_canvas_2d.html
Backed out changeset d64c35b9c211 (bug 1509316)
Backed out changeset 817f14af91f0 (bug 1509316)
Backed out changeset b4bee18bb499 (bug 1509316)
2019-09-27 23:31:51 +03:00
John Lin
01cc36b53b Bug 1509316 - p1: move composite listening out of VideoData/VideoSink. r=jya,mattwoodrow
On Android, decoded buffers need to be send back to MediaCodec in order to be
rendered and/or recycled. The current mechanism introduced in bug 1299068 only
works for playback(VideoData/VideoSink) but not WebRTC(VideoFrame/VideoOutput).
Move the callback to SurfaceTextureImage because VideoData and VideoFrame both
own that when using MediaCodec, and move the notification to VideoFrameContainer
for both VideoSink and VideoOutput pass frames there for compositing.

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

--HG--
extra : moz-landing-system : lando
2019-09-27 03:01:49 +00:00
Jamie Nicol
ffd7f50dee Bug 1581628 - Update wrench jobs to work with NDK r20. r=jrmuizel
To support NDK r20, wrench needs to be built with a more recent, upstream
(though still unpublished) version of cargo-apk. This has some consequences
which have been adjusted for:
 * Gradle is no longer required to build wrench.
 * The output apk file paths have changed.
 * The apks are now signed automatically.
 * The default activity name has changed.
 * Android permissions must be explicitly requested.
 * We must ensure winit is built with a matching version of android_glue.

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

--HG--
extra : moz-landing-system : lando
2019-09-27 13:50:43 +00:00
Jeff Muizelaar
bdcf335677 Bug 1582645. Only set mLastVisibleRect after we've sent it to WebRender. r=nical
This avoids us setting when we don't send it. e.g. When it's empty.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 21:08:29 +00:00
Glenn Watson
ab1041de89 Bug 1581757 - Support slicing the scene into an arbitrary number of picture cache slices r=nical,kvark
Previously, the setup_picture_caching function was hard coded
to support only a very specific shape of display list. With this
change, flags are added to PrimitiveCluster that can specify
if a picture cache slice should be created before / after this
cluster when picture caching is set up.

The usage of these flags in this patch matches the old behaviour,
so should not have any functional effect.

However, in future we will make use of this functionality to
create picture slices for a number of different use cases, such as:

 * Creating cache tiles for the UI.
 * Slicing the scene where there are video elements, in order to
   allow these to be composited directly by the OS. This may also
   apply to WebGL and/or canvas elements.
 * Slicing the scene when there is a very large fixed position
   background image or other element, to avoid invalidating the
   entire tile cache each frame.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 21:14:36 +00:00
Jeff Muizelaar
388602ee84 Bug 1584316. blob: Call EndGroup after pulling the data out of it.
This is needed for the fix in bug 1582645 to work.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 21:08:42 +00:00
Kris Taeleman
d2d88e021d Bug 1582565 - Log transactions into readable format. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D46657

--HG--
extra : moz-landing-system : lando
2019-09-26 16:43:05 +00:00
Botond Ballo
4c26f8c142 Bug 1583983 - Add threading / locking overview to APZ docs. r=tnikkel,nical
To avoid duplicating information, the comment about lock ordering in
APZCTreeManager.h is also updated to point to the documentation.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 09:48:24 +00:00
thomasmo
ab2f648351 Bug 1581855:Part 2 - Present VR output to VR Host r=kip,jrmuizel,sotaro,bryce
This change is a continuation of Part 1 (Bug 1570128), where the 2D content rendered by Firefox for Firefox Reality on Desktop is marshalled through VRHost so that it can be presented in a VR environment.
A new class, FxrOutputHandler, is created to manage creating a sharable texture, sharing it through VRShMem, and updating it when content updates. This class updates content with both WebRender and conventional rendering output.
This initial iteration of FxrOutputHandler does not have synchronization between reading and writing this shared texture across processes. A subsequent fix (Bug 1581881) is pending, which will reuse WebVR code to manage writing to and reading from a pool of textures.
This also presents issues with rendering protected media, so an additional class, FxrWindowManager, is created to manage all windows created for Firefox Reality on Desktop so that it can inform whether or not protected media can be presented.
The automated manual tests in vrhosttest.cpp now show the real shared texture handle rather than a fake value, which shows that marshaling succeeded.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 12:50:44 +00:00
sotaro
4f131bcbd5 Bug 1572222 - Revert TooManyPendingFrames() logic r=nical
Before  Bug 1570869, new frame was generated if WR does not have a pending frame build task. But  since Bug 1570869 fix, there is a case that new frame generation does not happen even when WR does not have a frame build task.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 09:29:24 +00:00
sotaro
f3029ff35f Bug 1583703 - Fix reset handling in RenderThread::HandleFrameOneDoc() r=nical
Move DeviceReset handling before the assert. It is OK, since RendererOGL instance is not re-used after the DeviceReset. It is replaced by a new RendererOGL.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 09:52:04 +00:00
Dorel Luca
f1e99da78f Backed out changeset c2c9dbf826fe (bug 1581757) by dev's request 2019-09-26 12:37:59 +03:00
Glenn Watson
2637b20d2f Bug 1581757 - Support slicing the scene into an arbitrary number of picture cache slices r=nical,kvark
Previously, the setup_picture_caching function was hard coded
to support only a very specific shape of display list. With this
change, flags are added to PrimitiveCluster that can specify
if a picture cache slice should be created before / after this
cluster when picture caching is set up.

The usage of these flags in this patch matches the old behaviour,
so should not have any functional effect.

However, in future we will make use of this functionality to
create picture slices for a number of different use cases, such as:

 * Creating cache tiles for the UI.
 * Slicing the scene where there are video elements, in order to
   allow these to be composited directly by the OS. This may also
   apply to WebGL and/or canvas elements.
 * Slicing the scene when there is a very large fixed position
   background image or other element, to avoid invalidating the
   entire tile cache each frame.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 20:38:42 +00:00
Ciure Andrei
f4b3bef121 Backed out changeset 70f93c9956fc (bug 1581855) for Windows MinGW build bustages CLOSED TREE 2019-09-26 06:42:46 +03:00
thomasmo
f054c8db61 Bug 1581855:Part 2 - Present VR output to VR Host r=kip,jrmuizel,sotaro,bryce
This change is a continuation of Part 1 (Bug 1570128), where the 2D content rendered by Firefox for Firefox Reality on Desktop is marshalled through VRHost so that it can be presented in a VR environment.
A new class, FxrOutputHandler, is created to manage creating a sharable texture, sharing it through VRShMem, and updating it when content updates. This class updates content with both WebRender and conventional rendering output.
This initial iteration of FxrOutputHandler does not have synchronization between reading and writing this shared texture across processes. A subsequent fix (Bug 1581881) is pending, which will reuse WebVR code to manage writing to and reading from a pool of textures.
This also presents issues with rendering protected media, so an additional class, FxrWindowManager, is created to manage all windows created for Firefox Reality on Desktop so that it can inform whether or not protected media can be presented.
The automated manual tests in vrhosttest.cpp now show the real shared texture handle rather than a fake value, which shows that marshaling succeeded.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 01:18:58 +00:00
Lee Salzman
d035c3d0c0 Bug 1578075 - Increase stack size of paint threads on macOS Catalina to 2MB. r=jrmuizel
Still getting some crash reports on nightly with a 1MB stack. Let's try one more time
with 2MB just to see if we can eliminate those. If this fails, then we may need to consider
more drastic approaches like disabling OMTP in this case.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 02:31:15 +00:00
Bobby Holley
585847b17a Bug 1583998 - Implement a pref to obscure images. r=gw
This approach does have some stacking issues. The way to fix this would
be to instrument the brush_image shader rather than adding debug rects.

Something like: #ifdef WR_FEATURE_SFW frag.color = vec4(0,1,1,1); #endif

That's slightly more involved though, so I'm going to leave it for now.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 21:48:35 +00:00
Bobby Holley
d599cb6095 Bug 1583998 - Refactor debug rectangles to allow the outer and inner colors to be explicitly specified. r=gw
The current code doesn't permit fully opaque debug rects.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 21:46:20 +00:00
Andreea Pavel
9fd779e03f Merge mozilla-central to autoland on a CLOSED TREE 2019-09-26 01:00:14 +03:00
Andreea Pavel
bd0ebde417 Merge autoland to mozilla-central. a=merge 2019-09-26 00:50:57 +03:00
Emilio Cobos Álvarez
161cb16ca8 Bug 1551659 - Remove MVMContext::ResizeEventFlag and related code. r=botond,hiro
D46944 / bug 1583534 is what fixes the root cause of bug 1528052 by not
having the first call to ResizeReflow have a wrong old size of 0x0.

This removes the code that bug introduces to suppress resize events, which
fixes this bug. I think our behavior now is pretty sane.

In particular, consider the test-case:

<!doctype html>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<a href="" target="_blank">Open me in a separate tab</a>
<pre id="log"></pre>
<script>
  // This shouldn't be needed, but otherwise Fenix doesn't show the tooltip on
  // longpress...
  document.querySelector("a").href = location.href;

  function logSize() {
    log.innerText += window.innerWidth + "x" + window.innerHeight + "\n";
  }
  logSize();
  onresize = logSize;
</script>

(Hosted at https://crisal.io/tmp/gecko-mobile-resize.html for convenience)

Right now on trunk, when you click the link from GVE or Fenix, we're only
getting an initial size of 0x0 (which is not great, btw), and only after first
paint we get the real device size, but content doesn't get a resize event.

This is obviously wrong, every time the layout viewport changes we should fire
resize events.

Pages that get opened in new tabs and get refreshed when resized may get an
extra reload with this approach, but this seems not avoidable unless widget sets
the viewport size right in advance (which from discussion with snorp and agi
doesn't seem possible in the general case).

What used to happen is that we were triggering a redundant resize reflow from
the initial paint which didn't update the layout viewport (because the content
viewer and co had the right viewport from the previous navigation).

Now that we optimize those away, I think our behavior should be correct.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 19:35:29 +00:00
Emilio Cobos Álvarez
848d89d65f Bug 1583534 - Further simplify PresShell::ResizeReflow. r=botond
In particular, not let ResizeReflow take the old and new size. Most of the
callers pass dummy values anyway.

Instead, use the old size of the layout viewport. This ensures we fire resize
events only if the layout viewport actually changes.

This is important because the first resize of the mobile viewport manager
after a navigation has an "old size" of 0x0, even though the layout viewport
is initialized on presshell initialization to the right size.

Thus, we fire resize events unnecessarily in that case, which is the root cause
for bug 1528052.

To do this, we need to shuffle a bit of code in nsDocumentViewer that deals with
delayed resizes, to set the visible area _and_ invalidate layout, rather than
setting the visible area and _then_ relying on doing a resize reflow.

Further cleanup is possible, though not required for my android resizing fix, so
will do separately.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 19:12:44 +00:00
Cosmin Sabou
6da90eb0b7 Backed out 9 changesets (bug 1551088) for causing Bug 1583848. a=backout
Backed out changeset d0ab25c226a7 (bug 1551088)
Backed out changeset 9ef391e20fa6 (bug 1551088)
Backed out changeset 3e6f25b21f8c (bug 1551088)
Backed out changeset 5d72c8de4daf (bug 1551088)
Backed out changeset f77c43bcc75b (bug 1551088)
Backed out changeset 9e954d6765de (bug 1551088)
Backed out changeset d90a571e581f (bug 1551088)
Backed out changeset 25a5f5563e9d (bug 1551088)
Backed out changeset bed9c93eeb2d (bug 1551088)
2019-09-25 18:42:48 +03:00
Josh Aas
9f8b7ac055 Bug 1450059 - part 2 - move ProfilerScreenshots over to the background thread; r=gregtatum
Depends on D46997

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

--HG--
extra : moz-landing-system : lando
2019-09-25 12:59:24 +00:00
sotaro
5cce4218d0 Bug 1583482 - Clean up RenderDXGITextureHostOGL r=nical
It is a preparation of Bug 1460499. It adds RenderDXGITextureHostOGL::GetD3D11Texture2D() for use by dc layer.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 23:37:18 +00:00
Ryan VanderMeulen
b12c4363fb Bug 1577799 - Update OTS to 8.0.0. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44703

--HG--
rename : gfx/ots/src/cff_type2_charstring.cc => gfx/ots/src/cff_charstring.cc
rename : gfx/ots/src/cff_type2_charstring.h => gfx/ots/src/cff_charstring.h
rename : gfx/ots/tests/cff_type2_charstring_test.cc => gfx/ots/tests/cff_charstring_test.cc
extra : moz-landing-system : lando
2019-09-13 09:47:50 +00:00
Andrew Osmond
94b66bc792 Bug 1551088 - Part 4. Add gtests for PremultiplyRow and SwizzleRow. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D46447

--HG--
extra : moz-landing-system : lando
2019-09-24 20:42:44 +00:00
Andrew Osmond
a8427d01de Bug 1551088 - Part 3. Add SSSE3 and AVX2 implementations of unpacking. r=lsalzman
These variants perform significantly faster than the C implementations
according to local testing and that in treeherder. Image decoding is as
much as 40% faster in the most simple cases (solid green PNG image).

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

--HG--
extra : moz-landing-system : lando
2019-09-24 20:42:43 +00:00
Andrew Osmond
817a4063d8 Bug 1551088 - Part 2. Add unpack methods to convert from RGB to RGBX/BGRX. r=lsalzman
Some image decoders (e.g. PNG) may have a native representation of the
data as RGB, and do not have accelerated methods to transform from RGB
to RGBX/BGRX. Exposing this as part of the swizzle/premultiply methods
allows us to write accelerated versions ourselves in a later patch in
this series.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 20:42:41 +00:00
Andrew Osmond
413fb28670 Bug 1551088 - Part 1. Expose SwizzleRow and PremultiplyRow variants. r=lsalzman
The image decoders produce surfaces row by row, so a variant to get a
function pointer to perform swizzle/premultiply operations makes more
ergonomic sense.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 20:43:24 +00:00
Glenn Watson
b0ffdb3a87 Bug 1583460 - Refactor picture caching setup to simplify creating multiple slices. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D46907

--HG--
extra : moz-landing-system : lando
2019-09-24 20:09:19 +00:00
Oana Pop Rus
4f9a3f24ba Backed out 8 changesets (bug 1551088) for causing reftest failures in SwizzleAVX2.cpp and SwizzleSSSE3.cpp on a CLOSED TREE
Backed out changeset b3760d42e3bf (bug 1551088)
Backed out changeset 222e856b5bc3 (bug 1551088)
Backed out changeset b259c9fb5ad6 (bug 1551088)
Backed out changeset 5fe283ceaa0b (bug 1551088)
Backed out changeset d4dadb6ef0bd (bug 1551088)
Backed out changeset 925e26e17abe (bug 1551088)
Backed out changeset a011360f5018 (bug 1551088)
Backed out changeset 229c3d631d2e (bug 1551088)
2019-09-24 18:12:39 +03:00
Andrew Osmond
c5c9ec107c Bug 1551088 - Part 4. Add gtests for PremultiplyRow and SwizzleRow. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D46447

--HG--
extra : moz-landing-system : lando
2019-09-24 13:31:28 +00:00
Andrew Osmond
d774b3ffc7 Bug 1551088 - Part 3. Add SSSE3 and AVX2 implementations of unpacking. r=lsalzman
These variants perform significantly faster than the C implementations
according to local testing and that in treeherder. Image decoding is as
much as 40% faster in the most simple cases (solid green PNG image).

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

--HG--
extra : moz-landing-system : lando
2019-09-24 13:31:26 +00:00
Andrew Osmond
8663f03103 Bug 1551088 - Part 2. Add unpack methods to convert from RGB to RGBX/BGRX. r=lsalzman
Some image decoders (e.g. PNG) may have a native representation of the
data as RGB, and do not have accelerated methods to transform from RGB
to RGBX/BGRX. Exposing this as part of the swizzle/premultiply methods
allows us to write accelerated versions ourselves in a later patch in
this series.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 13:31:24 +00:00
Andrew Osmond
49b35ade84 Bug 1551088 - Part 1. Expose SwizzleRow and PremultiplyRow variants. r=lsalzman
The image decoders produce surfaces row by row, so a variant to get a
function pointer to perform swizzle/premultiply operations makes more
ergonomic sense.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 13:31:22 +00:00
Martin Stransky
275a01e9fe Bug 1578380 - [Wayland] Use ContentClientDoubleBuffered() on Wayland with DMABuf texture backend enabled, r=sotaro
Depends on D46843

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

--HG--
extra : moz-landing-system : lando
2019-09-24 11:07:49 +00:00
Martin Stransky
06bc3c7598 Bug 1578380 - [Wayland] Provide gfxPlatformGtk::IsX11Display() and gfxPlatformGtk::UseWaylandDMABufSurfaces(), r=sotaro
Let's use single Wayland configuration point at gfxPlatformGtk instead of various GDK_IS_X11_DISPLAY() calls.
Also provide info about enabled DMABuf surfaces when Wayland backend is used.

Depends on D46842

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

--HG--
extra : moz-landing-system : lando
2019-09-24 11:35:29 +00:00
Martin Stransky
d3e64dee66 Bug 1578380 - [Wayland] Use WaylandDMABUF texure backend on Wayland when DMABuf is enabled, r=sotaro
Depends on D46840

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

--HG--
extra : moz-landing-system : lando
2019-09-24 11:06:39 +00:00
Martin Stransky
4caaf616b9 Bug 1578380 - Export WaylandDMABUF TextureType, r=sotaro
Depends on D46839

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

--HG--
extra : moz-landing-system : lando
2019-09-24 11:06:22 +00:00
Martin Stransky
fff901abba Bug 1578380 - [Wayland] Enable build of WaylandDMABUFTextureClientOGL/WaylandDMABUFTextureHostOGL, r=sotaro
Depends on D46837

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

--HG--
extra : moz-landing-system : lando
2019-09-24 11:05:59 +00:00
Martin Stransky
ca30adf76e Bug 1578380 - [Wayland] Implement WaylandDMABUFTextureHostOGL, r=sotaro
WaylandDMABufSurface is used as a backend for WaylandDMABUFTextureHostOGL.
Pixel data of WaylandDMABufSurface are located at GPU memory and are
binded from WaylandDMABUFTextureClientOGL.

WaylandDMABufSurface can be binded as EGLImage so EGLImageTextureSource is used.

Depends on D46836

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

--HG--
extra : moz-landing-system : lando
2019-09-24 11:05:36 +00:00
Martin Stransky
8fb3c364ae Bug 1578380 - [Wayland] Implement WaylandDMABUFTextureClientOGL, r=sotaro
WaylandDMABufSurface is used as a backend for WaylandDMABUFTextureClientOGL.
Pixel data of WaylandDMABufSurface are located at GPU memory and can be
shared by processes.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 11:05:14 +00:00
Andrew Osmond
9793f08b9b Bug 1581934 - Restore the calculation for a more precise picture local rect. r=kvark,gw
As it turns out, the difference between the snapped local rect and the
unsnapped local rect was not just that the former contained snapped
primitives and the latter contained unsnapped primitives, but also that
the former took into account surface inflation for primitives, the
entire clip chain instead of just the primitive's local clip, and
removal of culled primitives. As such, the picture's rects can be wildly
different, even if snapping has been taken care of earlier, and parts of
WebRender have come to rely upon this more accurate representation of a
picture.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 10:34:00 +00:00
Oana Pop Rus
a22fdc5e79 Backed out 8 changesets (bug 1578380) for causing build bustages in ContentClient.cpp on a CLOSED TREE
Backed out changeset 28c2e884d20a (bug 1578380)
Backed out changeset 373c4563e9fd (bug 1578380)
Backed out changeset 3fdbc241d63a (bug 1578380)
Backed out changeset 754865b2810f (bug 1578380)
Backed out changeset b80b7e186f02 (bug 1578380)
Backed out changeset 3a8abb5d7a43 (bug 1578380)
Backed out changeset 2b52c3d15b7b (bug 1578380)
Backed out changeset ca57727c3aad (bug 1578380)
2019-09-24 13:06:55 +03:00
Martin Stransky
9e0c208645 Bug 1578380 - [Wayland] Use ContentClientDoubleBuffered() on Wayland with DMABuf texture backend enabled, r=sotaro
Depends on D46843

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

--HG--
extra : moz-landing-system : lando
2019-09-24 09:10:58 +00:00
Martin Stransky
8488e4e871 Bug 1578380 - [Wayland] Provide gfxPlatformGtk::IsX11Display() and gfxPlatformGtk::UseWaylandDMABufSurfaces(), r=sotaro
Let's use single Wayland configuration point at gfxPlatformGtk instead of various GDK_IS_X11_DISPLAY() calls.
Also provide info about enabled DMABuf surfaces when Wayland backend is used.

Depends on D46842

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

--HG--
extra : moz-landing-system : lando
2019-09-24 09:36:41 +00:00
Martin Stransky
e968a933f9 Bug 1578380 - [Wayland] Use WaylandDMABUF texure backend on Wayland when DMABuf is enabled, r=sotaro
Depends on D46840

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

--HG--
extra : moz-landing-system : lando
2019-09-24 09:10:11 +00:00
Martin Stransky
ca4ef20521 Bug 1578380 - Export WaylandDMABUF TextureType, r=sotaro
Depends on D46839

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

--HG--
extra : moz-landing-system : lando
2019-09-24 09:09:58 +00:00
Martin Stransky
7952620478 Bug 1578380 - [Wayland] Enable build of WaylandDMABUFTextureClientOGL/WaylandDMABUFTextureHostOGL, r=sotaro
Depends on D46837

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

--HG--
extra : moz-landing-system : lando
2019-09-24 09:09:41 +00:00
Martin Stransky
204c7a601e Bug 1578380 - [Wayland] Implement WaylandDMABUFTextureHostOGL, r=sotaro
WaylandDMABufSurface is used as a backend for WaylandDMABUFTextureHostOGL.
Pixel data of WaylandDMABufSurface are located at GPU memory and are
binded from WaylandDMABUFTextureClientOGL.

WaylandDMABufSurface can be binded as EGLImage so EGLImageTextureSource is used.

Depends on D46836

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

--HG--
extra : moz-landing-system : lando
2019-09-24 09:09:28 +00:00
Martin Stransky
491e19bd05 Bug 1578380 - [Wayland] Implement WaylandDMABUFTextureClientOGL, r=sotaro
WaylandDMABufSurface is used as a backend for WaylandDMABUFTextureClientOGL.
Pixel data of WaylandDMABufSurface are located at GPU memory and can be
shared by processes.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 09:09:11 +00:00
Nicolas Silva
9b0314ab6a Bug 1582459 - Improve the clipping and segment documentation. r=kvark
Adds a module documentation in segment.rs giving an overview of the role of primitive segments and how they interact with clipping. Also reformatted the clip.rs documentation to play well with rustdoc.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 08:07:13 +00:00
arthur.iakab
5147f9a0ff Backed out changeset 43dbcbd6f57a (bug 1581934) for causing reftest failures on 1081185-1.html. 2019-09-24 06:17:53 +03:00
Timothy Nikkel
3311b640cc Bug 1582273. Pass scrollbar flags from gecko to webrender so it can identify them. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D46587

--HG--
extra : moz-landing-system : lando
2019-09-24 02:40:27 +00:00
Geoff Brown
b0e5901c93 Bug 1582884 - Enable some crashtests on Android; r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D46784

--HG--
extra : moz-landing-system : lando
2019-09-24 01:12:09 +00:00
Andrew Osmond
c3f9baa23f Bug 1581934 - Restore the calculation for a more precise picture local rect. r=kvark,gw
As it turns out, the difference between the snapped local rect and the
unsnapped local rect was not just that the former contained snapped
primitives and the latter contained unsnapped primitives, but also that
the former took into account surface inflation for primitives, the
entire clip chain instead of just the primitive's local clip, and
removal of culled primitives. As such, the picture's rects can be wildly
different, even if snapping has been taken care of earlier, and parts of
WebRender have come to rely upon this more accurate representation of a
picture.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 23:58:44 +00:00
arthur.iakab
76632198c8 Backed out changeset da5d5eb153f2 (bug 1582273) for causing tidy bustages. CLOSED TREE 2019-09-24 03:14:33 +03:00
Timothy Nikkel
3c9a0952b5 Bug 1582273. Pass scrollbar flags from gecko to webrender so it can identify them. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D46587

--HG--
extra : moz-landing-system : lando
2019-09-23 23:31:45 +00:00
Noemi Erli
c539b288a4 Backed out changeset 0574bc97e2ac (bug 1582273) for causing wrench build bustages CLOSED TREE 2019-09-24 00:55:58 +03:00
Noemi Erli
c9d5b4e3b5 Backed out changeset 56c82d00c513 (bug 1581934) for reftest failures CLOSED TREE 2019-09-24 00:53:30 +03:00
Timothy Nikkel
75996b49cc Bug 1582273. Pass scrollbar flags from gecko to webrender so it can identify them. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D46587

--HG--
extra : moz-landing-system : lando
2019-09-23 21:41:18 +00:00
Andrew Osmond
32b92fbfc6 Bug 1581934 - Restore the calculation for a more precise picture local rect. r=kvark,gw
As it turns out, the difference between the snapped local rect and the
unsnapped local rect was not just that the former contained snapped
primitives and the latter contained unsnapped primitives, but also that
the former took into account surface inflation for primitives, the
entire clip chain instead of just the primitive's local clip, and
removal of culled primitives. As such, the picture's rects can be wildly
different, even if snapping has been taken care of earlier, and parts of
WebRender have come to rely upon this more accurate representation of a
picture.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 20:18:50 +00:00
Lee Salzman
523a527e84 Bug 1578075 - Increase stack size of paint threads on macOS Catalina to 1MB. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D46834

--HG--
extra : moz-landing-system : lando
2019-09-23 20:02:17 +00:00
Timothy Nikkel
05d45ca5d2 Bug 1582918. Make sure that async-scrollbar* reftests don't pass because they draw nothing. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D46699

--HG--
extra : moz-landing-system : lando
2019-09-23 14:58:46 +00:00
Botond Ballo
a66c81bfae Bug 1567448 - Disable helper_overscroll_behavior_bug1425573.html until we track down the memory leak it's causing. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D46804

--HG--
extra : moz-landing-system : lando
2019-09-23 19:48:06 +00:00
Noemi Erli
728928781e Backed out changeset 195e629a7877 (bug 1582459) for causing wrench bustages CLOSED TREE 2019-09-23 21:07:24 +03:00
Nicolas Silva
ff7cdb1b4e Bug 1582459 - Improve the clipping and segment documentation. r=kvark
Adds a module documentation in segment.rs giving an overview of the role of primitive segments and how they interact with clipping. Also reformatted the clip.rs documentation to play well with rustdoc.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 15:04:19 +00:00
Lee Salzman
30af0c2548 Bug 1582749 - try to load only the advance width from FreeType when possible. r=jfkthame
During metrics initialization we load a few uncached glyph widths which can occasionally
show up in a profile. This should reduce the overhead of that somewhat.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 15:17:04 +00:00
Glenn Watson
4f409d7a31 Bug 1581879 - Artifacts when zooming text on webrender on android. r=jnicol,nical
Fix scissor rect being incorrect during pinch zoom due to floating
point inaccuracies.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 08:13:57 +00:00
Lee Salzman
60a7bb036d Bug 1582749 - query FreeType glyph advance and bounds at the same time. r=jfkthame
Cairo would normally query both the advance and other metrics at the same time,
then store them in a glyph cache sitting on each cairo_scaled_font_t any time
any of the extents were queried. Each cached scaled glyph metrics would require
about 150 bytes of space and could thus use a horribly large amount of memory
when a lot of glyphs were being used within a scaled font.

This tries to duplicate the behavior of querying and storing both advance and
bounds at the same time to effectively cut the number of glyph loads in half
for most cases. This should only add another 8 bytes per hash entry to store
the cached bounds, thus putting us way ahead on memory usage compared to what
Cairo did under the hood.

Further, Cairo would keep around cairo_scaled_font_t's in a holdover cache
even after there are no existing references to them and the owning gfxFonts
have long since died. This gives an artificial boost in successive runs of the
benchmark, while not aiding in the performance of the first run. I don't
believe the extra memory use would be justified to reproduce that particular
behavior, especially since our expectations are that the glyph cache for
a gfxFont dies when the gfxFont itself dies from the gfxFontCache.

In any case, this should at least significantly boost our glyph metrics
performance on a cold start, with the caveat about the warm start case.

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

--HG--
extra : moz-landing-system : lando
2019-09-22 19:56:00 +00:00
Daniel Varga
c8913746b5 Backed out 1 changesets (bug 1582749) for build bustage at /builds/worker/workspace/build/src/gfx/thebes/gfxFT2FontBase
Backed out changeset db3d77b313a0 (bug 1582749)
2019-09-22 21:01:58 +03:00
Lee Salzman
95c42fceb9 Bug 1582749 - query FreeType glyph advance and bounds at the same time. r=jfkthame
Cairo would normally query both the advance and other metrics at the same time,
then store them in a glyph cache sitting on each cairo_scaled_font_t any time
any of the extents were queried. Each cached scaled glyph metrics would require
about 150 bytes of space and could thus use a horribly large amount of memory
when a lot of glyphs were being used within a scaled font.

This tries to duplicate the behavior of querying and storing both advance and
bounds at the same time to effectively cut the number of glyph loads in half
for most cases. This should only add another 8 bytes per hash entry to store
the cached bounds, thus putting us way ahead on memory usage compared to what
Cairo did under the hood.

Further, Cairo would keep around cairo_scaled_font_t's in a holdover cache
even after there are no existing references to them and the owning gfxFonts
have long since died. This gives an artificial boost in successive runs of the
benchmark, while not aiding in the performance of the first run. I don't
believe the extra memory use would be justified to reproduce that particular
behavior, especially since our expectations are that the glyph cache for
a gfxFont dies when the gfxFont itself dies from the gfxFontCache.

In any case, this should at least significantly boost our glyph metrics
performance on a cold start, with the caveat about the warm start case.

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

--HG--
extra : moz-landing-system : lando
2019-09-22 16:52:52 +00:00
Jonathan Kew
10f2427082 Bug 1583005 - Ensure the fontconfig configuration is initialized in all processes (by calling FcConfigGetCurrent) before potential gtk access. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D46732

--HG--
extra : moz-landing-system : lando
2019-09-22 16:21:06 +00:00
Cosmin Sabou
69acba5002 Backed out 8 changesets (bug 1551088) for causing build bustages. CLOSED TREE
Backed out changeset 02d9dc4d39a5 (bug 1551088)
Backed out changeset d7684ca35c0d (bug 1551088)
Backed out changeset b061b1bf8281 (bug 1551088)
Backed out changeset 4760b8b22ffd (bug 1551088)
Backed out changeset 4685fc022257 (bug 1551088)
Backed out changeset 91300f9f99bb (bug 1551088)
Backed out changeset 6da767c8d55c (bug 1551088)
Backed out changeset ec69be661551 (bug 1551088)
2019-09-21 14:52:41 +03:00
Andrew Osmond
e203ac1b2f Bug 1551088 - Part 4. Add gtests for PremultiplyRow and SwizzleRow. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D46447

--HG--
extra : moz-landing-system : lando
2019-09-20 19:17:06 +00:00
Andrew Osmond
e6bac974fe Bug 1551088 - Part 3. Add SSSE3 and AVX2 implementations of unpacking. r=lsalzman
These variants perform significantly faster than the C implementations
according to local testing and that in treeherder. Image decoding is as
much as 40% faster in the most simple cases (solid green PNG image).

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

--HG--
extra : moz-landing-system : lando
2019-09-20 19:13:49 +00:00
Andrew Osmond
d29705ad1a Bug 1551088 - Part 2. Add unpack methods to convert from RGB to RGBX/BGRX. r=lsalzman
Some image decoders (e.g. PNG) may have a native representation of the
data as RGB, and do not have accelerated methods to transform from RGB
to RGBX/BGRX. Exposing this as part of the swizzle/premultiply methods
allows us to write accelerated versions ourselves in a later patch in
this series.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 19:15:04 +00:00
Andrew Osmond
83363c9bdc Bug 1551088 - Part 1. Expose SwizzleRow and PremultiplyRow variants. r=lsalzman
The image decoders produce surfaces row by row, so a variant to get a
function pointer to perform swizzle/premultiply operations makes more
ergonomic sense.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 19:16:40 +00:00
Jeff Muizelaar
d5395c6733 Bug 1582810. Drop clipped group bounds hack. r=aosmond
We don't need this anymore now that we're always
using the visible rect.

This requires bug 1582528 to properly set the visible area.

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

--HG--
extra : moz-landing-system : lando
2019-09-21 01:11:56 +00:00
Oana Pop Rus
fb8920ea20 Backed out changeset 1a8f6cac81c5 (bug 1582810) for reftest failures in img-widthAndHeight-slice-1.html on a CLOSED TREE 2019-09-20 23:35:45 +03:00
Jeff Muizelaar
2417420ffc Bug 1582810. Drop clipped group bounds hack. r=aosmond
We don't need this anymore now that we're always
using the visible rect.

This requires bug 1582528 to properly set the visible area.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 17:38:52 +00:00
Nathan Froyd
2f78d3bd17 Bug 1581145 - update sfntly to master; r=jfkthame
This update brings in several bugfixes and compatibility with newer
libstdc++ versions.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 21:31:08 +00:00
Lee Salzman
2770b6301a Bug 1582231 - remove Moz2D dependency on Cairo glyph extents. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D46332

--HG--
extra : moz-landing-system : lando
2019-09-20 16:30:21 +00:00
Jonathan Kew
9d6bf431e5 Bug 1580690 - Ensure src:local() entries in the user font set are refreshed if the platform font list is rebuilt. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D46580

--HG--
extra : moz-landing-system : lando
2019-09-20 15:24:33 +00:00
Bob Owen
97b0a351d7 Bug 1578475: Cleanup Remote Canvas 2D IPC classes when not used for certain duration. r=mattwoodrow
This also changes CompositorBridgeChild to create the CanvasChild lazily.

Depends on D44154

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

--HG--
extra : moz-landing-system : lando
2019-09-17 00:15:59 +00:00
Daosheng Mu
125bfdb32c Bug 1581988 - Making VR display enumerationCompleted be false when doing enumeration. r=kip
If VR process haven't launched yet, we couldn't get available VR displays and its states, so we need to make enumationCompleted to be false, and ask it do the enumeration again.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 00:26:23 +00:00
sotaro
5182120673 Bug 1582371 - Add DCLayerTree class r=nical
Preparation work for adding DirectComposition support. It does not add a new functionality.

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

--HG--
extra : moz-landing-system : lando
2019-09-19 18:15:11 +00:00
Cosmin Sabou
db07080d87 Backed out changeset 08f2148de713 (bug 1581757) for causing webrender reftest failures.
--HG--
extra : rebase_source : 6d41ee1b453c7433768f9b77b6f88483a4215f04
2019-09-19 07:40:01 +03:00
Botond Ballo
b0c0d22c43 Bug 1564195 - Add a GTest to test correct setting of the mHitRegionWithApzAwareListeners flags. r=tnikkel
Depends on D46377

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

--HG--
extra : moz-landing-system : lando
2019-09-19 03:05:05 +00:00
Botond Ballo
6a4103189b Bug 1564195 - Add a flag to APZEventResult indicating whether the event hit a region with APZ-aware listeners. r=tnikkel
This is currently only populated for touch events.

Depends on D46376

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

--HG--
extra : moz-landing-system : lando
2019-09-19 02:55:35 +00:00
Botond Ballo
a61744ca91 Bug 1564195 - Group the results of APZInputBridge::ReceiveInputEvent() into a struct. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D46376

--HG--
extra : moz-landing-system : lando
2019-09-19 02:45:21 +00:00
Jeff Muizelaar
4db1b2ef19 Bug 1582217. Drop unneeded image dependencies. r=kvark
We only use the png codec so let's save some link time by not including
the other codecs.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 22:04:47 +00:00
Glenn Watson
8836bc5265 Bug 1581757 - Support slicing the scene into an arbitrary number of picture cache slices r=nical
Previously, the setup_picture_caching function was hard coded
to support only a very specific shape of display list. With this
change, flags are added to PrimitiveCluster that can specify
if a picture cache slice should be created before / after this
cluster when picture caching is set up.

The usage of these flags in this patch matches the old behaviour,
so should not have any functional effect.

However, in future we will make use of this functionality to
create picture slices for a number of different use cases, such as:

 * Creating cache tiles for the UI.
 * Slicing the scene where there are video elements, in order to
   allow these to be composited directly by the OS. This may also
   apply to WebGL and/or canvas elements.
 * Slicing the scene when there is a very large fixed position
   background image or other element, to avoid invalidating the
   entire tile cache each frame.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 23:17:55 +00:00
Dzmitry Malyshau
9c34641992 Bug 1582198 - Remove nix dependency from Wrench r=jrmuizel
https://github.com/servo/webrender/pull/3736

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

--HG--
extra : moz-landing-system : lando
2019-09-18 17:51:27 +00:00
Jeff Muizelaar
27b7b84144 Bug 1573569. Add some debugging code. r=aosmond
This should help us figure what's going on.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 18:47:05 +00:00
sotaro
1b54393769 Bug 1582011 - Reduce IDCompositionDevice::Commit calls r=nical
IDCompositionDevice::Commit needs to be called when there is an update to DirectComposition. RenderCompositorANGLE updates DirectComposition only during initialization. Then it is not necessary to call the function in EndFrame().

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

--HG--
extra : moz-landing-system : lando
2019-09-18 08:00:44 +00:00
Glenn Watson
1cd0a0e783 Bug 1581677 - Fix consistency bug in WR dirty rect calculation. r=nical
This fixes a case where the is_same_content field was no longer
being reset to true before dependency calculation could occur.

In some cases, this could result in a tile being updated, but
the dirty rect being empty, which meant all primitives in that
tile would fail the visibility culling test.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 08:01:50 +00:00
Henri Sivonen
c193518677 Bug 1490601 part 2 - Move C++ entry points to encoding_c_mem to mfbt/. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D43957

--HG--
extra : moz-landing-system : lando
2019-09-18 08:26:34 +00:00
Daosheng Mu
480100a366 Bug 1510622 - Initilize OpenVR controller haptic thread when the first time to do vibration. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D46227

--HG--
extra : moz-landing-system : lando
2019-09-18 00:13:12 +00:00
A. Wilcox
f40d806c0d Bug 1511604 - Swizzle YCbCr->RGB data on big-endian machines. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D46134

--HG--
extra : moz-landing-system : lando
2019-09-17 17:47:17 +00:00
Glenn Watson
e2052553cc Bug 1581448 - Add support for specifying extra per-primitive flags in WR display lists r=kvark,nical
This patch replaces the is_backface_visible bool in the common
per-primitive data in the display list with a PrimitiveFlags
enumeration. This will allow Gecko to specify extra information
about certain primitive, such as tagging scroll bars.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 07:14:51 +00:00
Andreea Pavel
73383c5230 Backed out changeset af9417bd8105 (bug 1581448) for wrench bustages on a CLOSED TREE 2019-09-18 09:54:23 +03:00
Glenn Watson
83dc27b34b Bug 1581650 - Provide picture cache dirty rects in WR render outputs r=nical
This provides the internal device-space dirty rects calculated
during picture cache updates to the external render() method.

This allows clients to provide these to OS partial present APIs,
to reduce power usage and improve performance.

In this initial implementation, if a scroll or scale of the main
picture cache has occurred, the dirty rect will be the entire
screen. This should ensure correctness. In future, we can handle
this case by supplying the picture cache transforms to the OS
compositor integration.

However, the dirty rects will be valid for any non-scroll cases,
such as animations or video playback. This should result in some
significant power savings and performance improvements for these
use cases.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 06:27:54 +00:00
Glenn Watson
ff53edd4e5 Bug 1581448 - Add support for specifying extra per-primitive flags in WR display lists r=kvark,nical
This patch replaces the is_backface_visible bool in the common
per-primitive data in the display list with a PrimitiveFlags
enumeration. This will allow Gecko to specify extra information
about certain primitive, such as tagging scroll bars.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 06:27:34 +00:00
Gerald Squelart
dc8ac83ba6 Bug 1578329 - Use profiler_can_accept_markers() where appropriate - r=gregtatum
In places where profiler_is_active() was used around a profiler_add_marker() (or
similar) call, replace it with profiler_can_accept_markers().

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

--HG--
extra : moz-landing-system : lando
2019-09-18 01:22:12 +00:00
Gerald Squelart
fc93e3d9da Bug 1575448 - De/serialize ProfilerMarkerPayload derived objects - r=gregtatum
Payloads will serialize themselves into a `BlocksRingBuffer` entry when first
captured.
Later they will be deserialized, to stream JSON for the output profile.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 01:20:10 +00:00
Jeff Muizelaar
f29ce99be0 Bug 1581953. Don't invalidate everything when the visible rect changes.
Differential Revision: https://phabricator.services.mozilla.com/D46218

--HG--
extra : moz-landing-system : lando
2019-09-17 20:06:39 +00:00
Jeff Muizelaar
db1c09ed99 Bug 1580062. Fixup invalidation for resize. r=nical
This works by keeping track of the previous visible rect and
computing a preserved rect by intersecting with the new visible
rect.

We force the dirty rect to be inside this preserved area.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 19:59:29 +00:00
Jamie Nicol
35886dcefd Bug 1580153 - Call NotifyFirstPaint on next composite after RecvResumeAndResize. r=jrmuizel
Previously after RecvResumeAndResize() we would set a flag on the root
WebRenderBridgeParent, which in turn sets a flag on the next display list it
receives that it should be treated as a first paint. Then when that display list
is finally composited, we call UiCompositorControllerParent::NotifyFirstPaint(),
which in turn tells GeckoView to uncover the widget.

After switching tabs in GeckoView browsers, however, the root
WebRenderBridgeParent does not always receive a new display list, so the widget
would not be uncovered. Instead of waiting for the next received display list to
be composited, we simply want to uncover the widget on the next composite. To
achieve this we instead set the forced-first-paint flag on the root
CompositorBridgeParent then we call NotifyFirstPaint() during
CompositorBridgeParent::NotifyPipelineRendered().

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

--HG--
extra : moz-landing-system : lando
2019-09-17 14:57:59 +00:00
Jeff Muizelaar
e3fb5c3284 Bug 1570435. Handle merging blobs with different bounds. r=nical
We compute the preserved bounds for each item and see if it's
contained in the invalid area. The gecko side will do the same
computation.

Appologies for duplicating euclid with Box2d type. We can deal with
that in a followup.

The asserts are disabled for now. I tried reenabling them and they
triggered. I haven't had a chance to figure out if they are still
valid.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 18:13:37 +00:00
Dustin J. Mitchell
395fc199f8 Bug 1575648 - update webrender tc.yml to v1; r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D46038

--HG--
extra : moz-landing-system : lando
2019-09-17 13:54:56 +00:00
Nicolas Silva
b80a2c908a Bug 1570081 - Put the blob dirty rect in the same space as the drawing commands and visible rect. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D43223

--HG--
extra : moz-landing-system : lando
2019-09-17 09:13:18 +00:00
Nicolas Silva
dfe0f0cf10 Bug 1570081 - Don't insert blob images with empty visible rects. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D43222

--HG--
extra : moz-landing-system : lando
2019-09-17 09:13:06 +00:00
Nicolas Silva
7b6f30fd89 Bug 1570081 - Wrench rawtest changes. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D41387

--HG--
extra : moz-landing-system : lando
2019-09-17 09:12:43 +00:00
Nicolas Silva
e9915eb02b Bug 1570081 - Support changing the blob image visible rect in WebRender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D39911

--HG--
extra : moz-landing-system : lando
2019-09-17 09:12:26 +00:00
Nicolas Silva
e9850ca2ee Bug 1581058 - Remove remaining use of the term "flattening". r=gw
Differential Revision: https://phabricator.services.mozilla.com/D46018

--HG--
extra : moz-landing-system : lando
2019-09-17 09:20:04 +00:00
Nicolas Silva
3a51eac38e Bug 1581058 - Rename a lot of scene building related structures. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D45853

--HG--
rename : gfx/wr/webrender/src/display_list_flattener.rs => gfx/wr/webrender/src/scene_building.rs
extra : moz-landing-system : lando
2019-09-17 09:20:03 +00:00
Nicolas Silva
823e2e6a75 Bug 1581058 - Rename scene_builder::SceneBuilder into scene_builder_thread::SceneBuilderThread. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D45854

--HG--
rename : gfx/wr/webrender/src/scene_builder.rs => gfx/wr/webrender/src/scene_builder_thread.rs
extra : moz-landing-system : lando
2019-09-17 09:19:36 +00:00
Nicolas Silva
50c27ced3f Bug 1581058 - Move RenderTaskCache into its own module. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D45855

--HG--
extra : moz-landing-system : lando
2019-09-17 09:18:03 +00:00
Bogdan Tara
361c83c1a9 Backed out 21 changesets (bug 1578327, bug 1575448, bug 1580091, bug 1576554, bug 1581049, bug 1576551, bug 1578329, bug 1576555) for platform.cpp related bustage CLOSED TREE
Backed out changeset 27afea20c396 (bug 1581049)
Backed out changeset be1ec4577d37 (bug 1581049)
Backed out changeset b4b6bbb18cc1 (bug 1581049)
Backed out changeset b30942f9db54 (bug 1581049)
Backed out changeset 473c431866f7 (bug 1578329)
Backed out changeset ac492dc3df20 (bug 1578329)
Backed out changeset f51875652f6f (bug 1578327)
Backed out changeset 512b7cbd18f6 (bug 1576555)
Backed out changeset 2d63a9934c00 (bug 1576555)
Backed out changeset ff73f648ab6c (bug 1576555)
Backed out changeset 49f49079bbb5 (bug 1576555)
Backed out changeset e8323157c6f3 (bug 1575448)
Backed out changeset 3b0d726f2dd6 (bug 1575448)
Backed out changeset 5924790abc4b (bug 1576554)
Backed out changeset a14ac9bb5338 (bug 1576554)
Backed out changeset b6d73f5042a7 (bug 1576551)
Backed out changeset 366030bd2d84 (bug 1576551)
Backed out changeset d7ee4148aad9 (bug 1576551)
Backed out changeset ec72dfc7301e (bug 1576551)
Backed out changeset 79b29286f906 (bug 1580091)
Backed out changeset 6f34c2e57ccf (bug 1580091)
2019-09-17 10:16:14 +03:00
Gerald Squelart
6b49069f3e Bug 1578329 - Use profiler_can_accept_markers() where appropriate - r=gregtatum
In places where profiler_is_active() was used around a profiler_add_marker() (or
similar) call, replace it with profiler_can_accept_markers().

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:53:56 +00:00
Gerald Squelart
5b86107991 Bug 1575448 - De/serialize ProfilerMarkerPayload derived objects - r=gregtatum
Payloads will serialize themselves into a `BlocksRingBuffer` entry when first
captured.
Later they will be deserialized, to stream JSON for the output profile.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:51:41 +00:00
sotaro
33aa5e8fda Bug 1581307 - Remove wr::WrExternalImageId r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D45937

--HG--
extra : moz-landing-system : lando
2019-09-16 22:13:16 +00:00
Botond Ballo
ad9e06d1e5 Bug 1578777 - Remove the builder parameter from nsDisplayFilters::CreateWebRenderCommands(). r=jrmuizel
It was unused.

Depends on D46057

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

--HG--
extra : moz-landing-system : lando
2019-09-16 21:50:16 +00:00
Botond Ballo
48a06f502f Bug 1578777 - Remove non-ASCII character from comment in WebRenderCommandBuilder.cpp. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D46057

--HG--
extra : moz-landing-system : lando
2019-09-16 21:57:56 +00:00
Lee Salzman
18ac180309 Bug 1547063 - fix advance scaling for emoji. r=karlt
This fixes the regression in reftests/text/color-opacity-rtl-[12].html.

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

--HG--
extra : moz-landing-system : lando
2019-09-16 16:46:27 +00:00
Lee Salzman
44eb8379af Bug 1547063 - Use FreeType metrics directly instead of querying Cairo. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44497

--HG--
extra : moz-landing-system : lando
2019-09-16 17:15:10 +00:00
Lee Salzman
4e52e1c29b Bug 1547063 - Use SharedFTFace locking instead of Cairo locking. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44496

--HG--
extra : moz-landing-system : lando
2019-09-16 17:12:38 +00:00
Lee Salzman
4f2be9076e Bug 1547063 - implement recording instance data for ScaledFontMac. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44495

--HG--
extra : moz-landing-system : lando
2019-09-16 16:45:26 +00:00
Lee Salzman
286a7bbfff Bug 1547063 - Use SharedFTFace in thebes. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44494

--HG--
extra : moz-landing-system : lando
2019-09-16 17:07:59 +00:00
Lee Salzman
264178a181 Bug 1547063 - Remove FcPattern usage from Skia. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44493

--HG--
extra : moz-landing-system : lando
2019-09-16 16:44:51 +00:00
Lee Salzman
3417aec992 Bug 1547063 - Cairo support for SharedFTFace. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44492

--HG--
extra : moz-landing-system : lando
2019-09-16 16:44:34 +00:00
Lee Salzman
2d38529fad Bug 1547063 - add SharedFTFace abstraction of FT_Face. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44491

--HG--
extra : moz-landing-system : lando
2019-09-16 17:03:04 +00:00
Jeff Muizelaar
55f24d593c Bug 1581549. Update to mozangle 0.3.1 to solve build time issues. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D46031

--HG--
extra : source : 5fe4ede89388a6d193c9ab482d6e98eeb50fce52
2019-09-16 15:30:32 +00:00