Commit Graph

109 Commits

Author SHA1 Message Date
Ethan Lin
aaa0657a01 Bug 1372118 - Part1. Have a path to create WebRender commands without layers. r=jrmuizel, r=kats, r=mattwoodrow
MozReview-Commit-ID: 7iOW9rEtwur
2017-06-30 17:23:20 -07:00
sotaro
b86b77c60c Bug 1377024 - Add support of device reset test from about:support r=kats,dvander 2017-06-29 11:46:36 -07:00
Ryan Hunt
3eb832e2a9 Bug 1351783 part 11 - Sync FocusTarget with WebRenderLayerManager. r=kats
MozReview-Commit-ID: LxWt22XY5IE
2017-06-13 02:43:59 -04:00
Markus Stange
90ca674902 Bug 1368846 - Display the window buttons when webrender is used. r=kats,mattwoodrow
MozReview-Commit-ID: Ki4ONGxtzyO
2017-06-21 18:58:41 -04:00
David Anderson
94ab9190f2 Rename LayerManager::Composite to LayerManager::ScheduleComposite. (bug 1365879 part 17, r=mattwoodrow) 2017-06-20 01:17:21 -07:00
sotaro
cd02396043 Bug 1372816 - Send WebRenderParentCommands When EmptyTransaction is aborted r=jrmuizel 2017-06-15 13:38:22 +09:00
Nicholas Nethercote
9ae0762bf5 Bug 1370329 (part 1) - Clean up the profiler's RAII classes. r=mstange.
This patch does the following renamings, which increase consistency.

- GeckoProfilerInitRAII -> AutoProfilerInit
- GeckoProfilerThread{Sleep,Wake}RAII -> AutoProfilerThread{Sleep,Wake}
- GeckoProfilerTracingRAII -> AutoProfilerTracing
- AutoProfilerRegister -> AutoProfilerRegisterThread
- ProfilerStackFrameRAII -> AutoProfilerLabel
- nsJSUtils::mProfilerRAII -> nsJSUtils::mAutoProfilerLabel

Plus a few other minor ones (e.g. local variables).

The patch also add MOZ_GUARD_OBJECT macros to all the profiler RAII classes
that lack them, and does some minor whitespace reformatting.
2017-06-07 12:33:19 +10:00
peter chang
b4956218d2 Bug 1371114 - Add gecko profiler labels for WebRender, r=kats
MozReview-Commit-ID: 4TRZgV8X1Ml
2017-06-09 11:56:13 +08:00
Kartikaya Gupta
5ff3df5354 Bug 1369840 - Support content-side APZ test data in WebRenderLayerManager. r=botond
This mostly just copies the functional parts of the APZTestData code from
ClientLayerManager into WebRenderLayerManager, and propagates the paint sequence
number over to the compositor using the existing WebRenderScrollData machinery.

MozReview-Commit-ID: LHupFpqtWTX
2017-06-04 22:29:35 -04:00
sotaro
282f4dce52 Bug 1363958 - Fix WebRenderLayerManager::FlushRendering() r=nical 2017-06-02 08:07:59 +09:00
sotaro
8e3655563c Bug 1366915 part 1 - Remove pipeline id allocation with IPC MozPromise r=nical 2017-05-30 09:59:29 +09:00
Jeff Muizelaar
d956204224 Bug 1364626. Ensure our transaction arrives at the compositor before asking the parent to paint. r=dvander
This makes UpdateLayerTree synchronous enough to ensure that the layer
transaction from the child reaches the compositor. Given the comment in
http://searchfox.org/mozilla-central/rev/484d2b7f51b7aed035147bbb4a565061659d9278/dom/interfaces/base/nsIDOMWindowUtils.idl#106
this seems to be the original intent of this function anyways. Without this, we
can have a race between the child talking to the compositor and the child
talking to the parent talking to the compositor.

This also changes GetCompositorBridgeChild to work even when the widget doesn't
have a CompositorBridge
2017-05-17 10:45:33 -04:00
Jeff Muizelaar
ec0554b372 Revert "Ensure our transaction arrives at the compositor before asking the parent to paint"
This reverts commit e0ec2a72700f.
2017-05-17 10:44:33 -04:00
Jeff Muizelaar
bbc7de80a8 Ensure our transaction arrives at the compositor before asking the parent to paint
This makes UpdateLayerTree synchronous enough to ensure that the layer
transaction from the child reaches the compositor. Given the comment in
http://searchfox.org/mozilla-central/rev/484d2b7f51b7aed035147bbb4a565061659d9278/dom/interfaces/base/nsIDOMWindowUtils.idl#106
this seems to be the original intent of this function anyways. Without this, we
can have a race between the child talking to the compositor and the child
talking to the parent talking to the compositor.

