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

30683 Коммитов

Автор SHA1 Сообщение Дата
Ryan Hunt 748ab5ad0f Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas
This commit adds an operation to perform 'edge padding' on a draw
target. By default this is performed using LockBits, but it's
overriden in DrawTargetTiled and DrawTargetCapture to propagate
the call so it functions correctly.

This helps TiledContentClient move from applying this operation
on a per texture client basis, to being able to do it on the
DrawTargetTiled after painting. This in turn helps move all
paint thread operations into DrawTargetCapture.

MozReview-Commit-ID: 2ncOTxGXQfk

--HG--
rename : gfx/layers/BufferEdgePad.cpp => gfx/2d/BufferEdgePad.cpp
rename : gfx/layers/BufferEdgePad.h => gfx/2d/BufferEdgePad.h
extra : rebase_source : ab850358a763853d50d1f374f28e67a197740443
2018-08-01 12:44:33 -05:00
Gabriele Svelto 15adf94f4d Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant C++ functions are updated to take a typed enum. JavaScript
calls are unaffected but they will throw if the string argument does not
correspond to one of the known entries in the C++ enum. The existing whitelists
and blacklists of annotations are also generated from the YAML file and all
duplicate code related to them has been consolidated. Once written out to the
.extra file the annotations are converted in string form and are no different
than the existing ones.

All existing annotations have been included in the list (and some obsolete ones
have been removed) and all call sites have been updated including tests where
appropriate.

--HG--
extra : source : 4f6c43f2830701ec5552e08e3f1b06fe6d045860
2018-07-05 15:42:11 +02:00
sotaro bf2bee5c8e Bug 1481995 - Remove WebRenderBridgeParent::mForceRendering r=nical 2018-08-10 08:10:11 +09:00
Noemi Erli be6ab34c54 Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
extra : rebase_source : 691b5b30b6c3b2ddece605c045ad913e466fdbab
2018-08-10 00:35:58 +03:00
Ryan Hunt 8091824d19 Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas
This commit exposes a method on DrawTargetCapture to see if it has
captured any drawing commands. This allows us to not dispatch
paint tasks if they will do nothing.

Ideally these tasks would execute instantly on the PaintThread, and
we would never delay sending the layer transaction or block on the
next paint, but with thread starvation and context switches it's
best to just not send them.

MozReview-Commit-ID: 7ywkEDBw6EX

--HG--
extra : rebase_source : c60c1c25d551e4a7c14c529137f8e0babc888466
extra : source : 7ae4c893867a5f7df81e0757d4b4a6a21cbc6986
2018-07-31 17:47:51 -05:00
Ryan Hunt 16e8c5d426 Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas
This commit adds the ability to create a different kind of DrawTargetCapture which
has a limit on the size of which its CaptureCommandList can grow before it is
synchronously flushed to its destination DrawTarget.

Special care is taken to not do a sync flush until we would need to resize
the backing store of the CaptureCommandList. This allows us to not waste
memory we've already allocated.

The async painting content clients are updated to use it, and get a default
value from a new preference.

MozReview-Commit-ID: CJL7ffvaRzR

--HG--
extra : rebase_source : f646862dcef7a480b21dfb7ddb1fa165338ba506
extra : source : b865a866fe5a3257615cb54b7e5e790cc9331988
2018-07-26 16:33:07 -05:00
Ryan Hunt 2dd7814423 Bug 1478815 part 8 - Remove buffer operations for ContentClient. r=nical
This commit moves ContentClient from creating a CapturedBufferState for
buffer operations, to performing all of those operations on the
DrawTarget(Capture). Creating a DrawTargetCapture is now performed
by the RotatedBuffer when we BeginPaint, all operations are performed
on this capture, and then it's returned to the ClientPaintedLayer
as a PaintTask.

This commit is an involved refactoring of ContentClient and RotatedBuffer
to get this all to work. Here are the major parts:

1. RotatedBuffer is refactored to always perform operations on a single
   DrawTarget, which may be a single DT, dual DT, or capture.
2. RotatedBuffer adds BeginCapture and EndCapture methods to switch
   which DT is used in operations
3. ContentClient uses the RB capture methods when we are async painting
4. CC::BeginPaint is refactored to only perform capturing on a single
   RotatedBuffer. This is because we can't have the output of one
   PaintTask be the input of a different PaintTask due to the design
   of the Snapshot API.
      a. This can occur, today, by doing a FinalizeFrame only to later
         fail to Unrotate the buffer, causing a new RB to be created
         and painted into
      b. The previous PaintThread code worked because it used the
         buffer operations which didn't use Snapshot's
      c. This is fixed by not doing FinalizeFrame on a buffer if we
         realize we cannot unrotate it, and switching to initializing
         a buffer using the front buffer which should be up to date.
      d. I don't like touching this code, but it passes reftests,
         might be a performance improvement, and I've tested it on
         known regressions from the last time I messed up this code.
5. CC::PrepareForPaint is inlined into BeginPaint because dual draw
   targets can be cleared correctly from a previous commit
6. The code paths in ClientPaintedLayer are unified because we no
   longer need to special case this beyond setting the correct
   ContentClient flag.
7. CapturedPaintState and CapturedBufferState are removed in favor
   of PaintTask. Additionally EndLayer is no longer needed as all
   quadrants of a rotated buffer are in the same capture, so we
   don't need special case flushing code.

MozReview-Commit-ID: 9UI40dwran

--HG--
extra : rebase_source : 809d9816970648468de972c30b0c230c2f21e27b
extra : source : 405ad351821813333c0e989b93e2aeb49ba8552c
2018-07-26 11:23:26 -05:00
Ryan Hunt a71d0035ad Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas
This commit adds a buffer unrotate operation to DrawTarget. It's
initially implemented with LockBits in DrawTarget. DrawTargetDual
overrides the implementation to pass on the operation to it's
DrawTargets.

No override is given for DrawTargetCapture as we intentionally
avoid this code path when async painting as it can fail.

This is needed so that RotatedBuffer can expose a single DrawTarget,
which can be a DrawTarget (for normal alpha), DrawTargetDual (for
component alpha), or DrawTargetCapture (when async painting).

MozReview-Commit-ID: csjjZ733hl

--HG--
rename : gfx/layers/BufferUnrotate.cpp => gfx/2d/BufferUnrotate.cpp
rename : gfx/layers/BufferUnrotate.h => gfx/2d/BufferUnrotate.h
extra : rebase_source : 5d96e2a5d36a01f2f9992adb37830e56436c7c35
extra : source : 64cb50b227e0ae604653f03ce2e892493126392e
2018-08-01 12:50:32 -05:00
Ryan Hunt e3b25e9b10 Bug 1478815 part 6 - Add ability to create a SourceSurfaceDual directly. r=bas
This commit adds the ability to create a SourceSurfaceDual directly,
instead of only from a DrawTargetDual. This allows SourceRotatedBuffer
to expose itself as a single SourceSurface for a later commit.

