Commit Graph

2867 Commits

Author SHA1 Message Date
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
sotaro
1b714b3485 Bug 1386903 - Fix IPDL reference handling of CrossProcessCompositorBridgeParent::AllocPWebRenderBridgeParent() r=nical 2017-08-03 18:36:55 +09:00
Morris Tseng
2ecf605b8b Bug 1379920 - Add aAsync param to AddPipelineIdForAsyncCompositable and rename it to AddPipelineIdForCompositable. r=sotaro
When empty transaction in layers free mode, we don't rebuild whole
display list. But the canvas content will be updated and send the
content to parent by CanvasClient. We need some mechanism just like
async video which can update the content without rebuild the dl. But
CanvasClient doesn't use ImageBridge at all. So I slightly modify
AddPipelineIdForAsyncCompositable to let it support the Compostiable
either store in ImageBridge or WebRenderBridgeParent.

MozReview-Commit-ID: 3mKv13Pgc2k
2017-08-03 13:55:13 +08:00
Wes Kocher
baf6cddc4c Merge inbound to central, a=merge
MozReview-Commit-ID: 9NFjSEt96iT
2017-08-02 17:11:51 -07:00
Botond Ballo
a69196a7bc Bug 1385468 - Notify browser.xml when APZ cancels an AutoscrollAnimation. r=kats
The notification is sent via GeckoContentController, PAPZCTreeManager if
necessary (to go from the GPU process to the parent process), and the
observer service.

Naturally, the notification is not sent in the case where it's browser.xml
that initiates the shutdown.

MozReview-Commit-ID: IAaSf4HiDF4

--HG--
extra : rebase_source : 80855ac7d3ae44c393dde96650b330cc737f69d6
2017-07-31 19:15:26 -04:00
sotaro
a17b90875f Bug 1386505 - Fix IPDL reference handling of CompositorBridgeParent::AllocPWebRenderBridgeParent() r=nical 2017-08-02 22:21:17 +09:00
Kartikaya Gupta
f852cfa561 Bug 1386020 - Use wr::IdNamespace instead of uint32_t for the WR namespace. r=sotaro
MozReview-Commit-ID: JbQNgNQHobO

--HG--
extra : rebase_source : c16f17e37e94a41127410daed01f32ec4b06cb91
2017-07-31 16:31:10 -04:00
Botond Ballo
e0c06e98b6 Bug 1105109 - Notify content when APZ is handling an autoscroll. r=kats
MozReview-Commit-ID: BeuZt30fMpn

--HG--
extra : rebase_source : 0d96639d873d12e63d981b3bc50b08360fb10d59
2017-07-26 19:32:57 -04:00
Botond Ballo
e54b8b4984 Bug 1105109 - Have the parent process notify APZ of the start and stop of autoscrolling. r=kats
The messages are routed through nsITabParent, nsIWidget, and IAPZCTreeManager
(the latter possibly remoted via PAPZCTreeManager if out-of-process compositing
is used).

MozReview-Commit-ID: 1zXzLa1fqpG

--HG--
extra : rebase_source : c482816ecbaec0a889d817851ee15be186b2a49c
2017-07-26 19:33:02 -04:00
Botond Ballo
50e175b0bc Bug 1105109 - Fix unified compilation errors. r=kats
MozReview-Commit-ID: DB3JNwlE3Dw

