Commit graph

108 commits

Author SHA1 Message Date
Michael Froman
c0a8a08f40 Bug 1500454 - remove PVideoDecoder, etc from dom namespace. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D15156

--HG--
extra : moz-landing-system : lando
2018-12-21 22:34:57 +00:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
sotaro
799cbbdddb Bug 1494538 - Fallback to sofware when GPU process is disabled on Windows r=mattwoodrow 2018-10-01 12:09:18 +09:00
Kartikaya Gupta
395eaf8c66 Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow
The new struct is in LayersTypes.h, all the rest of the changes are just
replacing existing uint64_t instances with the new LayersId struct.

Note that there is one functional change, in
CompositorBridgeParent::DeallocPWebRenderBridgeParent, where we now
correctly convert the PipelineId to a LayersId before using it to index
into sIndirectLayerTrees, whereas before we were incorrectly just using
the mHandle part of the PipelineId.

MozReview-Commit-ID: GFHZSZiwMrP

--HG--
extra : rebase_source : d2b274f63aaee2ee9bba030297e0a37a19af0d6c
2018-03-24 19:06:01 -04:00
Kartikaya Gupta
3565e0cee9 Bug 1441916 - Modify the static GetAPZCTreeManager to return an IAPZCTreeManager. r=botond
This static function has only two call sites. One (in GPUProcessManager)
is unused, so it can be removed. The other (in
InProcessCompositorSession) takes the returned APZCTreeManager and
exposes it as an IAPZCTreeManager. Instead of doing this, we can simply
expose it as an IAPZCTreeManager from CompositorBridgeParent itself, to
reduce the number of places that can potentially grab a handle to the
APZCTreeManager.

MozReview-Commit-ID: BjLf6GSsnKz

--HG--
extra : rebase_source : ab24190a12053db06192fab4d1b7a932fe2d1724
2018-03-01 23:00:41 -05:00
Julian Seward
5c81253f01 Bug 1415494 - Uninitialised value use in mozilla::layers::CompositorManagerChild::IsInitialized. r=aosmond.
--HG--
extra : rebase_source : 5879cf17e81c25a5fe343c834e5c1eeb6693a0cf
2017-11-16 11:31:51 +01:00
Daniel Holbert
126bd9e1a4 Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: 77D61xpSmIl

--HG--
extra : rebase_source : c6162fa3cf539a07177a19838324bf368faa162b
2017-10-27 16:10:06 -07:00
sotaro
11c145a7c1 Bug 1394338 - Add WebRender error handling to RendererOGL r=nical 2017-08-30 09:10:22 +09:00
Ryan Hunt
e13ee71316 Bug 1377950 - Stub in a function for resetting all compositors with GPUProcessManager. r=jrmuizel
MozReview-Commit-ID: HsKCGli3TOM

--HG--
extra : rebase_source : 60a06588747feeb6d3ed0543c38715adea89957d
2017-08-11 02:51:23 -05:00
sotaro
a773ee4276 Bug 1354411 - Rebuild CompositorSessions if WebRender is disabled r=kats
When WebRender creation is failed, WebRender is disabled in gecko. There is a case that WebRenderBridgeParents exist when WebRender is disabled. To handle this, gecko needs to rebuild all CompositorSessions.

There is also a problem related to gfxVars::UseWebRender on compositor thread. If e10s is enabled, but no-gpu process(default on linux and mac), gfxVars::UseWebRender change is soon notified by compositor thread tasks. If WebRender creation failure happens at 2nd WebRender creation, several WebRenderBridgeParents for 1st WebRender could exist. IPC messages from WebRenderLayerManager are normally async, then there is a chance that the WebRenderBridgeParents receive the messages after the gfxVars::UseWebRender change. Further the gfxVars::UseWebRender change in content process could be delayed than WebRenderBridgeParents, then content process does not have a way to stop sending PWebRenderBridge IPC until the change of gfxVars::UseWebRender is received. WebRenderBridgeParent related tasks handle the message, but some tasks are done based on gfxVars::UseWebRender. At this time, gfxVars::UseWebRender returned false on compositor thread, then it cause unexpected result for WebRenderBridgeParent and WebRender. To addres this inconsistent situation, WebRenderBridgeParent related tasks on compositor thread stop to use gfxVars::UseWebRender.
2017-08-04 14:36:41 +09:00
Andrew Osmond
69da7c2120 Bug 1381095 - Fallback correctly to non-WebRender if the GPU process/WebRender are disabled when creating a remote compositor session. r=dvander 2017-07-20 09:20:22 -04:00
David Anderson
dd94534a4f Disable Advanced Layers when the sanity test fails. (bug 1377866 part 3, r=mchang) 2017-07-10 19:30:52 -07:00
Masayuki Nakano
d6e921676c Bug 1377672 - part3: IMEStateManager::NotifyIME() should ignore notifications and requests which comes from unexpected process r=m_kato,smaug
IME should receive notifications and requests only from proper process.  E.g., IME shouldn't commit composition by a request which came from previous focused process.

