Commit Graph

34976 Commits

Author SHA1 Message Date
Glenn Watson
d98231a231 Bug 1582624 - Add partial present API for webrender. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D47732

--HG--
extra : moz-landing-system : lando
2019-10-06 20:59:36 +00:00
Emilio Cobos Álvarez
da1a862fc2 Bug 1569744 - Ensure that lock is held even with smooth scrolling disabled. r=botond
See comment 5 in the bug for the diagnostic.

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

--HG--
extra : moz-landing-system : lando
2019-10-06 01:36:05 +00:00
Sylvestre Ledru
f12b9fa5c3 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-10-06 18:29:55 +00:00
Doug Thayer
5a64723655 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-10-04 20:45:09 +00:00
Lee Salzman
24fe539478 Bug 1585845 - silence UBSan warning about tt_segment_t in Cairo. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D48095

--HG--
extra : moz-landing-system : lando
2019-10-04 10:30:05 +00:00
Tom Ritter
f19cbdfb39 Bug 1585351 - Bug 1460357 disabled AVX instructions for the mingw build; this is no longer needed r=lsalzman
Bug 1460357 disabled AVX because gcc was generating unaligned instructions. But clang doesn't seem
to do that.

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

--HG--
extra : moz-landing-system : lando
2019-10-03 21:02:16 +00:00
Glenn Watson
d170ede903 Bug 1585898 - Fix broken tab bar with picture caching on mac. r=mstange
Promote clear primitives to be picture cache slices that can
be drawn during the composite step. Without this, the clear
primitive is not correct since it only operates on the slice
it is assigned to, not the entire background before it.

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

--HG--
extra : moz-landing-system : lando
2019-10-04 01:20:49 +00:00
Kris Taeleman
3bd0cbdc09 Bug 1578506 - Add better monitor information to about:support. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D47110

--HG--
extra : moz-landing-system : lando
2019-10-03 23:43:35 +00:00
Lee Salzman
7a498a5ff0 Bug 1585584 - clear SharedFTFace lock owner when it is destroyed. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D48078

--HG--
extra : moz-landing-system : lando
2019-10-03 20:30:03 +00:00
Glenn Watson
ead3514ee7 Bug 1586062 - Fix WebRender with picture caching path disabled. r=kvark
We need to detect this code path in renderer, and call the
legacy draw_color_target method.

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

--HG--
extra : moz-landing-system : lando
2019-10-03 19:32:09 +00:00
Jeff Muizelaar
d8da468e74 Bug 1582152. Drop bounds change check. r=mstange
Instead of checking whether the bounds of the clipped
image has changed just check whether our clipped bounds
have changed. This simplifies the code and avoids
a bunch of extra invalidations.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 19:44:29 +00:00
Jonathan Kew
02d0612b29 Bug 1584143 - Don't try to reinitialize platform font list from GetDefaultFont() if we're not on the main thread. r=jwatt
This can happen if we need to use gfxFontGroup::GetDefaultFont() during stylo traversal,
but we initially failed to create the required font because the font list is stale.
In this case, use a "last-resort" default font entry as a stopgap until the font list
update is completed.

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

--HG--
extra : moz-landing-system : lando
2019-10-03 09:49:04 +00:00
Daosheng Mu
c977970308 Bug 1584786 - Checking VR chaperone in OpenVRSession::Shutdown(). r=imanol
Differential Revision: https://phabricator.services.mozilla.com/D47810

--HG--
extra : moz-landing-system : lando
2019-10-03 07:53:52 +00:00
Glenn Watson
611160e516 Bug 1585240 - Add a composite code path for picture cache tiles. r=kvark
Previously, picture cache tiles were added to normal batches, and drawn
via the brush_image shader. Since all content is now in picture cache
tiles, we can instead draw the tiles via a separate code path. The tiles
for all picture caches are collected into a single composite config, that
is stored in the Frame structure. These two changes provide a number of
advantages:

 * The composite shader is very simple - it doesn't need to deal with
   transforms, anti-aliasing, repetition etc.
 * Since we create the tile batches in render(), rather than in the
   backend, we can take advantage of information not available until
   the render() call. For example, Gecko will provide information here
   when the partial presentation rects need to be reset. This will be
   used to enable partial presentation parameters on Windows.
 * In future, we can access this list of tiles to be composited, and use
   them to configure the OS compositor integration, and hand the tiles
   directly to the OS compositor.
 * In future, we can apply global optimizations to the set of picture
   cache tiles (e.g. occlude background tiles on CPU to skip paying
   the z-reject cost of drawing them).
 * In future, we can take advantage of the simpler composite path
   for software rasterizer implementations.

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