MozReview-Commit-ID: K21K42cGDy1

--HG--
extra : rebase_source : d3fe48ac711f9cd28799bfd8d36b74750cb15554
extra : source : 392a724d5acd25854e871fa47335c4b938fe9ae1
2018-08-01 12:49:19 -05:00
Ryan Hunt ce8baf18ae Bug 1478815 part 5 - Rename CapturedTiledPaintState to PaintTask. r=nical
This commit renames CapturedTiledPaintState to PaintTask as in a future
commit I will fold CapturedPaintState into it.

MozReview-Commit-ID: 8py7SrK4s29

--HG--
extra : rebase_source : 7abdf127351cdc82ee4c40112dce7150bdb67243
extra : source : 01110727f2e9e0846fc06997653e04860efb23dc
2018-07-24 15:39:35 -05:00
Ryan Hunt 7e8f465799 Bug 1478815 part 4 - Remove buffer operations for TiledContentClient. r=nical
This commit refactors TiledContentClient to not create PaintThread
buffer operations, but to instead perform all of these operations
on the DrawTarget(Capture). This simplifies the code dramatically
and allows us to add flushing behavior to DrawTargetCapture in a
future commit.

With this change, CapturedTiledPaintState is simply a container
for a DrawTarget, DrawTargetCapture, and keep-alive TextureClients.

Part of this commit is moving the logic of locking the texture
clients, constructing a dual draw target, and constructing a capture
into TiledContentClient so it can be shared.

MozReview-Commit-ID: 2rwz9aDI737

--HG--
extra : rebase_source : 4ac317f632c0a2c21480bc88e6246f4dc0daf0be
extra : source : 56d967e03ee225e032034ffd193b6f42b343226b
2018-07-24 14:29:44 -05:00
Ryan Hunt b3f614693b Bug 1478815 part 3 - Add a DualTextureClientLock for texture clients used for component alpha. r=nical
This commit adds a RAII class for the common operation of attempting
to lock one or two TextureClients and then maybe constructing a
DrawTargetDual from them.

MozReview-Commit-ID: ECQkDSgpyuL

--HG--
extra : rebase_source : 6debecb9d4ca33895daa78de3a52a1ed575706e1
extra : source : 082638a5c6432e0ca6ce377986d84ed130b32ad3
2018-08-01 12:46:35 -05:00
Ryan Hunt 9c419c4c91 Bug 1478815 part 2 - Make DrawTargetDual aware of component alpha clearing. r=bas
This commit changes the behavior of DrawTargetDual::Clear to be aware that
it has on-white and on-black buffers, and perform clearing appropriately.

This is slightly against what the DrawTarget documentation says the method
should do, but it allows us to move another paint thread operation into
DrawTargetCapture and simplify our ContentClient implementations.

I haven't seen any obvious breakage with this, and reftests are green.

An alternative would be to add a separate Clear method with documented
difference here.

MozReview-Commit-ID: 65CzcxlRqv7

--HG--
extra : rebase_source : 299adbb02e79f66f7d6860c5fe86784bad8332f8
extra : source : 3dc47f17fa446bb7f2b5876753f8271a93c0e0c8
2018-08-01 12:45:35 -05:00
Ryan Hunt 53537230f9 Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas
This commit adds an operation to perform 'edge padding' on a draw
target. By default this is performed using LockBits, but it's
overriden in DrawTargetTiled and DrawTargetCapture to propagate
the call so it functions correctly.

This helps TiledContentClient move from applying this operation
on a per texture client basis, to being able to do it on the
DrawTargetTiled after painting. This in turn helps move all
paint thread operations into DrawTargetCapture.

MozReview-Commit-ID: 2ncOTxGXQfk

--HG--
rename : gfx/layers/BufferEdgePad.cpp => gfx/2d/BufferEdgePad.cpp
rename : gfx/layers/BufferEdgePad.h => gfx/2d/BufferEdgePad.h
extra : rebase_source : a3315644fe31f2a432935dcbfdb9969c58b691e1
extra : source : 699c954992f87db7fc792f5562090de42a8162cb
2018-08-01 12:44:33 -05:00
Jan Beich 5677cde33a Bug 1473732 - Base default number of OMTP workers on the number of logical CPU cores. r=rhunt
system-info is a stub on Tier3 platforms while physical vs. logical
difference only matters for hyper-threading. As hyper-threading
is usually available on CPUs with more than 2 physical cores this
change has no impact there as the default is clamped to [1, 4].
However, on Intel i3-* CPUs with 2 physical and 4 logical cores this
bumps the default from 1 to 3.

MozReview-Commit-ID: 1Yh8rJL2JcN

--HG--
extra : rebase_source : 5c563ec8e388a3fd05a0650e8d4c330d48675332
2018-06-30 22:41:59 +00:00
Andi-Bogdan Postelnicu b2d4c86823 Bug 1453795 - GFX - Initialize member fields in classes/ structures. r=nical
--HG--
extra : rebase_source : 56f2cc017632bf27115490ae05254019108c6179
extra : amend_source : 98ea6c3c02a9f7650d2cf65deaf5085cf9a2efa4
2018-06-16 17:42:33 +03:00
Masatoshi Kimura 3b21b7868b Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : c09366fb93e5b0f72abe1e99d3094e3d96a934fb
extra : intermediate-source : 5950c9d63c3b4fd63a25464a7b50944aaec7079f
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Andrew Osmond b30de56ba9 Backed out changeset 3f41992ab77e (bug 1446309) because wrong bug number. r=backout 2018-08-10 09:33:31 -04:00
Andrew Osmond cf006cd593 Bug 1446309 - Store a shared surface's dirty rect update if we cannot process it immediately. r=nical
Multiple tabs in the same process could be viewing the same image. If it
is an image we are taking some time to download from the network, it may
not be displayed all at once. As a result, it could generate several
dirty rects for the newly decoded lines each time we paint. Since we
only apply the dirty rect to the active tab, and forget it afterwards,
then when one returns to the other tab(s), it may not reupload all of
the modified image data. Now we save the dirty rect and accumulate it
for the handles which weren't able to be updated immediately.
2018-08-10 09:30:24 -04:00
Lee Salzman bf12f26ad9 Bug 1479196 - draw missing glyphs from an atlas instead of rectangles. r=jfkthame 2018-08-21 12:40:36 -04:00
Lee Salzman daa9f58360 Bug 1479196 - add support to TextDrawTarget for defining and pushing WR images. r=nical 2018-08-21 12:36:48 -04:00
Kearwood "Kip" Gilbert 7be6545dd6 Bug 1320616 - Use the render pose rather than the gameplay pose for OpenVR headsets r=daoshengmu
The WebVR api was returning a headset pose predicted one additional frame in the
future, but the SteamVR async reprojection was reprojecting it using the
prior (correct) frame's pose.

