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

590 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 137e10a1bf Bug 1435618: followup: Add missing include to unbust windows. r=me
On a CLOSED TREE of course.

MozReview-Commit-ID: I5KQR0QUbli
2018-02-05 01:10:33 +01:00
Emilio Cobos Álvarez 50e8d02898 Bug 1435618: Don't leak a reference to the gfx info. r=kats
GetGfxInfo returns an already_AddRefed, you can't just forget about its return
value.

MozReview-Commit-ID: Ia6pyJN9njf

--HG--
extra : rebase_source : 73f7f1a6a8093d6f6555fa11f784bf912e1ab616
2018-02-04 17:40:40 +01:00
sotaro 962b688393 Bug 1435200 - Ensure to initialize GfxInfo on main thread r=nical 2018-02-03 16:25:53 +09:00
Andrew Osmond 8a37b15344 Bug 1389759 - Fix GPUProcessManager::EnsureGPUReady how did not guarantee the GPU process state is consistent. r=rhunt
GPUProcessManager::EnsureGPUReady promises that its state will be
consistent after returning. Either the GPU process is ready to be used,
or there is no GPU process at all. In the case it is attempted to
synchronously initialize the GPUChild with the device data and failed,
it broke that promise. This is because the GPU process was still setup,
but we weren't going to use it. This became a problem with the
CompositorManagerChild because it uses the process token as an
identifier, and it should have been reset to 0 in this case.

Now if GPUChild::EnsureGPUReady (the initialization step) fails, we
disable the GPU process entirely. This ensures our internal state is
consistent and the callers expectations are upheld.
2018-01-30 12:58:57 -05:00
Nika Layzell 793a39c213 Bug 1424766 - Simplify `HangStack` and `HangDetails` by implementing using ipdl structs and unions, r=froydnj
MozReview-Commit-ID: qlBUnvYams
2018-01-16 14:07:38 -05:00
Andrew McCreight ab7fa64021 Bug 1410209, part 4 - Add names to some IPC runnables. r=kanru
This patch requires that each instance of IPC's RunnableFunction is
passed in a name, like the non-IPC RunnableFunction.

MozReview-Commit-ID: Atu1W3Rl66S

--HG--
extra : rebase_source : f932d7597a26a3f0c4246b3a95df638860d3d32d
2017-10-27 13:39:28 -07:00
Milan Sreckovic 099cfc4242 Bug 1423570: Use BaseRect access methods instead of member variables in gfx/ r=bas.schouten
MozReview-Commit-ID: ZGySgc9oP3

--HG--
extra : rebase_source : 23aadc10e9885002290155684b2c495780d979ce
2017-12-19 15:48:39 -05:00
Kartikaya Gupta 9154159eef Bug 1419834 - Add hit-testing results for MozMouseHittest events to APZTestData. r=botond,mrbkap
This allows us to fire MozMouseHittest events from tests and then read
the hittest result from the compositor APZTestData. The MozMouseHittest
event was chosen in particular because the existing uses of it are
similar in nature - it is a dummy event that is used to determine what
elements a particular coordinate targets. It is also an event that is
never generated by the OS and so using this event gives us more control
over what ends up in the APZTestData.

MozReview-Commit-ID: KHjIX7EpK2A

--HG--
extra : rebase_source : f7d7d729c1935eefd49ed06d8644ff9ef537f2e1
2017-11-29 23:16:26 -05:00
Bob Owen af20a22dd8 Bug 1420922: Remove orphaned TARGET_SANDBOX_EXPORTS defines. r=dmajor 2017-11-27 16:07:15 +00:00
Gabriele Svelto 9a1d2f50d2 Bug 1402519 - Remove MOZ_CRASHREPORTER directives from gfx; r=jrmuizel
MozReview-Commit-ID: 7S8AJ18cCx0

--HG--
extra : rebase_source : 983387883dd0feabf8e4e6b1b7335403645470af
2017-10-10 15:11:07 +02:00
shindli fb855aa7ba Backed out 16 changesets (bug 1402519) for conflicts during merge r=backout on a CLOSED TREE
Backed out changeset 07fcf163241a (bug 1402519)
Backed out changeset c6d2ad45d8e2 (bug 1402519)
Backed out changeset 8a3caca61294 (bug 1402519)
Backed out changeset 01425eae2c48 (bug 1402519)
Backed out changeset cf298d3815de (bug 1402519)
Backed out changeset e1964f4389cd (bug 1402519)
Backed out changeset f405337f3569 (bug 1402519)
Backed out changeset a76356fd3359 (bug 1402519)
Backed out changeset d3bb350d1c34 (bug 1402519)
Backed out changeset 9d3bfd9f932c (bug 1402519)
Backed out changeset e3dd6e5b073f (bug 1402519)
Backed out changeset e801b0c00134 (bug 1402519)
Backed out changeset 8a4139fa5dca (bug 1402519)
Backed out changeset 8d01c14ac1ca (bug 1402519)
Backed out changeset 24e0dcd01898 (bug 1402519)
Backed out changeset f8fdf450613f (bug 1402519)
2017-11-23 00:11:44 +02:00
Gabriele Svelto 6fc7fdc557 Bug 1402519 - Remove MOZ_CRASHREPORTER directives from gfx; r=jrmuizel
MozReview-Commit-ID: 7S8AJ18cCx0