--HG--
extra : rebase_source : 3d0a92cb9f7dd850d25d6d7b5fbe6eb3291e0d67
2017-07-28 20:17:19 -04:00
Kartikaya Gupta
adeda831a6 Bug 1372880 - Followup to fix typo in function name. r=me
MozReview-Commit-ID: J2D0Cb6DRNJ
2017-07-28 12:57:13 -04:00
Nicolas Silva
c6cb34826b Bug 1383786 - Rename WebRenderCompositableHolder into AsyncImagePipelineManager. r=sotaro
--HG--
rename : gfx/layers/wr/WebRenderCompositableHolder.cpp => gfx/layers/wr/AsyncImagePipelineManager.cpp
rename : gfx/layers/wr/WebRenderCompositableHolder.h => gfx/layers/wr/AsyncImagePipelineManager.h
2017-07-25 10:54:36 +02:00
sotaro
b8bc54df5a Bug 1372880 - Add WebRender creation failure handling r=aosmond 2017-07-28 18:22:21 +09:00
sotaro
eaf00c953c Bug 1377619 - Add EndTransaction to on screen timing log for WebRender r=nical 2017-07-28 08:05:56 +09:00
Carsten "Tomcat" Book
d360d49d2a merge mozilla-inbound to mozilla-central a=merge 2017-07-27 10:57:25 +02:00
Bevis Tseng
d935b29e72 Bug 1378930 - Part 1: Remove nsINamed::SetName(). r=billm
MozReview-Commit-ID: 7aM1yJRsfPH

--HG--
extra : rebase_source : f207a37be835ac4e6c431af56737cebacf5c566d
2017-07-21 11:50:43 +08:00
Kartikaya Gupta
ba4b3b9101 Bug 1384233 - Remove SizePrintfMacros.h. r=froydnj
We have a minimum requirement of VS 2015 for Windows builds, which supports
the z length modifier for format specifiers. So we don't need SizePrintfMacros.h
any more, and can just use %zu and friends directly everywhere.

MozReview-Commit-ID: 6s78RvPFMzv

--HG--
extra : rebase_source : 009ea39eb4dac1c927aa03e4f97d8ab673de8a0e
2017-07-26 16:03:57 -04:00
Samael Wang
4652607d6a Bug 1382897 - Auto lock on sIndirectLayerTreesLock in DidComposite. r=mattwoodrow
MozReview-Commit-ID: DZLEjHMmDDt
2017-07-25 17:28:39 +08:00
Carsten "Tomcat" Book
6371a2fc61 Backed out changeset f8c82658a657 (bug 1383786)
--HG--
rename : gfx/layers/wr/AsyncImagePipelineManager.cpp => gfx/layers/wr/WebRenderCompositableHolder.cpp
rename : gfx/layers/wr/AsyncImagePipelineManager.h => gfx/layers/wr/WebRenderCompositableHolder.h
2017-07-25 11:36:11 +02:00
Nicolas Silva
e22c63abf9 Bug 1383786 - Rename WebRenderCompositableHolder into AsyncImagePipelineManager. r=sotaro
--HG--
rename : gfx/layers/wr/WebRenderCompositableHolder.cpp => gfx/layers/wr/AsyncImagePipelineManager.cpp
rename : gfx/layers/wr/WebRenderCompositableHolder.h => gfx/layers/wr/AsyncImagePipelineManager.h
2017-07-25 10:54:36 +02:00
JerryShih
2fb75025f6 Bug 1349991 - Skip the DidComposite() message for non-updated layer tree. r=dvander,nical,mattwoodrow
MozReview-Commit-ID: NhVBMe7Qha

--HG--
extra : rebase_source : f7fb8dc928b0b804e0e9a37334708999ee3db454
2017-07-24 13:07:35 +02:00
Andrew Osmond
ccbd885da6 Bug 1382644 - Remove assert in CompositorManagerChild::Init for false positives. r=me
CompositorManagerChild::mCanSend is cleared in ActorDestroy but that
often comes in too late and after ContentChild::RecvReinitRendering
which reinitializes the singleton. For now, just remove the assert so
that we no longer trigger false positives in the content process after
the GPU process crashes.
2017-07-20 09:03:28 -04:00
Ryan Hunt
522bc76415 Bug 1382128 part 8 - Remove Wr prefix from some type aliases. r=kats
MozReview-Commit-ID: 5h7QobhcYc1

--HG--
extra : rebase_source : 34d6636b6c3726ccc21b105f05227e27f84e63c9
2017-07-19 03:28:58 -04:00
Ryan Hunt
017d292cac Bug 1382128 part 2 - Remove WrPoint, WrSize, WrRect, WrMatrix, and WrColor. r=kats
MozReview-Commit-ID: 9koNScu4CyE