This resulted in a sickness inducing swimming effect as well as deregistration
from the Vive chaperone bounds.

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

--HG--
extra : moz-landing-system : lando
2018-08-03 22:05:06 +00:00
ISHIKAWA, Chiaki 4293b59efc Bug 1479950: Bug Fixes the incorrect use of && in place of &. r=lsalzman 2018-07-31 21:17:00 +03:00
Bogdan Tara 4759ec60f7 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-03 13:28:32 +03:00
Lee Salzman 864930c221 Bug 1479010 - don't populate a ScaledFont's cairo scaled font unless targeting cairo. r=jrmuizel 2018-08-03 00:56:06 -04:00
Kartikaya Gupta 4e5a308827 Bug 1479939 - Ensure we tell WR to remove the compositable pipelines when clearing resources. r=sotaro
MozReview-Commit-ID: AxuvERUalhb

--HG--
extra : rebase_source : 674a20346c234912f7389d9fc7078c956cf08fc7
2018-08-02 00:17:36 -04:00
Narcis Beleuzu 4684ccf98e Merge inbound to mozilla-central. a=merge 2018-08-03 01:28:14 +03:00
Cosmin Sabou de8c2bd891 Backed out changeset 5950c9d63c3b (bug 1090497) for build bustages on several files. CLOSED TREE 2018-08-02 19:59:53 +03:00
Brian Hackett 3c13dd9f31 Bug 1479641 - Don't record counting allocator amount, r=froydnj.
--HG--
extra : rebase_source : 23de9644662c1f9ed36429074837e54bb7cac868
2018-07-31 19:22:54 +00:00
Masatoshi Kimura feea19030c Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : a62521fdc66def4e4d5d7bf52e68365a786b5c55
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Boris Zbarsky 357b6b1348 Bug 1479570. Get Add a getter to get a docshell from nsIWindowlessBrowser. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D2669

--HG--
extra : moz-landing-system : lando
2018-08-03 00:05:07 +00:00
Kartikaya Gupta 83d156a753 Bug 1479432 - Update webrender to commit 7a1b919e37d6cd0155077aa90f98cfcdf9fa5bae. r=jrmuizel
MozReview-Commit-ID: 1SJgRWEp2qf

--HG--
extra : rebase_source : ec6ffe0686f8ef0bf8149347fcfd48e3870bc316
2018-08-02 10:20:04 -04:00
Noemi Erli 8f66a71e70 Merge inbound to mozilla-central. a=merge 2018-08-02 11:54:46 +03:00
Kartikaya Gupta 5090ab5988 Bug 1368603 - Fix intermittent scrollbar drag test failure on Linux. r=botond
On Linux, when synthesizing mousemove events interleaved with button
press/release events, the caller is responsible for waiting for the
mousemove events be dispatched before attempting to synthesize the
press/release buttons, otherwise the events can be delivered by the OS
out of order. This updates a few tests to ensure this is done correctly.

MozReview-Commit-ID: 42HkqTCWToP

--HG--
extra : rebase_source : 57fbc84bcfbed345d8f6d90aaadb3399e691894e
2018-08-01 23:25:05 -04:00
dvarga 956d57e7f2 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-08-02 01:26:29 +03:00
dvarga e487e6e564 Merge inbound to mozilla-central. a=merge 2018-08-02 01:09:38 +03:00
Nicolas Silva 97855cd84d Bug 1474722 - Add a reftest. r=Bas 2018-08-01 17:13:18 +02:00
Nicolas Silva 514e74387d Bug 1474722 - Prevent large rect integer overflows without forbidding large nine-patches. r=Bas 2018-08-01 17:13:12 +02:00
Jonathan Kew 0165cf1194 Bug 1478716 - Ensure we only call FT_Get_MM_Var once per face (and cache the result in the font entry), to avoid being bitten by freetype bug 52955 on Ubuntu. r=lsalzman 2018-08-01 22:39:05 +01:00
David Major f9500eac94 Bug 1479842: Don't PGO gfxFontInfoLoader.cpp with clang-cl. r=froydnj 2018-08-01 15:10:13 -04:00
Randall Barker 6d045ccecb Bug 1479549 Add a pref to disable double tap zooming in APZ r=botond
MozReview-Commit-ID: HK5RWuI6lIk
2018-08-01 11:25:32 -07:00
sotaro 60415ddc5b Bug 1479680 - Change clear_color to (0.0, 0.0, 0.0, 0.0) in webrender r=nical 2018-08-01 08:50:48 +09:00
Xidorn Quan 8421040c69 Bug 1479995 - Rename ScrollbarStyles to ScrollStyles. r=mstange
This change also renames several related functions, as well as fields,
and the header is moved into EXPORTS.mozilla given it is defined under
mozilla namespace.

MozReview-Commit-ID: LqCdcW8fmUN

--HG--
rename : layout/base/ScrollbarStyles.cpp => layout/base/ScrollStyles.cpp
rename : layout/base/ScrollbarStyles.h => layout/base/ScrollStyles.h
extra : rebase_source : 8933f3bca88d5db4b9508e3947f695ecf7511b3e
2018-08-01 16:14:26 +10:00
Bogdan Tara 9c44097a0d Merge inbound to mozilla-central. a=merge 2018-08-01 00:58:55 +03:00
Kartikaya Gupta 43a729e246 Bug 1478035 - Add crashtest. r=mstange
MozReview-Commit-ID: Fopmx8cJtc7

--HG--
extra : rebase_source : b9f9b8e10fc95845fd6f2d6d413106b17e97efee
2018-07-24 15:46:28 -04:00
Lee Salzman c3f5240478 Bug 1258781 - reduce Skia font cache size to 5MB. r=bz 2018-07-31 14:03:22 -04:00
Lee Salzman 0a080bf168 Bug 1473732 - avoid race condition when accessing and creating SkCairoFTTypeface. r=rhunt 2018-07-31 13:32:12 -04:00
Jim Chen 2c94ad0e54 Bug 1472140 - 3. Remove ForceIsFirstPaint ipdl call; r=kats
Remove the PCompositorBridge::ForceIsFirstPaint call that's no longer
used anywhere.
2018-07-31 12:21:49 -04:00
Kearwood Gilbert 17fa5240f0 Bug 1476797 - Indicate VR session activity indepenently of layer presence r=daoshengmu
MozReview-Commit-ID: 4F0vclSj5gB

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

--HG--
extra : moz-landing-system : lando
2018-07-31 01:41:25 +00:00
Hiroyuki Ikezoe d096c8bddf Bug 1479234 - Include missing headers in D3D11YCbCrImage.cpp and VRLayerChild.cpp. r=hiro
MozReview-Commit-ID: C8VQO46Lm1