This patch makes that IMEStateManager::NotifyIME() takes pointer to TabParent optionally.  If the request or notification came from remote process, it should be non-nullptr.  Then, this makes it ignore notifications and requests from unexpected process.

Note that this patch also touches some gfx headers because they use |ipc::| but compiler is confused at the ambiguousness between |mozilla::ipc::| and |mozilla::dom::ipc::|.

Finally, this patch changes the NS_ASSERTION in IMEHandler::OnDestroyWindow() to MOZ_ASSERT because the orange caused by the NS_ASSERTION was not realized since there was already an intermittent orange bug caused by different NS_ASSERTION.

MozReview-Commit-ID: 9CgKXQRJWmN

--HG--
extra : source : f3b5711908870c5e0e852a399a07e0ae721a12f1
2017-07-06 00:47:40 +09:00
Andrew Osmond
e3fd385077 Bug 1376590 - When disabling the GPU process, ensure its dependencies are initialized for the same process. r=dvander 2017-06-28 11:31:42 -07:00
domfarolino@gmail.com
d4253766db Bug 1274663 - Expose API to trigger device reset. r=dvander
--HG--
extra : rebase_source : 5a9d2757f8e7378083ce42131d5a250027569814
2017-06-15 14:34:00 -04:00
Andrew Osmond
27eaaaed2f Bug 1365927 - Part 4. Replace PCompositorBridge integration hooks with PCompositorManager. r=dvander 2017-06-14 11:39:59 -04:00
Wes Kocher
bcf1a1c32e Backed out 6 changesets (bug 1365927) for build failures in ipc_message_utils.h a=backout CLOSED TREE
Backed out changeset 11fc0da380a2 (bug 1365927)
Backed out changeset 9f1dee5a6c42 (bug 1365927)
Backed out changeset f4954c824f5c (bug 1365927)
Backed out changeset 144ac6cc76f8 (bug 1365927)
Backed out changeset 961e782cf7c7 (bug 1365927)
Backed out changeset 12a093fb86a4 (bug 1365927)

MozReview-Commit-ID: 6CDxqOJzMjE
2017-06-13 12:45:03 -07:00
Andrew Osmond
c17a8c1ea1 Bug 1365927 - Part 4. Replace PCompositorBridge integration hooks with PCompositorManager. r=dvander 2017-06-13 15:19:36 -04:00
sotaro
1885be3a3f Bug 1366915 part 2 - Make CompositorBridgeChild allocate pipeline id for async image pipeline r=nical 2017-05-30 09:59:44 +09:00
David Anderson
42e57ec6d3 Remove old device reset and compositor swapping code. (bug 1363126 part 3, r=rhunt) 2017-05-11 22:44:28 -07:00
David Anderson
27df5ad5bd Handle remote device resets by recreating the entire rendering stack. (bug 1363126 part 1, r=rhunt, ipc_r=billm) 2017-05-11 22:44:27 -07:00
Randall Barker
a606cd8b60 Bug 1335895 - Android GeckoView Dynamic Toolbar Version 3 r=botond,dvander,jchen,kats
This version of the Dynamic Toolbar moves the animation of the toolbar
from the Android UI thread to the compositor thread. All animation for
showing and hiding the toolbar are done with the compositor and a static
snapshot of the real toolbar.