--HG--
extra : rebase_source : 68185e949ddf2ae346a5d597d056a7f2d9ea7a28
2017-07-18 18:32:46 -04:00
Ryan Hunt
3f3cb0a954 Bug 1382128 part 1 - Use a namespace in webrender_bindings. r=kats
MozReview-Commit-ID: 3JTMa9Ix5S7

--HG--
extra : rebase_source : 0bea14d9e395cab260d2db5135b1f64e9f82b2e2
2017-06-27 19:20:36 -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
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
Andrew Osmond
b306aa3fb2 Bug 1380716 - Reinitialize ImageContainer::mImageClient if its parent ImageBridgeChild was also reinitialized. r=sotaro 2017-07-15 07:52:02 -04:00
Milan Sreckovic
cc13392457 Bug 1380655: Look for the timeout and terminate GPU process only when we have a separate GPU process, not also when the browser is acting as one. r=dvander
MozReview-Commit-ID: Fp4Dv5SArjX

--HG--
extra : rebase_source : ced0c45cc7a64e619f15c69bfb68b5d850d287fc
2017-07-14 12:18:52 -04:00
Andrew McCreight
1533adf4c3 Bug 1380124 - Fix 'desctruction' typos. r=njn
MozReview-Commit-ID: 8gNYd7NL58U

--HG--
extra : rebase_source : bc0c85d96a499e8de102d1409685e6b2f7605ffe
2017-07-11 13:04:26 -07:00
Kartikaya Gupta
1fd7214235 Bug 1378355 - Remove unused function. r=bas
MozReview-Commit-ID: H051LFrFMgD

--HG--
extra : rebase_source : 2dca4cfb41a94de9e8fce847b985c9193eadc094
2017-07-10 10:15:23 -04:00
sotaro
e79d584602 Bug 1379033 - Remove CompositorBridgeParentBase::GetAnimationStorage() r=kats
The patch removes CompositorBridgeParentBase::GetAnimationStorage and CrossProcessCompositorBridgeParent::GetAnimationStorage, and remove the "aId" parameter to CompositorBridgeParent::GetAnimationStorage, since it's only ever called with "0" as the argument.
2017-07-10 10:03:12 +09:00
Kartikaya Gupta
b95ebf372e Bug 1379252 - Remove unused argument. r=rbarker
MozReview-Commit-ID: 7G8i0G9LyvZ

--HG--
extra : rebase_source : 229e4ef955e50b5a473c24522e3e499fdf658519
2017-07-07 14:56:10 -04:00
David Anderson
fa09d4e240 Disable Advanced Layers on transparent popups. (bug 1379014, r=mattwoodrow) 2017-07-06 18:29:38 -07:00
Carsten "Tomcat" Book
7857fa0a5e merge mozilla-inbound to mozilla-central a=merge 2017-07-06 11:18:05 +02:00
Botond Ballo
8b7ba8ac1c Bug 1377020 - Use MOZ_DEFINE_ENUM instead of a sentinel enumerator for enumerations in gfx/layers. r=kats
MozReview-Commit-ID: IUQDb0VIAwQ

--HG--
extra : rebase_source : 50d05ab09a5fb03d16c044edd38f0f3e0dba7ada
2017-06-30 21:18:55 -04:00
Nicholas Nethercote
5d446671a8 Bug 1375776 (part 4) - Allow ProfilerMarkerPayload.h to be #included unconditionally. r=mstange.
This requires:

- Moving the constructors of ProfilerMarkerPayload and its subclasses into the
  .h file so they are visible even when ProfilerMarkerPayload.cpp isn't
  compiled.

- Similarly, using a macro to make StreamPayload() a crashing no-op when the
  profiler isn't enabled. (It is never called in that case.)

--HG--
extra : rebase_source : 7aad2fdb1bd4e49782024dba6664e8f992771520
2017-06-23 16:24:15 +10:00
Wes Kocher
f8eb8f400a Backed out 2 changesets (bug 1377060) for build bustage a=backout
Backed out changeset c8f818803df7 (bug 1377060)
Backed out changeset bf11ec80b0fb (bug 1377060)