--HG--
extra : moz-landing-system : lando
2019-10-03 01:14:42 +00:00
Jeff Muizelaar
b01dc0a82e Bug 1584375. Remove unused origin from recording. r=nical
This was added as part of an intermediate step to blob
recoordination. It's not used anymore.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 21:47:11 +00:00
Glenn Watson
29fd75717f Bug 1566031 - Update vulnerable lodash version in WebRender Debugger. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D47856

--HG--
extra : moz-landing-system : lando
2019-10-02 19:52:48 +00:00
Andrew Osmond
4cb5bd51f8 Bug 1583647 - Make the GIF decoder use the accelerated RGB unpacking. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D47063

--HG--
extra : moz-landing-system : lando
2019-09-25 23:31:40 +00:00
thomasmo
e062f9499c Bug 1585465 - Add support for WM_KEYDOWN/UP with SendUIMessageToVRWindow in vrhost r=daoshengmu,PhilipLamb
Differential Revision: https://phabricator.services.mozilla.com/D47821

--HG--
extra : moz-landing-system : lando
2019-10-02 17:10:36 +00:00
Andrew Osmond
4c101d240f Bug 1581606 - Consider all screens when deciding to turn on WebRender. r=jrmuizel
Before this patch, we only considered the primary screen when deciding
whether or not WebRender should be enabled. This is problematic for
Intel users where we don't want to turn on WebRender for large screens;
several small screens are just as bad as one large screen. Now we sum
the pixel count for all the screens when making this decision.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 18:48:11 +00:00
Jeff Muizelaar
06f5d9b0b1 Bug 1584378. blob: Remove unused mImageBounds. r=nical
We don't use this for the bounds of the blob anymore.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 16:43:35 +00:00
Daniel Varga
f1edb8b815 Backed out changeset dfa9c9bab741 (bug 1584375) for marionette crash @ rust_begin_unwind. On a CLOSED TREE 2019-10-02 20:43:36 +03:00
Jeff Muizelaar
20983ff87e Bug 1584375. Remove unused origin from recording. r=nical
This was added as part of an intermediate step to blob
recoordination. It's not used anymore.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 16:42:24 +00:00
Lee Salzman
fd28aa44da Bug 1583707 - enable text subpixel positioning on Android and Linux. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D47035

--HG--
extra : moz-landing-system : lando
2019-10-02 14:04:45 +00:00
Jeff Muizelaar
f1095f28e0 Bug 1580922. Always adjust the blob visible area. r=nical
Now that we're painting based on the visible area we need to make sure that we
update the blob when ever the visible area changes. We'll do this by
unconditionally setting the visible area.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 07:53:18 +00:00
Andrew Osmond
b1bffae1bc 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-10-02 13:37:26 +00:00
Andrew Osmond
4693985d7a 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-10-02 13:37:25 +00:00
Andrew Osmond
8854802597 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-10-02 13:37:23 +00:00
Andrew Osmond
8c50efaaf4 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-10-02 13:37:22 +00:00
Nicolas Silva
aa11c1282e Bug 1580922 - Add a wrench rawtest. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D47790

--HG--
extra : moz-landing-system : lando
2019-10-02 07:58:35 +00:00
Nicolas Silva
3caec70162 Bug 1580922 - Ensure boundary tiles are invalidated when updating the visible area. r=jrmuizel
In addition, make sure the descriptor size stays in sync with the visible rect's size.
The descriptor's size stored in the resource cache is pretty much obsolete now, we should be able to clean it up and remove it.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 07:58:27 +00:00
Nicolas Silva
e706b2be8a Bug 1580922 - changing the blob visible area can require rasterization requests. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D47084

--HG--
extra : moz-landing-system : lando
2019-10-02 07:58:26 +00:00
Jonathan Kew
e5b8092e0f Bug 1584856 - patch 2 - Check that the expected font family was found, and fall back to search by name in case of a font collection mismatch. r=lsalzman
Depends on D47788

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

--HG--
extra : moz-landing-system : lando
2019-10-01 21:09:43 +00:00
Jonathan Kew
39469143d6 Bug 1584856 - patch 1 - Add some missing null-checks in dwrite font code. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D47788