--HG--
extra : rebase_source : 5751da5530ac9771ed349b71a2c10fec28904a97
2018-07-31 08:13:19 +09:00
Hiroyuki Ikezoe 0020eaf1a1 Bug 1479234 - Fix the header for gfx::Glyph. r=kats
MozReview-Commit-ID: I0ukIwuxv7z

--HG--
extra : rebase_source : 74c7ad6a43520c3ba5ce96cbd2b13dedd6aaaa22
2018-07-31 06:13:15 +09:00
Hiroyuki Ikezoe 221a08d59e Bug 1479234 - Drop GetAnimationOpacity and GetAnimationTransform ipc calls. r=boris,froydnj
They are no longer used.

MozReview-Commit-ID: 1SaIkj4ryUF

--HG--
extra : rebase_source : 0666e3f297e9c12f8a024e96944d99c2c301820c
2018-07-31 06:13:15 +09:00
Hiroyuki Ikezoe 94f5f622eb Bug 1479234 - Introduce a generic function to get an animation value on the compositor. r=boris,froydnj
On the compositor we store animation values in a hash table and the hash is
the compositor animation id which is a unique id for each property respectively.
So we can get the corresponding animation value for the given property.

In this patch there are lots of duplicated code, but they will be removed in the
next patch.

MozReview-Commit-ID: 7EboVcculcg

--HG--
extra : rebase_source : 304ea80849af8af72a07437736041aeabbe47eeb
2018-07-31 06:13:15 +09:00
Jim Chen 9c55d02aa5 Bug 1472140 - 1. Set first paint flag when resuming and resizing composition; r=rbarker
When resuming composition in a new GeckoView, we wait for the first
paint signal in order to uncover the SurfaceView. This patch makes sure
that we always send the first paint signal.

MozReview-Commit-ID: EZeOR80d8HY

--HG--
extra : rebase_source : f82ab94ef87e5b0651f368918e8cd8a97469c68e
2018-07-30 16:38:35 -04:00
Imanol Fernandez 25d362ba4f Bug 1479424 - Fix VRManager NotifyVSync not called when compositor is paused on Android; r=kip,rbarker
MozReview-Commit-ID: JY8xyCSKIgv

--HG--
extra : rebase_source : 8ae0ba070bba5cc03137c4053a7730ad89090e96
2018-07-30 18:14:05 +02:00
Coroiu Cristina 9e8155b8f6 Merge inbound to mozilla-central a=merge 2018-07-31 00:58:28 +03:00
Cosmin Sabou 09c97210a7 Backed out 2 changesets (bug 1473732) for devtools and web platform reftest leaks. CLOSED TREE
Backed out changeset 7742f4ea046b (bug 1473732)
Backed out changeset 3354b6d032f3 (bug 1473732)
2018-07-30 20:52:11 +03:00
Jonathan Kew a78b7458a9 Bug 1478720 - Increase the fractional adjustment applied to 'opsz' on macOS to avoid using the font's default setting, which may be mishandled by Core Text. r=lsalzman 2018-07-30 17:53:09 +01:00
Jamie Nicol 35e92591dd Bug 1474883 - Ensure D2D glyph cache is pruned after rendering 1000 transformed glyphs. r=bas
Rendering glyphs at many different rotations was causing the D2D glyph
cache to grow very large. Calling EndDraw/BeginDraw will prune the
cache, but is costly, so only do it for every 1000 glyphs.

MozReview-Commit-ID: HUFpxDvYAzQ

--HG--
extra : rebase_source : de283c5e687da07e5417e0d221d7f45b992080d5
2018-07-26 15:23:19 +01:00
Kartikaya Gupta 78157f60ff Bug 1477970 - Update webrender to commit 8a4fe66528aa362721e4048aac3cd5abf7faaf2c. r=jrmuizel
MozReview-Commit-ID: H40i6i2LmAl

--HG--
extra : rebase_source : 5bd5ea3be3463b3f91a2e64da4e2c99c55cecd45
2018-07-30 09:35:05 -04:00
Kartikaya Gupta 3faf3e38d9 Bug 1478016 - Add a strongly-typed LayersObserverEpoch type. r=mattwoodrow
MozReview-Commit-ID: 6fELexXRYeV

--HG--
extra : rebase_source : 0eb028ee9b98199d18421f7ff28433189940fdca
2018-07-30 09:24:50 -04:00
sotaro 2d7e793ae4 Bug 1478570 - Fix ExternalImageId allocation of AsyncImagePipelineManager r=jrmuizel 2018-07-30 10:16:03 +09:00
Imanol Fernandez 3866161569 Bug 1478754 - WebGL crash when webgl.enable-surface-texture is enabled on Android; r=jgilbert,rbarker
MozReview-Commit-ID: GBTvZiLspvP

--HG--
extra : rebase_source : ff568522fecd415decd27b6b8bf7abe72c0bcd99
2018-07-28 12:33:55 +02:00
Gurzau Raul ebe874201b Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-28 12:49:02 +03:00
Gurzau Raul db79375c66 Merge inbound to mozilla-central. a=merge 2018-07-28 12:45:44 +03:00
Kartikaya Gupta 22456cd52b Bug 1479075 - Ensure FlushRenderingAsync actually flushes the compositor. r=sotaro
MozReview-Commit-ID: AfVIwLj2YJp

--HG--
extra : rebase_source : 3c9f4af10be9ab38fb708a2be4cb9393cd7e86c7
2018-07-28 04:47:08 -04:00
Mitch Ament c7c03f661b Bug 1477335 - Replace reference member AsyncPanZoomController::mFrameMetrics with getter functions which return mScrollMetadata.mMetrics. r=botond
This fixes a const correctness loophole.

MozReview-Commit-ID: I8yM74OAr8m

--HG--
extra : rebase_source : 8aeea554bfeff7efe03cd9a00539a6100e040b8a
2018-07-27 14:58:46 -04:00
Cosmin Sabou d71fce60ce Merge mozilla-central to mozilla-inbound. a=merge 2018-07-28 01:56:40 +03:00
Jeff Gilbert 0e128a3868 Bug 1470985 - s/PodEqual/ArrayEqual/ from ArrayUtils.h. - r=waldo
We can't use memcmp to compare PODs, largely because of undefined
padding. The rest of the Pod* functions are fine though, since we're
replicating or zeroing PODs.

MozReview-Commit-ID: LSspAi8qCWw
2018-07-27 14:11:18 -07:00
Ryan Hunt d50993e6a4 Bug 1477799 - Use the paint thread instead of workers when we only have one worker. r=jrmuizel
MozReview-Commit-ID: 3mR4KrS924N

