Commit Graph

559 Commits

Author SHA1 Message Date
FSeita
f3d5101a06 Bug 1376333 - Improve naming of accumulation types & variables r=Dexter
MozReview-Commit-ID: F9w7CLUOP6r

--HG--
extra : rebase_source : 5330f9cb47145f5867a92277f4fa6c610e8eed56
2017-09-13 11:20:36 +02:00
Sebastian Hengst
006a58c35d merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 2iVDKexRjxu
2017-09-13 23:58:43 +02:00
Andrew Osmond
85db0466a2 Bug 1399453 - Temporarily annotate crash reports with compositor thread owners. r=dvander
From the crashes associated with bug 1389021, we know that some
compositor thread IPDL owners are not being cleaned up properly. We do
not know which protocols are causing the problem, so we temporarily will
annotate the logs with the ownership status. This should be limited to
under a dozen instances of the protocols.

This change will be backed out after a few builds are produced with it
and we see the first crash reports with the relevant data.
2017-09-13 11:16:05 -04:00
Jean-Yves Avenard
66188b449c Bug 1352016 - P3. Check if NV12 rendering is usable when allocating D3D11 surface. r=mattwoodrow
MozReview-Commit-ID: EgA6lEeIyBj

--HG--
extra : rebase_source : cb3c4e5e864085fe76514096d6d9aa9b49d0a334
2017-09-10 17:54:31 +02:00
Wes Kocher
7a8b3e02a0 Backed out 4 changesets (bug 1352016) for gfx crashes in test_TelemetryEnvironment.js a=backout CLOSED TREE
Backed out changeset dd7342e18e67 (bug 1352016)
Backed out changeset ebc7c92e8dc0 (bug 1352016)
Backed out changeset e79e512f803f (bug 1352016)
Backed out changeset 9eed6a69298c (bug 1352016)

MozReview-Commit-ID: CYDuqu0Hmtb
2017-09-12 17:09:40 -07:00
Jean-Yves Avenard
cf367ef0c5 Bug 1352016 - P2. Check if NV12 rendering is usable when allocating D3D11 surface. r=mattwoodrow
MozReview-Commit-ID: EgA6lEeIyBj

--HG--
extra : rebase_source : 7b8a8f1669d268a5e1512320b891b35722fe4c14
2017-09-10 17:54:31 +02:00
Sotaro Ikeda
354fb7d239 Bug 1390138 - Add render() error handling to gecko. r=jrmuizel 2017-09-05 15:18:15 -04:00
sotaro
11c145a7c1 Bug 1394338 - Add WebRender error handling to RendererOGL r=nical 2017-08-30 09:10:22 +09:00
Gabriele Svelto
7387dc791b Bug 1393435 - Remove unnecessary inclusions of the crash reporter header files; r=mconley
MozReview-Commit-ID: 3tdFDrTYql8

--HG--
extra : rebase_source : cc862688f19afb8a5cf8c7cf915a5d3d45f041b5
2017-08-07 14:10:02 +02:00
sotaro
d89ca5a049 Bug 1392556 - Initialize DWriteFactory in GPUParent::RecvInit() r=jrmuizel 2017-08-24 10:47:30 +09:00
Bevis Tseng
0835c5a619 Bug 1392213 - Label nsIThread::AsyncShutdown. r=billm
--HG--
extra : rebase_source : eb6b01ee6bce442108e6126b2fa2e962df57cad5
2017-08-21 17:54:32 +08:00
Michael Layzell
5d81a3b535 Bug 1380081 - Part 9: Transmit BHR Hangs from the Content and GPU process to the parent process, r=froydnj
BHRTelemetryService only runs in the parent process (and we can only submit
pings from there), so we need to send the data which we collect in the GPU and
Content processes over IPC to the parent process.

MozReview-Commit-ID: 8B5uZKbjNbU
2017-08-15 16:35:42 -04: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
Sebastian Hengst
41113ae3fc Backed out changeset 0b6c4c95323e (bug 1380081) 2017-08-11 09:28:16 +02:00
Michael Layzell
9175dce461 Bug 1380081 - Part 9: Transmit BHR Hangs from the Content and GPU process to the parent process, r=froydnj
BHRTelemetryService only runs in the parent process (and we can only submit
pings from there), so we need to send the data which we collect in the GPU and
Content processes over IPC to the parent process.

MozReview-Commit-ID: 8B5uZKbjNbU
2017-08-10 15:55:12 -04:00
Sebastian Hengst
765cc1b925 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: JhesEg4Bxjy
2017-08-04 19:28:27 +02: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
Kartikaya Gupta
f459d3dc28 Bug 1387046 - Add missing field to operator== in CompositorOptions. r=dvander
MozReview-Commit-ID: 8sZgFKQsnun

--HG--
extra : rebase_source : 58905ee8f66d71cb09a930edbaebd7f719c68b96
2017-08-03 09:33:42 -04:00
Michael Smith
6fcebfbe5b Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander
To make the HeadlessCompositorWidget work under Windows as well as Linux, I had
to change the way that I hooked it into the existing CompositorWidget system.
Under GTK, the CompositorWidgetInitData and CompositorWidgetDelegate types
provided the information needed by the headless compositor widget already (the
widget client size). On Windows, however, the definitions of these types
differ, and the client size information is simply retrieved from the platform
APIs when needed.