This also changes GetCompositorBridgeChild to work even when the widget doesn't
have a CompositorBridge
2017-05-17 10:42:09 -04:00
Andrew Osmond
b3f0c2959b Bug 1365009 - Only discard images and compositor animations if GPU process is still available. r=sotaro 2017-05-16 07:08:19 -04:00
Kartikaya Gupta
aad288ff8a Bug 1363683 - Update webrender to cset 7f37799d63ed80a07675ad599526290843394c99. r=jrmuizel
In addition to updating gfx/webrender and gfx/webrender_traits, this patch:
- Updates the webrender_bindings Cargo.toml file for version bumps
- Updates the Cargo.lock files and revendors the third-party rust dependecies
- Updates the webrender bindings for a change in the display list construction
  and finalization API in WR csets 425155a and 1eb84eb.
  We now have to pass around a content size parameter to construct a display list,
  and we get back a content size from finalizing the display list. Since we pass
  the finalization results over IPC to WebRenderBridgeParent, we need to update
  the IPDL as well to pass this around.
- Updates the webrender bindings for a change to scroll_node_with_id in WR cset
  48a098f.
- Updates the webrender bindings for a change to push_text in WR cset 3287c15.
2017-05-15 15:13:31 -04:00
Kartikaya Gupta
2e31317045 Bug 1361497 - Override AsyncPanZoomEnabled() in WebRenderLayerManager. r=jrmuizel
MozReview-Commit-ID: GlYIRN1Gjw3
2017-05-12 13:58:12 -04:00
Kartikaya Gupta
30355f64ab Merge m-c to graphics
MozReview-Commit-ID: DVUE3Wys3HV
2017-05-03 08:52:43 -04:00
Kartikaya Gupta
b87a58caed Bug 1360246 - Propagate a StackingContextHelper all the way through the RenderLayer traversal. r=nical
This is needed in part 3 to update WebRenderTextLayer::RenderLayer, so
that it no longer assumes the parent container layer has pushed a
stacking context, and instead explicitly uses the StackingContextHelper.

MozReview-Commit-ID: 9twUmDgUipX
2017-05-03 08:48:06 -04:00
peter chang
fdde04da9f Bug 1357320 - Dispatches the discarded compositor animations id list in one async call, r?kats
MozReview-Commit-ID: 8cCNCzxMKpY
2017-05-02 10:26:13 +08:00
peter chang
da7e930e78 Bug 1357320 - Deal with the lifetime of compositor animations, r?kats
First, hook the Layer's ClearAnimation API to delete unnecessary
animations in next layer transaction. Second, add another async
DeleteCompositorAnimations API to delete animations on the compositor,
especially calling this API before WebRenderLayerManager got destroyed.

MozReview-Commit-ID: 4mbj5IgsXYa
2017-05-02 10:26:13 +08:00
Jeff Muizelaar
e617cc4d1c Bug 1360001. Add WebRenderPaintedLayerBlob for painting with BlobImages. r=kats
This is a bit of a rough implementation but it works
enough to start.
2017-05-01 21:58:52 -04:00
Kartikaya Gupta
6de178fbc1 Bug 1359748 - Extract a WebRenderLayer.{h,cpp} from WebRenderLayerManager.{h,cpp}. r=jrmuizel
Other than moving the code into new files, this just cleans up includes
in the modified and dependent files.

MozReview-Commit-ID: JpJ8rwOkfOO
2017-04-27 11:28:31 -04:00
sotaro
d55898f8b9 Bug 1358014 - Allocate PipelineId with IPC MozPromise r=nical 2017-04-26 19:18:06 -07:00
Ethan Lin
7e585b9063 Bug 1359314 - Apply mask layer transform when building webrender mask layer. r=mchang 2017-04-26 15:34:14 +08:00
Sotaro Ikeda
db5728f564 Backout Bug 1358014 2017-04-25 12:13:32 -07:00
Sotaro Ikeda
771c5a7696 Bug 1358014 - Add a capability to allocate PipelineId with IPC MozPromise r=nical 2017-04-25 10:39:56 -07:00
sotaro
b2e26d2de6 Bug 1346143 - Forget the widget pointer in WebRenderLayerManager::Destroy() r=nical 2017-04-21 18:31:52 +09:00
Kartikaya Gupta
b873db8033 Bug 1357754 - Record the isFirstPaint flag in the WebRenderScrollData. r=jrmuizel
MozReview-Commit-ID: KKiRBLRTfEj
2017-04-20 10:38:06 -04:00
Kartikaya Gupta
e5361ecae8 Bug 1357754 - Add a mechanism to send scroll data to APZ over PWebRenderBridge. r=jrmuizel
This adds a WebRenderScrollData class (which contains a list of
WebRenderLayerScrollData objects, among other things), and adds it to
the DPEnd/DPSyncEnd messages sent across PWebRenderBridge. These classes are
skeletons for now (more stuff will be added to them in future patches).