--HG--
extra : rebase_source : 3075243361b7f1772854c85336e7d75a207b8cb6
extra : source : ccf97cb6779fafeb54f30b251487ae24c630e08b
2018-07-19 12:41:34 -05:00
Doug Thayer 3604605cfc Bug 1478704 - Compute shader adjustments for mask separately r=jrmuizel,mstange
When masking as a secondary effect to RENDER_TARGET, mFBOTextureTarget
will have a target of GL_TEXTURE_2D, leading us to not use sampler2DRect
and friends for the mask. This fixes that, and also assures our coord
adjustments are based on the mask texture's dimensions.

MozReview-Commit-ID: JSDfDJuLNSa

--HG--
extra : rebase_source : 77010ae331f4d004e9b716e6063334d98529bf5f
2018-07-27 09:56:34 -07:00
Doug Thayer a6b91271e5 Bug 1478704 - Use GL_TEXTURE_RECTANGLE_ARB for client storage r=jrmuizel
Now that the shader problems are fixed it's a simple switch.

MozReview-Commit-ID: 6MJlEVITwii

--HG--
extra : rebase_source : cb33bd45196eca26476c52c2c50e51f03f6129f8
2018-07-26 16:55:55 -07:00
Doug Thayer 2df99d5c56 Bug 1478704 - Fully generalize shader generation to rect textures r=jrmuizel
I'm not sure if there was a reason for not fully generalizing the
sampler2DRect and texture2DRect stuff throughout the shader
generalization file. It seemed the simplest thing was to fully
replace it - even if in some cases it doesn't make sense it's
more consistent, and it definitely fixes the trouble we were having
with switching to GL_TEXTURE_RECTANGLE_ARB for client storage.

MozReview-Commit-ID: 7243OjQdakN

--HG--
extra : rebase_source : 756741bbff4c56edec64cc6dd367328974b83b35
2018-07-26 16:54:48 -07:00
Andreea Pavel 3746d597a1 Backed out 3 changesets (bug 1478704) on request by dthayer for breaking video
Backed out changeset c57be31d3c06 (bug 1478704)
Backed out changeset c77acf366e1c (bug 1478704)
Backed out changeset 3329c8f5582a (bug 1478704)
2018-07-28 01:23:16 +03:00
Doug Thayer 030dbb65b5 Bug 1478704 - Compute shader adjustments for mask separately r=jrmuizel,mstange
When masking as a secondary effect to RENDER_TARGET, mFBOTextureTarget
will have a target of GL_TEXTURE_2D, leading us to not use sampler2DRect
and friends for the mask. This fixes that, and also assures our coord
adjustments are based on the mask texture's dimensions.

MozReview-Commit-ID: JSDfDJuLNSa

--HG--
extra : rebase_source : c779b18789196c9352a862a17f4a1e8d799805ec
2018-07-27 09:56:34 -07:00
Doug Thayer dcac2af944 Bug 1478704 - Use GL_TEXTURE_RECTANGLE_ARB for client storage r=jrmuizel
Now that the shader problems are fixed it's a simple switch.

MozReview-Commit-ID: 6MJlEVITwii

--HG--
extra : rebase_source : 7c91165633d5bc4fb07135781774998b0e1f1cf0
2018-07-26 16:55:55 -07:00
Doug Thayer f2242da77b Bug 1478704 - Fully generalize shader generation to rect textures r=jrmuizel
I'm not sure if there was a reason for not fully generalizing the
sampler2DRect and texture2DRect stuff throughout the shader
generalization file. It seemed the simplest thing was to fully
replace it - even if in some cases it doesn't make sense it's
more consistent, and it definitely fixes the trouble we were having
with switching to GL_TEXTURE_RECTANGLE_ARB for client storage.

MozReview-Commit-ID: 7243OjQdakN

--HG--
extra : rebase_source : d1b9f51f45d0cb875c82f3de5b2ea917e0385077
2018-07-26 16:54:48 -07:00
Jan Beich b252c0cc61 Bug 1473732 - Base default number of OMTP workers on the number of logical CPU cores. r=rhunt
system-info is a stub on Tier3 platforms while physical vs. logical
difference only matters for hyper-threading. As hyper-threading
is usually available on CPUs with more than 2 physical cores this
change has no impact there as the default is clamped to [1, 4].
However, on Intel i3-* CPUs with 2 physical and 4 logical cores this
bumps the default from 1 to 3.

MozReview-Commit-ID: 1Yh8rJL2JcN

--HG--
extra : rebase_source : 3e497f254ce91e4a8e539d475f90690831bcbe07
2018-06-30 22:41:59 +00:00
Lee Salzman adfdc21527 Bug 1473732 - Avoid race condition when accessing and creating SkCairoFTTypeface. r=rhunt
--HG--
extra : rebase_source : 658a1fc2a7e3f3bcab1c6f5d7a5070d762beaeef
2018-07-30 12:11:46 -04:00
Kartikaya Gupta b154baea17 Bug 1478504 - Inline function only used in a couple of places. r=sotaro
MozReview-Commit-ID: JfOgsxUHSlu

--HG--
extra : rebase_source : bc08909aa478071daf862ba355e2e4df03dfcf00
2018-07-27 09:43:41 -04:00
Kartikaya Gupta bfa67498d5 Bug 1478504 - Use NotifyPipelineRendered instead of DidComposite for WebRender. r=sotaro
MozReview-Commit-ID: 4eaMTEPD9NY

--HG--
extra : rebase_source : 7d2f5b5fe4d45f135f0899dccf6a910848b5c7e4
2018-07-27 09:42:30 -04:00
Dorel Luca 704612cf44 Merge mozilla-inbound to mozilla-central. a=merge 2018-07-27 13:19:26 +03:00
Csoregi Natalia 470d472200 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-27 01:01:27 +03:00
Thomas P. cd613a5787 Bug 1477858 - add Qcms fuzzing target dictionary. r=decoder 2018-07-23 22:34:16 +00:00
Emilio Cobos Álvarez 517256e365 Bug 1478391: Autogenerate StyleAppearance. r=jwatt
This builds on bug 1428676 and introduces StyleAppearance, which replaces the
NS_THEME_* constants.

Really sorry for the size of the patch.

There's a non-trivial change in the gtk theme, which I submitted separately as
bug 1478385.

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

MozReview-Commit-ID: DiSmMWK7Krp
2018-07-26 17:06:17 +02:00
Jeff Muizelaar fd810fa7ce Bug 1478150. Restrict webrender qualified to modern Nvidia gpus. r=kats
MozReview-Commit-ID: 1CyOgLkqD40