MozReview-Commit-ID: Hp1PtpWYOWV
2017-07-03 11:44:58 -07:00
David Anderson
c307f7ba43 Implement asynchronous OMTP behind a pref. (bug 1377060 part 2, r=mchang) 2017-07-03 11:20:40 -07:00
Carsten "Tomcat" Book
daa67cc9e3 merge mozilla-inbound to mozilla-central a=merge 2017-06-30 12:59:45 +02:00
sotaro
5145e40a3c Bug 1335335 - Manually call DidComposite() when transaction was dropped because of obsoleted command r=nical
The patch fixes a problem on windows. Before the patch, there was a case that moved tab was not re-rendered. When WebRenderBridgeParent reveived obsolted transaction, DidComposite() was not returned to a client side. It stopped nsRefreshDriver to trigger a next transaction.
2017-06-29 18:06:31 -07:00
sotaro
2292edf20c Bug 1335335 - Tab move between different windows does not work when e10s is enabled r=nical
When the tab move happens, related non-root WebRenderBridgeParent is updated as to render to different webrender instance. webrender does not support of sharing resources and keys yet. Then when the tab move happens, the patch just removes all keys and resources that belongs to previous webrender. Ideally all resources that belong to WebRenderBridgeParent should be reallocated in an update webrender. But the patch does not do it, instead it just request WebRenderBridgeChild to re-allocate all resources again for simplicity. Performance improvement will happen in a future patch.

This patch support only tab move that uses only raw data external images. Support of native texture external images will happen in a future patch.
2017-06-29 18:06:11 -07:00
sotaro
cb7938acc1 Bug 1376875 - Call Destroy() from LayerTransactionParent::ActorDestroy() r=nical 2017-06-29 16:24:55 -07:00
Sebastian Hengst
e85b6178ce Backed out changeset ac18f9244933 (bug 1335335) for build bustage: version control conflict in maker file at WebRenderBridgeParent.h:235. r=backout on a CLOSED TREE 2017-06-29 22:02:16 +02:00
Sebastian Hengst
86c1297e01 Backed out changeset c5dbfdc1892e (bug 1335335) 2017-06-29 22:01:19 +02:00
sotaro
6cec97d16c Bug 1335335 - Manually call DidComposite() when transaction was dropped because of obsoleted command r=nical
The patch fixes a problem on windows. Before the patch, there was a case that moved tab was not re-rendered. When WebRenderBridgeParent reveived obsolted transaction, DidComposite() was not returned to a client side. It stopped nsRefreshDriver to trigger a next transaction.
2017-06-29 12:45:29 -07:00
sotaro
23d69372f5 Bug 1335335 - Tab move between different windows does not work when e10s is enabled r=nical
When the tab move happens, related non-root WebRenderBridgeParent is updated as to render to different webrender instance. webrender does not support of sharing resources and keys yet. Then when the tab move happens, the patch just removes all keys and resources that belongs to previous webrender. Ideally all resources that belong to WebRenderBridgeParent should be reallocated in an update webrender. But the patch does not do it, instead it just request WebRenderBridgeChild to re-allocate all resources again for simplicity. Performance improvement will happen in a future patch.

This patch support only tab move that uses only raw data external images. Support of native texture external images will happen in a future patch.
2017-06-29 12:44:53 -07:00
sotaro
1deee6448b Bug 1377024 - Add support of device reset test from about:support r=kats,dvander 2017-06-29 11:46:36 -07:00
Carsten "Tomcat" Book
45f2e51f0a Merge mozilla-central to autoland 2017-06-28 13:47:29 +02:00
Mats Palmgren
c49a96b7fd Bug 1376297 part 2 - Switch to nsRefPtrHashtable since it's more appropriate for holding RefPtr values. r=froydnj
MozReview-Commit-ID: 5hxCuDpITcC
2017-06-28 01:03:16 +02:00