After this patch, CompositorWidgetDelegate is renamed to
PlatformCompositorWidgetDelegate, and a new base class called
CompositorWidgetDelegate is added with "AsPlatformSpecificDelegate()" and
"AsHeadlessCompositorWidget()" methods. In non-headless mode, widgets use
AsPlatformSpecificDelegate() to access the Windows- and GTK-specific delegate
APIs. In headless mode, AsHeadlessCompositorWidget() is used to access the
singular CompositorWidget implementation for headless. Meanwhile, the
CompositorWidgetInitData IPDL type is made into a union which always contains a
headless-specific HeadlessCompositorWidgetInitData struct and under GTK and
Windows also contains an {X11,Win}CompositorWidgetInitData struct.

This also includes a small patch to ensure that the GPU process and
hardware-accelerated compositing are always disabled under headless mode. These
features weren't activated by default in the Linux environments I tested in, but
did end up activating (and then promptly crashing Firefox) when I tested on
Windows.

MozReview-Commit-ID: CocPoHBDV7H

--HG--
extra : rebase_source : 4581fa63aa3a9f32a8dc2672015a35b9be01b20f
2017-07-06 17:45:34 -07:00
Sylvestre Ledru
7c0ae251cd Bug 1381253 - Remove redundant control flow declarations rs=ehsan
MozReview-Commit-ID: FFxP4aMCbOL

--HG--
extra : amend_source : 3aec108430b11048f47ffe19d5da7ac5034770a9
2017-07-15 19:03:04 +02: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
Kevin Chen
91dc0db35c Bug 1364563 - Add a path for content process only device reset. r=dvander 2017-07-18 23:09:00 -04:00
Ehsan Akhgari
6bc10c105a Backout changeset bc5d9e5f1c02 (bug 1364563) because of build failures
This reverts commit a5224fd3910ee5116669728fcd5b154e051371fd.
2017-07-19 00:27:36 -04:00
Kevin Chen
563c00da4d Bug 1364563 - Add a path for content process only device reset. r=dvander 2017-07-17 00:13:00 -04:00
Dominic Farolino
c3f7031cd8 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
7d1a4b1e31 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
31311070d9 merge mozilla-inbound to mozilla-central a=merge 2017-07-11 12:51:59 +02:00
David Anderson
399881cdfc Report when constant buffer offsetting doesn't work. (bug 1379413 part 2, r=bas)
--HG--
extra : rebase_source : 881471eca6ae17e4b9810bc34b609d58c6eb0b3d
2017-07-11 00:13:26 -07: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
Kevin Chen
863fd1589a Bug 1364563 - Update render mode and fallback to software solution when GPU process is killed; r=dvander
MozReview-Commit-ID: 5Sewt2wtku8

--HG--
extra : rebase_source : 94b1743f4e42d2a4526521f61fea9fe3b89a76ec
2017-06-29 00:27:03 +08: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
David Anderson
7eedde148d 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
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
Bill McCloskey
f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
David Anderson
ea272c6f03 Add memory reporting. (bug 1365879 part 26, r=mattwoodrow) 2017-06-23 14:23:14 -07:00
David Anderson
7df9b05034 Add MLGPU feature bits and compositor initialization. (bug 1365879 part 21, r=mattwoodrow) 2017-06-23 14:23:12 -07:00
Andrew Osmond
ee57a1a455 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
Carsten "Tomcat" Book
1f871b61e4 Backed out changeset 9d0048e04446 (bug 1365879) 2017-06-23 12:15:32 +02:00
Carsten "Tomcat" Book
86edec6643 Backed out changeset 20203c94ef23 (bug 1365879) 2017-06-23 12:15:21 +02:00
Carsten "Tomcat" Book
5f51e5596e merge mozilla-inbound to mozilla-central a=merge 2017-06-23 11:28:19 +02:00
David Anderson
5e5166d309 Add memory reporting. (bug 1365879 part 26, r=mattwoodrow)
--HG--
extra : rebase_source : a19fc78fb107d6899244632d18cdb654a4bae8e9
2017-06-22 21:12:21 -07:00
David Anderson
0505938414 Add MLGPU feature bits and compositor initialization. (bug 1365879 part 21, r=mattwoodrow)
--HG--
extra : rebase_source : 3d8d1a9619d997a2de9eea4e734a0457cd326e91
2017-06-22 21:12:19 -07:00
domfarolino@gmail.com
af4e81298b Bug 1373088 - Don't use a timeout for compositor process startup when debugging child process. r=milan
--HG--
extra : rebase_source : 39e5c564fc7b0c2f7e94535a9c7b17bfd03914e3
2017-06-19 13:12:00 -04:00
Milan Sreckovic
012064db78 Bug 1337063: Transfer child's initial ContentDeviceData with SendSetXPCOMProcessAttributes - r=dvander
MozReview-Commit-ID: 8Er44xSDHhb

--HG--
extra : rebase_source : 464a09246ca095ba363f988fb9749680d8518926
2017-06-22 13:45:48 -04:00
Chris H-C
1e2b2d46b4 bug 1369041 - Allow child processes to discard data when overwhelmed r=bsmedberg,gfritzsche f?bsmedberg
It is possible in extreme cases that the Telemetry IPC Accumulator might be
starved long enough that it cannot drain its stored accumulations for a while.

Once we hit 5x the high water mark, start discarding data.

Count each piece and type of discarded data and report it via a custom IPC
message.

MozReview-Commit-ID: JayRpa5QPec

--HG--
extra : rebase_source : eded449c932ced64bdb64e9da1a989407f4f2daf
2017-06-09 09:53:42 -04: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
Andrew Osmond
a3d11c8688 Bug 1365927 - Part 1. Add missing headers and other build housekeeping. 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