--HG--
extra : rebase_source : 0766de768efa82cf70f98a262d7e33b6dfd258d9
2018-07-26 15:10:35 -04:00
Lee Salzman 8a02469d65 Bug 1478084 - fix recursive locking in SkFontHost_cairo. r=jrmuizel 2018-07-26 15:23:53 -04:00
Lee Salzman 79d6db9a30 Bug 1478084 - make cairo_font_face_set_user_data thread-safe. r=jrmuizel 2018-07-26 15:23:25 -04:00
Cosmin Sabou acd8ea2c75 Backed out changeset e354029775b8 (bug 1473732) for causing leaks at gfxFT2FontBase::GetGlyph, GetCharWidth. CLOSED TREE 2018-07-26 04:40:00 +03:00
Jan Beich 061b467f45 Bug 1473732 - Base default number of OMTP workers on the number of logical CPU cores. r=rhunt
system-info is a stub on Tier3 platforms while physical vs. logical
difference only matters for hyper-threading. As hyper-threading
is usually available on CPUs with more than 2 physical cores this
change has no impact there as the default is clamped to [1, 4].
However, on Intel i3-* CPUs with 2 physical and 4 logical cores this
bumps the default from 1 to 3.

MozReview-Commit-ID: 1Yh8rJL2JcN

--HG--
extra : rebase_source : 77613cbb99c14f19217592080bfd51ea2194422b
2018-06-30 22:41:59 +00:00
Cosmin Sabou a313ea14ff Merge mozilla-inbound to mozilla-central. a=merge 2018-07-25 21:21:50 +03:00
Cosmin Sabou 76b0913227 Merge autoland to mozilla-central. a=merge 2018-07-25 21:20:49 +03:00
Andreea Pavel da179a7f47 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-07-25 18:13:30 +03:00
sotaro 2bcc8b96f5 Bug 1477608 - Reuse same ExternalImageId for different video frames if possible r=jrmuizel 2018-07-25 23:30:08 +09:00
Sebastian Hengst bd900ee36a Merge mozilla-inbound to mozilla-central. a=merge 2018-07-25 17:16:53 +03:00
Tiberius Oros 036999d0a9 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-25 13:43:03 +03:00
Kartikaya Gupta e16af06073 Bug 1468020 - Add crashtest. r=mstange
MozReview-Commit-ID: KeWy2KHPSjl

--HG--
extra : rebase_source : d077abc9c926feaa13808d624b15024729560e6a
2018-07-24 16:38:25 -04:00
Kartikaya Gupta 533c8b4d83 Bug 1468020 - Extract helper function to avoid duplicated code. r=mstange
MozReview-Commit-ID: JuirkAId7Km

--HG--
extra : rebase_source : c9d15e9fd4a823b321aff9c1048b659f87d03823
2018-07-24 16:38:25 -04:00
Kartikaya Gupta ad4d295efb Bug 1468020 - Conform to static analysis bot suggestion. r=mstange
MozReview-Commit-ID: KeWy2KHPSjk

--HG--
extra : rebase_source : 87764ba4387e1a53d8d6fdb66c1fe03669dee943
2018-07-24 16:38:25 -04:00
Kartikaya Gupta c219864291 Bug 1468020 - Don't layerize filter and mask items. r=mstange
This restricts the active-item-detection code to wrap lists and
perspective items because other wrapper items are not supported yet.

MozReview-Commit-ID: JuirkAId7Kk

--HG--
extra : rebase_source : 971de2c56d183090bb9a8701af62ada493e39b77
2018-07-24 16:37:38 -04:00
Bogdan Tara 1cd7dec7b6 Backed out 4 changesets (bug 1468020) for crashtest failures on gfx/tests/crashtests/1468020.html CLOSED TREE
Backed out changeset 262d541a474f (bug 1468020)
Backed out changeset 621ab5087373 (bug 1468020)
Backed out changeset 866492bf5ccf (bug 1468020)
Backed out changeset eb6a2ae68d09 (bug 1468020)
2018-07-24 22:57:02 +03:00
Imanol Fernandez c7746a52c2 Bug 1476380 - Remove the spin wait in Android gfxVRExternal PullState calls; r=kip
MozReview-Commit-ID: 7pwMhE7emwY

--HG--
extra : rebase_source : f7ce0053855e51c0b166a0a9e686e2f2e9a09e22
2018-07-24 16:27:58 +02:00
Jeff Gilbert c4da2d9fee Bug 1471632 - Cherry-pick mingw clang compilation fix.
Differential Revision: https://phabricator.services.mozilla.com/D2346

--HG--
extra : moz-landing-system : lando
2018-07-24 23:23:52 +00:00
Kartikaya Gupta 76a7f3cba7 Bug 1468020 - Add crashtest. r=mstange
MozReview-Commit-ID: KeWy2KHPSjl

--HG--
extra : rebase_source : d22c55d1d0fa17bf722f4540ab7fb3243a3001af
2018-07-24 14:21:09 -04:00
Kartikaya Gupta 970bd5648f Bug 1468020 - Extract helper function to avoid duplicated code. r=mstange
MozReview-Commit-ID: JuirkAId7Km

--HG--
extra : rebase_source : 3e2b3d228b3ad6dafc11dc89631778cd23580c9c
2018-07-24 14:21:08 -04:00
Kartikaya Gupta af58b4a732 Bug 1468020 - Conform to static analysis bot suggestion. r=mstange
MozReview-Commit-ID: KeWy2KHPSjk

--HG--
extra : rebase_source : 4280ba5c9f2b77e5c5ed98cfc9b9e586c4794add
2018-07-24 14:21:08 -04:00
Kartikaya Gupta 614fc7e747 Bug 1468020 - Don't layerize filter and mask items. r=mstange
This restricts the active-item-detection code to wrap lists because
other wrapper items are not supported yet.

MozReview-Commit-ID: JuirkAId7Kk

--HG--
extra : rebase_source : 5dbb8af8504f301ca49273b4f6f434a91524860a
2018-07-24 14:21:07 -04:00
Mike Hommey ef4934a8dd Bug 1478228 - Avoid R_ARM_V4BX relocations on android builds. r=froydnj
--HG--
extra : rebase_source : 5f9d2490345382b562380fffb0666af2ebb25cf2
2018-07-25 18:40:49 +09:00
Boris Zbarsky 75abc43e0d Bug 1476145 part 8. Stop using getInterface(nsIDOMWindowUtils) in various test code. r=kmag 2018-07-24 19:47:43 -04:00
Nathan Froyd 309ddc0be2 Bug 1477048 - part 2 - remove non-ipc/chromium moz.build uses of OS_TEST; r=gps
The deletions in xptcall are when we don't even have support for the CPU
in moz.configure, so I assume that people haven't been compiling on
those architectures for quite some time.
2018-07-24 16:08:56 -04:00
Nathan Froyd 5158597854 Bug 1477048 - part 1 - remove `'86' in CONFIG['OS_TEST']` stanzas from moz.build files; r=gps
The current code is somewhat non-obvious to a first-time reader, and
OS_TEST is a bizarre thing anyway, since it's actually the name of the
CPU we're running on.  We'd do well to minimize the use of OS_TEST.