MozReview-Commit-ID: BCe8zpbkWQt
2017-04-20 15:15:14 -07:00
Kartikaya Gupta
1e8738cabb Merge m-c to graphics
MozReview-Commit-ID: 7iqIrSl2VpU
2017-04-15 17:05:27 -04:00
sotaro
43525e6cb0 Bug 1356190 - Fix GetNextExternalImageId() r=jrmuizel 2017-04-14 17:06:09 +09:00
Jay Harris
6ce213e795 Bug 1338011 - Adds an intermediate fallback when the GPU process crashes - r=gerald
MozReview-Commit-ID: 9x1ckaWagcE

--HG--
extra : rebase_source : 2962f8572dd36b2dfecb7bb30ba515fc7c6323c9
2017-04-15 09:34:01 +12:00
Kartikaya Gupta
1bfa62105b Bug 1350638 - Remove sync GetCompositorOptions call in TabChild::InitRenderingState. r=dvander
The goal of this patch is to remove the call to the sync IPC
GetCompositorOptions message from TabChild::InitRenderingState. In order
to this, we have InitRenderingState take the CompositorOptions as an
argument instead, and propagate that backwards through the call sites.
Eventually we can propagate it back to a set of already-sync IPC
messages in PCompositorBridge that are used during layers id
registration (NotifyChildCreated, NotifyChildRecreated, etc.). Therefore
this patch effectively piggybacks the CompositorOptions sync IPC onto
these pre-existing sync IPC messages.

The one exception is when we propagate it back to the AdoptChild call.
If this message were sync we could just use it like the others and have
it return a CompositorOptions. However, it is async, so instead we add
another call to GetCompositorOptions here temporarily. This will be
removed in the next patch.

MozReview-Commit-ID: AtdYOuXmHu4

--HG--
extra : rebase_source : 5b80831cf84d3a4b57b2214a12ccf8a896cfa3a7
2017-04-09 17:30:27 -04:00
David Anderson
0f3b97ed9c When using the GPU process, combine layer ownership and window mapping into a single IPC message. (bug 1350660 part 1, r=rhunt, r=billm) 2017-04-03 15:13:37 -07:00
vincentliu
67a283ef9a Bug 1314543 - Make EnsureGPUReady() returns bool to make sure GPU process is readay. r=dvander 2017-03-30 09:23:24 +08:00
David Anderson
23572be8d6 Add memory reporting message support to PGPU. (bug 1321492 part 6, r=rhunt, r=erahm) 2017-01-26 16:35:54 -08:00
Randall Barker
f0c7845480 Bug 1328752 - part 1, Add UiCompositorController r=dvander 2017-01-20 11:01:29 -08:00
Kartikaya Gupta
6c437b31b9 Bug 1330037 - Introduce a CompositorOptions struct that holds options on a per-compositor basis. r=dvander
MozReview-Commit-ID: Kja7zpCDmp3

--HG--
extra : rebase_source : 001c841957ca7abe0ae3b3793b674e1986e4575c
2017-01-12 17:29:41 -05:00
David Anderson
2c5e03e62e Don't reset devices for each tab when the compositor resets. (bug 1316788, r=rhunt) 2016-11-14 11:47:01 -08:00
Ryan Hunt
13190be4e0 Bug 1316476 - Limit the amount of device resets we allow with the gpu process. r=dvander
--HG--
extra : rebase_source : 7d1b74ad7573b91ea28e9cf015fc6d24c104f646
2016-11-09 20:57:04 -06:00
Carsten "Tomcat" Book
846adaea6c merge mozilla-inbound to mozilla-central a=merge 2016-11-09 16:38:04 +01:00
Matt Woodrow
f880884b57 Bug 1315510 - Automatically recreate VideoDecoderManager if the GPU process crashes. r=dvander 2016-11-08 15:21:35 +13:00
Kartikaya Gupta
c19a47d368 Bug 1315974 - Have the CompositorBridgeChild take a LayerManager instead of a ClientLayerManager. r=dvander
MozReview-Commit-ID: CPTCQgIl5ad