MozReview-Commit-ID: 9duxwlUpdu7
2017-04-20 10:38:04 -04:00
Mason Chang
4f30424b82 Bug 1337761 - Part 2: Don't send external images to the parent side if a transaction is incomplete. r=nical 2017-04-19 15:39:46 -07:00
Mason Chang
8e86b7e81b Bug 1337761 - Implement WebRenderLayerManager::EndEmptyTransaction. r=mattwoodrow 2017-04-19 15:39:44 -07:00
sotaro
2f88c289f9 Bug 1357644 - Use wr::ExternalImageId instead of uint64_t for external image id r=nical 2017-04-19 18:59:53 +09:00
sotaro
90e4a10adb Bug 1355702 - Reduce WrImageKey allocation for ExternalImages on sync ImageContainer 2017-04-19 11:08:35 +09:00
peter chang
6a13a09f50 Bug 1345017 - Discard compositor animations on the next layer transaction, r=kats
Animations in content side could be removed easily by changing CSS, but the
CompositorAnimationStorage in parent side doesn't get updated. Therefore,
we store the layer's CompositorAnimationsId before layer is destroyed in
WebRenderLayerManager and then send out these discarded ids to parent on
the next layer transaction.

MozReview-Commit-ID: D4kbYsgLl4P
2017-04-14 11:58:42 +08:00
peter chang
f11c1bde12 Bug 1345017 - Add animation sampling for WR, r=kats
MozReview-Commit-ID: AR2vajUf2o0
2017-04-12 16:40:48 +08:00
Ethan Lin
ea8636c2c0 Bug 1349500 - Add webrender support for BulletFrame path type. r=mchang 2017-04-18 14:26:41 +08:00
Ethan Lin
637a373447 Bug 1355012 - Add mask layer support for WebRenderDisplayItemLayer. r=kats 2017-04-13 15:13:51 +08:00
Jamie Nicol
995825774c Bug 1355045 - Transform bounds before making relative to parent in GetWrRelBounds. r=ethlin
MozReview-Commit-ID: 7xLzPM1lmz0
2017-04-07 15:13:50 +01:00
Kartikaya Gupta
7b632a18ec Bug 1355193 - Stop looking for a parent stacking context in the scroll metadata. r=mchang
MozReview-Commit-ID: A2VjaUohUxh
2017-04-10 18:49:12 -04:00
Kartikaya Gupta
4b146ed115 Merge m-c to graphics
MozReview-Commit-ID: ICVAgHmKVL4
2017-04-10 08:47:20 -04:00
Ethan Lin
4d4150d87a Bug 1354464 - Fix the size of webrender mask layer. r=mchang 2017-04-10 17:10:37 +08:00
sotaro
3ef75db7a1 Bug 1354474 - Add FlushRendering() and Composite() support to WebRenderLayerManager r=mattwoodrow 2017-04-10 15:58:29 +09:00
Lee Salzman
6ca29fbb02 Bug 1348980 - use UnscaledFont to track WebRender font keys. r=jrmuizel 2017-04-06 17:41:24 -04:00
Kartikaya Gupta
6c628430ca Bug 1361111 - Avoid sending IPDL messages over a dead channel. r=jerry
If the GPU process resets, we get a call to destroy the WebRenderLayerManager.
This in turns tries to send messages over the PWebRenderBridge channel which
has already been torn down. We should detect this case and avoid sending the
messages.

MozReview-Commit-ID: AV3q0WVpPN5
2017-05-01 15:47:32 -04:00
Mason Chang
02db758087 Bug 1351114 Properly track display item layers in layer managers. r=mattwoodrow 2017-03-28 22:37:11 -07:00
Mason Chang
d4e4aaaf9f Bug 1346451 - Delete WebRenderBorderLayer. r=ethlin 2017-03-11 10:04:26 -08:00
Ethan Lin
2cbaf58fd5 Bug 1341565 - Use external image to handle mask layer. r=jrmuizel 2017-03-10 17:51:47 +08:00
Ryan Hunt
6ecc4704b8 Bug 1345975 - Clean up WebRenderLayer code r=kats
MozReview-Commit-ID: DWlAaJwuxlD
2017-03-09 12:35:33 -05:00
Mason Chang
01aeb6725a Bug 1345523 - Clean up duplicated WebRenderLayer code. r=kats 2017-03-08 10:32:53 -08:00