Note that the complete nuking of the xptcall/md/unix/moz.build lines are
because we don't support OS X/x86 anymore.
2018-07-24 16:08:56 -04:00
Nathan Froyd 32d63fdca4 Bug 1477047 - make fewer assumptions about MSVC compiling for x86-ish code; r=chmanchester
ARM64 Windows is a thing now, so this assumption is no longer valid.
2018-07-24 16:08:56 -04:00
Lee Salzman 585bfee6dc Bug 1478070 - cache default DWrite rendering params in Skia. r=jrmuizel 2018-07-25 23:29:15 -04:00
Boris Zbarsky 754087a992 Bug 1446940 part 5. Stop getting docshells from windows via getInterface in dom/editor/etc code. r=kmag 2018-08-01 13:07:11 -04:00
David Major a9e8069a9b Bug 1479456: Fix some non-unified bustage in gfx/thebes. r=jrmuizel 2018-08-01 13:02:18 -04:00
Kartikaya Gupta dfc93a4506 Bug 1477471 - Add missing pop_back call. r=jrmuizel 2018-07-24 14:06:30 -04:00
Kartikaya Gupta 3dfe60b882 Bug 1477471 - Implement PushLayerWithBlend for DrawTargetTiled. r=jrmuizel 2018-07-24 14:06:23 -04:00
Brian Hackett 3b2167ce37 Bug 1465466 Part 5 - Don't use APZ in recording/replaying processes, r=kats,mconley.
--HG--
extra : rebase_source : 01a76161037131e0df626f591543bf9316016597
2018-07-23 21:51:24 +00:00
Brian Hackett 562987ce84 Bug 1465466 Part 3 - When recording/replaying, composite in the main thread's event loop instead of waiting for vsyncs, r=nical.
--HG--
extra : rebase_source : 0dbdcb4698e349ceb53e0621d5fa453bb1f17357
2018-07-23 21:47:28 +00:00
Brian Hackett 99d34528e4 Bug 1465466 Part 1 - Use a separate compositor in recording/replaying processes, r=nical.
--HG--
extra : rebase_source : 003f6557370f2e4e6959ea14e833f7e2e617c5b0
2018-07-23 21:46:47 +00:00
Gurzau Raul 19e302fb18 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-24 12:52:06 +03:00
Gurzau Raul f2e1e857f1 Merge inbound to mozilla-central. a=merge 2018-07-24 12:49:23 +03:00
Jeff Muizelaar bfec1c104f Bug 1477505. Update webrender to commit e850fbd2e0e60a8de76c2d2464f0fa27316d5949 2018-07-23 23:48:02 -04:00
Kris Maglione 7aa3564a28 Bug 1477579: Part 3 - Avoid duplicating static strings in category manager entries. r=froydnj
Much like the component manager, many of the strings that we use for category
manager entries are statically allocated. There's no need to duplicate these
strings.

This patch changes the category manager APIs to take nsACStrings rather than
raw pointers, and to pass literal nsCStrings when we know we have a literal
string to begin with. When adding the category entry, it then skips making
copies of any strings with the LITERAL flag.

MozReview-Commit-ID: EJEcYSdNMWs
***
amend-catman

--HG--
extra : source : aa9a8f18e98f930a3d8359565eef02f3f6efc5f9
extra : absorb_source : 81a22ab26ee8017ac43321ff2c987d8096182d37
2018-07-23 17:41:06 -07:00
Brindusan Cristian 91a3707d5f Backed out 3 changesets (bug 1477579) for build bustages on xpcshell\selftest.py and crashtest failures on /components/nsComponentManager.cpp. CLOSED TREE
Backed out changeset aa9a8f18e98f (bug 1477579)
Backed out changeset 5fb0b7746a5d (bug 1477579)
Backed out changeset 8359f8fe4184 (bug 1477579)
2018-07-24 04:55:03 +03:00
Kris Maglione dfd38a6ac3 Bug 1477579: Part 3 - Avoid duplicating static strings in category manager entries. r=froydnj
Much like the component manager, many of the strings that we use for category
manager entries are statically allocated. There's no need to duplicate these
strings.

This patch changes the category manager APIs to take nsACStrings rather than
raw pointers, and to pass literal nsCStrings when we know we have a literal
string to begin with. When adding the category entry, it then skips making
copies of any strings with the LITERAL flag.

MozReview-Commit-ID: EJEcYSdNMWs
***
amend-catman

--HG--
extra : rebase_source : 4f70e7b296ecf3b52a4892c92155c7c163d424d2
2018-07-23 17:41:06 -07:00
Brian Hackett e897f52beb Bug 1207696 Part 6c - Disable accelerated canvases when recording or replaying, r=dvander.
--HG--
extra : rebase_source : 7076c2b59d6f6546d91fe785f448b0c829c4c56a
2018-07-23 14:41:58 +00:00
Kartikaya Gupta 38c46ea534 Bug 1468020 - More correctly detect active items in the grouper. r=mstange 2018-07-23 17:09:01 -04:00
Jeff Gilbert 6089f7eebc Bug 1475010 - Also, assert in DEBUG if we don't get a KeyedMutex. - r=kvark
Disableable via env var.

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

--HG--
extra : moz-landing-system : lando
2018-07-23 20:48:51 +00:00
Tanushree Podder a468f78119 Bug 1473699 - Async-scroll the layout viewport even if it's smaller than the visual viewport. r=botond
When the layout viewport is smaller than the visual viewport and the user
scrolls a web page, the layout viewport remains fixed to its position before
the scroll event took place. However, the visual viewport moves according to
the new scroll position. This patch addresses this issue by moving the layout
viewport along with the visual viewport.

MozReview-Commit-ID: 3Mk1o6AF2wr

--HG--
extra : rebase_source : 8c6068059593038dc443cb9c96242483de97e9d9
2018-07-22 01:59:37 -04:00
Robert Longson da1ac338dc Bug 1474284 - cope with degenerate bezier curves r=baz 2018-07-23 18:36:09 +01:00
Emilio Cobos Álvarez ed8949d457 Bug 1477678 - Remove useless Compositor::SetDispAcquireFence. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D2295

--HG--
extra : moz-landing-system : lando
2018-07-23 13:06:24 +00:00
Doug Thayer 323ffd48be Bug 1265824 - Plug holes in texture size restrictions r=mattwoodrow
When computing whether we have an intermediate buffer or not, which
in our case amounts to the inverse of deciding whether we want to use
a DirectMapTextureSource or not, we want to ensure that we don't use
one if the texture is too big to be a single texture in OpenGL. This
will default to using a TiledTextureImage. In a perfect world we
would build tiling logic into the client storage approach, but that
shouldn't block this.

MozReview-Commit-ID: 7Oi86oGis93