--HG--
extra : moz-landing-system : lando
2019-10-01 20:35:28 +00:00
Gurzau Raul
5a1b6187b8 Backed out changeset 348fa5ed7407 (bug 1579127) for image raster crashes on a CLOSED TREE. 2019-10-02 12:38:29 +03:00
Bogdan Tara
d78d9c367f Backed out 3 changesets (bug 1580922) for wrench failures CLOSED TREE
Backed out changeset daad734d5665 (bug 1580922)
Backed out changeset e24d2e6811b0 (bug 1580922)
Backed out changeset 485eee83a4f3 (bug 1580922)
2019-10-02 10:44:04 +03:00
Nicolas Silva
dd62825627 Bug 1580922 - Add a wrench rawtest. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D47790

--HG--
extra : moz-landing-system : lando
2019-10-02 06:54:56 +00:00
Nicolas Silva
8b3a6d3b5f Bug 1580922 - Ensure boundary tiles are invalidated when updating the visible area. r=jrmuizel
In addition, make sure the descriptor size stays in sync with the visible rect's size.
The descriptor's size stored in the resource cache is pretty much obsolete now, we should be able to clean it up and remove it.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 23:39:33 +00:00
Nicolas Silva
ae7070c711 Bug 1580922 - changing the blob visible area can require rasterization requests. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D47084

--HG--
extra : moz-landing-system : lando
2019-10-01 23:39:31 +00:00
alwu
8839b4e88b Bug 1579127 - only count the frame dropping due to system overload. r=mattwoodrow
When user adjusts the video playback rate, which might cause we sending images in a speed that is faster than the speend we composite images.

In this situation, the frame dropping actually won't cause any visual defect and we also don't want to report this frame dropping to user, because it's not caused by system overloading, it's just our compositor doesn't support compositing images in such a high rate.

Therefore, we should check if the dropped images are caused by system overload or high update rate, and only report the former to user.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 01:23:47 +00:00
Jeff Muizelaar
933084b066 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-10-01 22:23:45 +00:00
Lee Salzman
2b03a82ba0 Bug 1584268 - only instantiate Cairo fonts when drawing to Cairo target. r=jfkthame
This removes a lot of old cruft in thebes to instantiate Cairo scaled fonts.
Instead, we only instantiate the Cairo scaled font inside Moz2D when we actually
need it for DrawTargetCairo. This thus gets rid of the duplicated code we had
inside both Moz2D and thebes to deal with Cairo scaled fonts.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 21:56:30 +00:00
Lee Salzman
87487437cf Bug 1584008 - silence UBSan warning about tt_cmap_t in Cairo. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D47808

--HG--
extra : moz-landing-system : lando
2019-10-01 21:20:09 +00:00
Glenn Watson
334f0b22f4 Bug 1584439 - Enable picture caching for scroll bars and UI content. r=nical
Once this patch lands, all content drawn by WebRender is drawn into
a picture cache surface.

This will incur some extra GPU memory overhead since there are extra
GPU texture buffers. Much of this can be reduced by adding a couple
of simple optimizations in future to detect tiles that are solid
colors only.

With this change, we'll now be able to provide exact dirty rects for
the entire screen without any hacks, and start the work to draw into
OS compositor surfaces directly.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 08:52:40 +00:00
Oana Pop Rus
dbfb0e6cdd Backed out 3 changesets (bug 1580922) for wrench bustages. on a CLOSED TREE
Backed out changeset c6552f7ec6a0 (bug 1580922)
Backed out changeset ac6bd19f200a (bug 1580922)
Backed out changeset 31d0469993bd (bug 1580922)
2019-10-02 02:32:26 +03:00
Nicolas Silva
fe80db04c7 Bug 1580922 - Add a wrench rawtest. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D47790

--HG--
extra : moz-landing-system : lando
2019-10-01 16:34:43 +00:00
Nicolas Silva
7c48ca945a Bug 1580922 - Ensure boundary tiles are invalidated when updating the visible area. r=jrmuizel
In addition, make sure the descriptor size stays in sync with the visible rect's size.
The descriptor's size stored in the resource cache is pretty much obsolete now, we should be able to clean it up and remove it.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 16:34:59 +00:00
Nicolas Silva
98ffe8b435 Bug 1580922 - changing the blob visible area can require rasterization requests. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D47084

--HG--
extra : moz-landing-system : lando
2019-10-01 16:34:59 +00:00
Brindusan Cristian
e139ad7ab8 Backed out changeset 88a32122785b (bug 1580922) for reftest failures at webkit-text-stroke-property-001.html. CLOSED TREE 2019-10-01 22:29:12 +03:00
Ryan VanderMeulen
5611980e6c Bug 1585138 - Update HarfBuzz to 2.6.2. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D47665

--HG--
extra : moz-landing-system : lando
2019-10-01 09:18:54 +00:00
Jeff Muizelaar
869980f0d4 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-10-01 12:15:53 +00:00