Commit Graph

178 Commits

Author SHA1 Message Date
sotaro
eb2d5e90e3 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
Sylvestre Ledru
576cac5ec7 Bug 1381253 - Remove redundant control flow declarations rs=ehsan
MozReview-Commit-ID: FFxP4aMCbOL
2017-07-15 19:03:04 +02:00
Andrew Osmond
68795a62a3 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
Dominic Farolino
a0f36b1102 Bug 1379813 - Annotate crash reports with the number of times the GPU process has been launched. r=dvander 2017-07-13 13:27:00 -04:00
Andrew Osmond
bade23bdd5 Bug 1377869 - Ensure that CompositorManagerChild will be reinitialized if the GPU process reuses its PID. r=dvander 2017-07-15 09:13:18 -04:00
Carsten "Tomcat" Book
02761c38b4 merge mozilla-inbound to mozilla-central a=merge 2017-07-11 12:51:59 +02:00
David Anderson
839c7cbab4 Disable Advanced Layers when the sanity test fails. (bug 1377866 part 3, r=mchang) 2017-07-10 19:30:52 -07:00
Kevin Chen
b278bf6d41 Bug 1364563 - Update render mode and fallback to software solution when GPU process is killed; r=dvander
MozReview-Commit-ID: 5Sewt2wtku8
2017-06-29 00:27:03 +08:00
David Anderson
9de860a132 Fix race where in-process GPU endpoints could have the wrong PID. (bug 1374258, r=rhunt) 2017-06-29 11:35:45 -07:00
Andrew Osmond
bc7f3702e5 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
Andrew Osmond
b0af6709d5 Bug 1374278 - Fix a race condition between GPUChild and CompositorManagerChild when the GPU process crashes. r=dvander 2017-06-23 16:12:35 -04:00
Sebastian Hengst
0a0817457e Backed out changeset 866d59780f6d (bug 1373540) for mass test failures on Windows debug (tests terminated with RunWatchdog). r=backout 2017-06-18 01:32:24 +02:00
Andrew Osmond
cc3de1d546 Bug 1373540 - Fix switchover from the GPU process compositor to the same process compositor. r=dvander 2017-06-17 17:52:34 -04:00
domfarolino@gmail.com
a74b51da54 Bug 1274663 - Expose API to trigger device reset. r=dvander 2017-06-15 14:34:00 -04:00
Andrew Osmond
66e7a78a27 Bug 1365927 - Part 4. Replace PCompositorBridge integration hooks with PCompositorManager. r=dvander 2017-06-14 11:39:59 -04:00
Wes Kocher
7d69f7ff18 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
f6a5543ec0 Bug 1365927 - Part 4. Replace PCompositorBridge integration hooks with PCompositorManager. r=dvander 2017-06-13 15:19:36 -04:00
sotaro
2e1dd2b3e1 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
0e9068641f Remove old device reset and compositor swapping code. (bug 1363126 part 3, r=rhunt) 2017-05-11 22:44:28 -07:00
David Anderson
97fbf5b1fc 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
c955f482b1 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
a1df68e319 Merge m-c to graphics
MozReview-Commit-ID: 7iqIrSl2VpU
2017-04-15 17:05:27 -04:00
sotaro
111d213410 Bug 1356190 - Fix GetNextExternalImageId() r=jrmuizel 2017-04-14 17:06:09 +09:00
Jay Harris
86ba6810a2 Bug 1338011 - Adds some telemetry probes - f=bsmedberg r=gerald
MozReview-Commit-ID: BmwEjBiCBNo
2017-04-15 09:36:42 +12:00
Jay Harris
315fc078db Bug 1338011 - Adds an intermediate fallback when the GPU process crashes - r=gerald
MozReview-Commit-ID: 9x1ckaWagcE
2017-04-15 09:34:01 +12:00
Kartikaya Gupta
1bcda612ce 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
2017-04-09 17:30:27 -04:00
David Anderson
012aa74dea Don't synchronously send the initial layer tree mapping list to the GPU process. (bug 1350660 part 2, r=rhunt) 2017-04-03 15:13:38 -07:00
David Anderson
d4e994a584 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
David Anderson
5bb767a38a Add crash reporter annotations for the GPU process status. (bug 1343650, r=billm) 2017-04-03 15:11:27 -07:00
vincentliu
86bec960b0 Bug 1314543 - Make EnsureGPUReady() returns bool to make sure GPU process is readay. r=dvander 2017-03-30 09:23:24 +08:00
Daniel Holbert
bee7fa0be8 Bug 1339609: Add #include for gfxPrefs.h to all source code that calls gfxPrefs APIs. r=jgilbert
MozReview-Commit-ID: GxWehmDYB3t
2017-02-14 14:01:59 -08:00
Ryan Hunt
d41d62b398 Bug 1337487 - Disable WebRender on windows when the GPU process is disabled r=kats 2017-02-09 00:33:54 -06:00
David Anderson
3d416e077a 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
1df3957d1f Bug 1328752 - part 1, Add UiCompositorController r=dvander 2017-01-20 11:01:29 -08:00
David Anderson
7c7185f15c Rename the GPU process prefs. (bug 1330554, r=milan) 2017-01-16 23:51:24 -08:00
Kartikaya Gupta
16afba45ec Bug 1330037 - Provide the CompositorBridgeParent with a CompositorOptions during construction that it holds for eternity. r=dvander
MozReview-Commit-ID: JnvNHUCF0AX
2017-01-12 17:29:41 -05:00
Kartikaya Gupta
e3df5ca2fe Bug 1330037 - Introduce a CompositorOptions struct that holds options on a per-compositor basis. r=dvander
MozReview-Commit-ID: Kja7zpCDmp3
2017-01-12 17:29:41 -05:00
Jan Beich
2dbdd746ef Bug 1317757 - Explicitly include header for SprintfLiteral(). r=milan
MozReview-Commit-ID: K8O6AMKPGzN
2016-11-15 18:58:29 +00:00
Ryan Hunt
c740ad3b23 Bug 1317512 - Prevent overflow when using device reset prefs. r=milan 2016-11-14 17:27:14 -06:00
Carsten "Tomcat" Book
c03117a948 merge mozilla-inbound to mozilla-central a=merge 2016-11-15 12:26:41 +01:00
Milan Sreckovic
554d234bb6 Bug 1316988: Change the wording of the error message. r=rhunt
MozReview-Commit-ID: GB1sF1APkBJ
2016-11-11 17:51:25 -05:00
David Anderson
0757ad84ef 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
8d2b5ce02d Bug 1316476 - Limit the amount of device resets we allow with the gpu process. r=dvander 2016-11-09 20:57:04 -06:00
Carsten "Tomcat" Book
a3d6de70fa merge mozilla-inbound to mozilla-central a=merge 2016-11-09 16:38:04 +01:00
Matt Woodrow
bff0924458 Bug 1315510 - Automatically recreate VideoDecoderManager if the GPU process crashes. r=dvander 2016-11-08 15:21:35 +13:00
Kartikaya Gupta
281dba6afe Bug 1315974 - Have the CompositorBridgeChild take a LayerManager instead of a ClientLayerManager. r=dvander
MozReview-Commit-ID: CPTCQgIl5ad
2016-11-08 10:42:19 -05:00
George Wright
afd7a124a4 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
David Anderson
1cfa631b64 Fix shutdown crash in VsyncBridgeChild when the GPU process is enabled. (bug 1314816, r=mattwoodrow) 2016-11-02 16:45:38 -07:00
Matt Woodrow
2cdb3a11b4 Bug 1314186 - Resync LayerTreeId mappings to the GPU process if it restarts. r=dvander 2016-11-03 09:55:07 +13:00
Ryan Hunt
7b7769e60a Bug 1313199 - Sync a device reset from GPU process to main process. r=dvander 2016-11-06 13:01:52 -06:00