--HG--
extra : rebase_source : df9d314ef3d9a285bb10a9e21b87dc280a88fa84
2018-07-22 20:27:48 -07:00
Doug Thayer 68e5aaf03a Bug 1265824 - Remove CreateForYCbCrWithBufferSize r=mattwoodrow
This seems to be unused. Not sure if it's still left in here for
a reason or not.

MozReview-Commit-ID: 3wxaCDI7eCO

--HG--
extra : rebase_source : 25dda76dce892e580dbf31741e359d3a78f5742a
2018-07-22 20:22:12 -07:00
Doug Thayer 9b62998d60 Bug 1265824 - Guard client storage stuff behind a pref r=mattwoodrow
MozReview-Commit-ID: DjKhtMDJ91C

--HG--
extra : rebase_source : b9abb9b9b13132cd560d1ca9677183790b2d06e2
2018-06-22 11:10:41 -07:00
Doug Thayer cd54f8c184 Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow
There's a lot going on here, but it all fits under the idea of
being able to communicate about texture locking statuses
without spinning on IsReadLocked. This is a bit of a trade -
we could just always allocate/grab a texture from the pool,
which would put a smaller cap on the amount of time we can
possibly spend when a texture is locked. However, this eats
up more CPU and memory than waiting on the textures to unlock,
and could take longer, especially if there were a large number
of textures which we just need to wait for for a short amount
of time. In any case, we very rarely hit the case where we
actually need to wait on the sync IPC to the compositor - most
of the time the textures are already unlocked.

There is also an async IPC call in here, which we make before
flushing async paints. This just causes the compositor to
check whether the GPU is done with its textures or not and
unlock them if it is. This helps us avoid the case where we
take a long time painting asynchronously, turn IPC back on at
the end of that, and then have to wait for the compositor
to to get into TiledLayerBufferComposite::UseTiles before
getting a response. Specifically this eliminates several talos
regressions which use ASAP mode.

Lastly, there seem to be no other cases of static Monitors
being used. This seems like it falls under similar use cases
as StaticMutexes, so I added it in. I can move it into its own
file if we think it might be generally useful in the future.

MozReview-Commit-ID: IYQLwUqMxg2

--HG--
extra : rebase_source : 4f05832f51dae6db98773dcad03cb008a80eca6c
2018-05-05 15:46:26 -07:00
Doug Thayer e166b5a5e9 Bug 1265824 - handle the texture uploading and readLock related things for direct mapping texture source r=mattwoodrow
MozReview-Commit-ID: BC065h1Ac6k

--HG--
extra : rebase_source : 45be796ebd62cc116ae6fce51c4fe83010c6563c
2018-05-02 18:31:31 -07:00
Doug Thayer e42c2737b7 Bug 1265824 - implement CreateDataTextureSourceAroundYCbCr() and CreateDataTextureSourceAround() for CompositorOGL r=mattwoodrow
This patch will use DirectMapTextureSource to wrap the DataSourceSurface data for gpu access.
That could improve the texture uploading performance.

MozReview-Commit-ID: CGPFcCsR1RY

--HG--
extra : rebase_source : fd0e5076357d8893e9283930fc4d6fb944a3f1de
2018-05-02 18:31:08 -07:00
Doug Thayer c0c56d6901 Bug 1265824 - Pass the texture direct mapping info to all texture creating functions r=mattwoodrow
The client side can't get the GL context in CompositorOGL. So, it can't know
the texture direct mapping capability directly. This patch adds the texture
direct mapping info in TextureFactoryIdentifier. Then, the client side could
get the info form the TextureFactoryIdentifier.

MozReview-Commit-ID: KEazDVg0p9Y

--HG--
extra : rebase_source : 09ce1065cd076a3a5dc276f93837d608443c60a1
2018-05-02 18:20:25 -07:00
Doug Thayer f1353d2962 Bug 1265824 - Add a new texture source type "DirectMapTextureSource" r=mattwoodrow
The DirectMapTextureSource could let the compositor to read the buffer directly.
That could get rid of some memory copy operations during texture uploading.

MozReview-Commit-ID: CHhoR96P7VG

--HG--
extra : rebase_source : 65c167644096a1b72fe5dfbb55837842f41377bb
2018-05-02 18:20:10 -07:00
Doug Thayer ad1ca0fa4e Bug 1265824 - Remove the unsed member in GLTextureSource r=mattwoodrow
The "mExternallyOwned" is used for gralloc buffer. We don't use the gralloc buffer now.

MozReview-Commit-ID: 7Gurpa3kdp0

--HG--
extra : rebase_source : 5c0bf4facba5ed2cc8772df78bb702965e77a4ab
2018-05-02 18:19:54 -07:00
Brian Hackett 11d1005390 Bug 1465466 Part 2 - Synchronously composite into a graphics shmem buffer when recording/replaying, r=nical.
--HG--
extra : rebase_source : a89c5fd8f87f82e5a93f9b3311617317a67b3333
2018-07-22 12:02:26 +00:00
Jeff Muizelaar 940b6557ee Bug 1477400. Update webrender to commit c2c5aaebdd6df22ce13941c1a4b16ef47eaa9f7b 2018-07-21 12:54:34 -04:00
Cosmin Sabou 0676c53741 Merge mozilla-central to mozilla-inbound. a=merge 2018-07-21 00:51:00 +03:00
Cosmin Sabou 0d3874d7d6 Merge mozilla-inbound to mozilla-central. a=merge 2018-07-21 00:42:01 +03:00
Cosmin Sabou 1b2d97930a Merge autoland to mozilla-central. a=merge 2018-07-21 00:39:51 +03:00
Ryan VanderMeulen 7c56172d60 Backed out 5 changesets (bug 1465616) for causing Fennec scrolling regressions.
Backed out changeset 403ba3d9539a (bug 1465616)
Backed out changeset ea79ddd406f4 (bug 1465616)
Backed out changeset 559c8997eb53 (bug 1465616)
Backed out changeset 3f5ca59998bf (bug 1465616)
Backed out changeset 9e48a27950be (bug 1465616)

--HG--
extra : amend_source : 8cc378d26e9fea0ed6277b69f227191e849001d8
2018-07-20 14:40:51 -04:00
Nicolas Silva 6d4507f6ff Bug 1455422 - Implement the new blob image rasterization hooks. r=kats, gankro 2018-07-19 16:33:05 -04:00
Jeff Muizelaar 8ebc4e4580 Bug 1476636. Update webrender to commit 9f21ee5dba0694818a1e2e46d95734ede281447c 2018-07-20 17:24:47 -04:00
Miko Mynttinen c9202e2933 Bug 1477260 - Clip the rect in Matrix4x4TypedFlagged::TransformAndClipBounds, when transform is an identity matrix r=bas
MozReview-Commit-ID: 3a8vnl3K87n

--HG--
extra : rebase_source : b4bdd2b14e10becee20007e453497e9d7a204097
2018-07-20 17:28:37 +02:00