--HG--
extra : rebase_source : dabc583be1de1700c35444e517070455349ea9b8
2016-11-08 10:42:19 -05:00
George Wright
51a59d1d02 Bug 1314426 - Add a method to nsIDOMWindowUtils to terminate the GPU process and get the GPU process pid r=smaug,dvander 2016-11-07 14:22:48 -05:00
Matt Woodrow
9e56f22190 Bug 1314186 - Resync LayerTreeId mappings to the GPU process if it restarts. r=dvander 2016-11-03 09:55:07 +13:00
Ryan Hunt
8ee59ed7da Bug 1313199 - Sync a device reset from GPU process to main process. r=dvander
--HG--
extra : rebase_source : 4daf0427fee802cd986d7439c0e27eddbf671311
2016-11-06 13:01:52 -06:00
Phil Ringnalda
27a5b8d2ae Backed out changeset d537051ade6a (bug 1315510) for nsTArray_base leaks and a fondess for crashing
CLOSED TREE

MozReview-Commit-ID: KD3jAkCg0O7
2016-11-07 22:18:21 -08:00
Matt Woodrow
7afb98ff2b Bug 1315510 - Automatically recreate VideoDecoderManager if the GPU process crashes. r=dvander 2016-11-08 15:21:35 +13:00
David Anderson
ec2b48ff8b Send accumulated GPU process telemetry to the UI process. (bug 1304494 part 3, r=gfritzsche) 2016-10-30 22:35:57 -07:00
Kartikaya Gupta
e6f4f137d8 Bug 1275314 - Allow flushing in-progress checkerboard reports in the GPU process as well. r=dvander
MozReview-Commit-ID: CXLzkiloHW
2016-10-15 08:45:02 -04:00
Wes Kocher
aeac5ac648 Backed out changeset 73a60f9b3c2f (bug 1275314) for GTest bustage CLOSED TREE
--HG--
extra : histedit_source : 5498a231b3e43706e93835242d246489697dcd9c%2C1ba18b3300a0dfd8b03881bf431334be1f866eb8
2016-10-14 14:52:44 -07:00
Kartikaya Gupta
b5ab2ae9ac Bug 1275314 - Allow flushing in-progress checkerboard reports in the GPU process as well. r=dvander
MozReview-Commit-ID: 3EPv8hh7Zxh
2016-10-14 15:38:01 -04:00
David Anderson
9a371ddb86 Add a testing pref to let the GPU process restart multiple times. (bug 1305941, r=mattwoodrow) 2016-09-30 01:21:21 -07:00
Sebastian Hengst
b389a03d86 Backed out changeset 690c50d5a4ca (bug 1305941) for build bustage. r=backout on a CLOSED TREE 2016-09-28 22:54:03 +02:00
David Anderson
4ca1294eed Add a testing pref to let the GPU process restart multiple times. (bug 1305941, r=mattwoodrow) 2016-09-28 13:23:48 -07:00
Matt Woodrow
7756c8a512 Bug 1288618 - Part 13: Add VideoDecoderManager protocol. r=dvander 2016-09-21 21:25:33 +12:00
Carsten "Tomcat" Book
f918af64da Backed out 16 changesets (bug 1288618) for bustage on a CLOSED TREE
Backed out changeset 06187d250f7a (bug 1288618)
Backed out changeset 2a47f8ea1d89 (bug 1288618)
Backed out changeset e179c8e8265d (bug 1288618)
Backed out changeset 25396a1af922 (bug 1288618)
Backed out changeset e98f835c6ee5 (bug 1288618)
Backed out changeset 24df0e89b273 (bug 1288618)
Backed out changeset f8bbdabdb6da (bug 1288618)
Backed out changeset 8b0adeab93df (bug 1288618)
Backed out changeset 95f23366de82 (bug 1288618)
Backed out changeset 63a9c689e1d5 (bug 1288618)
Backed out changeset 8f67443dccb8 (bug 1288618)
Backed out changeset 4e7fe69d5f45 (bug 1288618)
Backed out changeset 53b113acee42 (bug 1288618)
Backed out changeset 2583ae4e2e3b (bug 1288618)
Backed out changeset 75a61d0e71b7 (bug 1288618)
Backed out changeset da740b4fd484 (bug 1288618)
2016-09-21 08:44:11 +02:00