--HG--
extra : rebase_source : 5fb4dbbd0416adeaf1796845e808b053ed029de4
2017-10-10 15:11:07 +02: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
JerryShih 7fa50ff43a Bug 1415816 - integrate gfxCriticalNote/gfxCriticalError for WebRender in gpu process. r=kats
MozReview-Commit-ID: 3Mey7XRYRn6
2017-11-10 07:30:53 -05:00
Lee Salzman 3699fb8ded Bug 1415609 - ensure the GPU process initializes the FreeType library. r=jrmuizel
MozReview-Commit-ID: 50a6TBdKnVg
2017-11-08 16:40:20 -05:00
sotaro 551a052a4a Bug 1410766 - Re-acquireDevices in gpu process when SimulateDeviceReset() is called r=dvander 2017-11-03 17:06:37 +09:00
Andrew Osmond 2e03149cc0 Backed out changeset d84ea38d6fd0 (bug 1399453) because the annotations are no longer needed. 2017-11-01 13:34:43 -04: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
Coroiu Cristina 9ca76dcb7a Backed out changeset b7a07167905c::2932c914e223 (bug 1406327) for failing in dom/vr/test/mochitest/test_vrController_displayId.html r=backout a=backout on a CLOSED TREE
Backed out changeset 2932c914e223 (bug 1406327)
Backed out changeset cfbc6262a064 (bug 1406327)
Backed out changeset b7a07167905c (bug 1406327)
2017-10-30 14:51:52 +02:00
Daosheng Mu f6e2fb5654 Bug 1406327 - Part 1: Shutdown VR listener thread when no VR content in seconds; r=dvander,kip
MozReview-Commit-ID: AnYJT8WBkI7

--HG--
extra : rebase_source : 373040a7e578e79c4b2ab2bbda8c155c77fdbbc5
2017-10-26 16:51:14 +08:00
David Anderson 2d4ae3a1c5 Bug 1407032 - Reorder when GPUProcessHosts are destroyed. r=rhunt 2017-10-23 16:18:24 -04:00
Andrew Osmond 63505fc609 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-10-23 14:11:02 -04:00
Sebastian Hengst f44d2aa184 Backed out changeset dc9d9c01080a (bug 1399453) for static bustage at layers/CompositorThread.h:68: bad implicit conversion constructor for 'CompositorThreadHolderDebug'. r=backout on a CLOSED TREE
--HG--
extra : amend_source : 653c00800bb4ed4800ed62fb9df5529ea9ecf48d
2017-10-23 18:26:14 +02:00
Andrew Osmond d4a18daeed 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-10-23 11:31:02 -04:00
Daosheng Mu e41dc03f86 Bug 1392216 - Part 1: Create VR listener thread in GPU process; r=dvander,kip
MozReview-Commit-ID: Img0HT9ax90

--HG--
extra : rebase_source : ef3e2dac31f498454121639aa46657c0cd16f949
2017-10-05 18:12:45 +08:00
Andrew Osmond dbcc485a7a Bug 1389759 - Ensure we tear down CompositorManagerChild correctly if init or the GPU process fail. r=dvander 2017-09-26 13:21:52 -04:00
Andrew Osmond b294a966cd Backed out changeset 6ed0903b5242 (bug 1389759) because an old version of the patch was landed. 2017-09-26 13:20:21 -04:00
Andrew Osmond 4ef271b6d3 Bug 1389759 - Ensure we tear down CompositorManagerChild correctly if init or the GPU process fail. 2017-09-26 11:31:50 -04:00
David Anderson 502592c19b Assert that the GPU process build ID matches the UI process. (bug 1333056, r=mccr8)
MozReview-Commit-ID: 924UVeGXhsr

--HG--
extra : histedit_source : 5ac6ac13c4f34b75106911fdec1cec2260928fce
2017-09-26 10:16:14 -04:00
Randall Barker 000c7b874b Bug 1392705 - part 1: Make UiCompositorControllerChild::Destroy synchronous r=dvander
Ensure the UiCompositorControllerChild is shutdown in the UI thread
before the compositor thread is shutdown by the main thread.

MozReview-Commit-ID: 4hXYxSi9tzz

--HG--
extra : rebase_source : fd265b39986f453ea9ab59c60bb80319b74e8f9c
2017-08-31 14:26:46 -07:00
Andrew Osmond 2b3ebd2479 Backed out changeset 727f0d09e299 (bug 1399453) because the annotations are no longer needed. 2017-09-15 15:11:29 -04:00
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