30 Commits

Author SHA1 Message Date
Jason Simmons
70cc2b0e33 Scale picture layers to the picture's cull rect (flutter/engine#2967) 2016-08-23 14:46:23 -07:00
Chinmay Garde
e27ac27b87 Simplify PictureLayer::Paint. (flutter/engine#2962) 2016-08-22 15:11:11 -07:00
Adam Barth
8cfd887da7 Get //flutter/flow building on Fuchsia (flutter/engine#2899) 2016-08-10 14:03:19 -07:00
Adam Barth
16584a5a4e Update paths to account for buildroot 2016-08-09 13:52:15 -07:00
Chinmay Garde
1be74c6698 Remove unused checkerboard.cc (flutter/engine#2865) 2016-08-05 16:23:12 -07:00
Adam Barth
3fbc245f7e Remove skia::RefPtr (flutter/engine#2851)
Also, remove the hacks that integrate Skia ref counting with WTF. Now we
just use sk_sp everywhere for managing Skia ref counts.
2016-08-01 22:21:37 -07:00
Adam Barth
2eb635524d Finish removing //base dependency from //flow (flutter/engine#2848)
This patch introduces a //glue library that isolates our dependency on //base.
This will let us clean up our //base dependencies ahead of actually being able
to fully remove them.
2016-08-01 16:27:48 -07:00
Adam Barth
9586997a02 Port //flow to //lib/ftl (flutter/engine#2847)
This patch removes almost all //base dependency of //flow. The only dependency
left is on tracing.
2016-08-01 15:11:56 -07:00
Adam Barth
c53f3f5c36 Add a way to hint the compositor (flutter/engine#2816)
The code that draws the picture knows more about the picture (and the future)
than we do. This patch gives them a way to hint us about what's going to
happen with the picture in the future.
2016-07-22 11:07:14 -07:00
Ian Hickson
3a88860803 clang -Wextra (more all that -Wall) (flutter/engine#2766)
I noticed this while doing the libjpeg_turbo roll.
2016-06-17 12:38:10 -07:00
Eric Seidel
ae3cf88f92 Remove ContainerLayer::paintChildren trace per @abarth (#2709) 2016-05-25 14:20:51 -07:00
mmclenna
2ecb969075 Additional instrumentation for tracing engine performance (flutter/engine#2682)
* Added instrumentation for timings.

* A few more traces for better granularity.
2016-05-12 13:34:57 -07:00
Adam Barth
bd5781371c Revert "Record layer tree to an SkPicture before rasterization (#2628)"
This reverts commit 73790140e751ebc4dd57802a63e06bd694fc97a3.

This commit appears to have caused
https://github.com/flutter/flutter/issues/3658
2016-05-01 14:23:13 -07:00
Adam Barth
73790140e7 Record layer tree to an SkPicture before rasterization (flutter/engine#2628)
This lets Skia run an optimization pass over the SkPicture before actually
issuing GL commands.
2016-04-28 10:15:38 -07:00
Adam Barth
5210b088eb Update Skia (#2626) 2016-04-27 14:59:06 -07:00
Adam Barth
75b5912bd2 Break dependency from Layer to PaintContext (flutter/engine#2609)
Instead, make Layer::Paint take a new PaintContext that has just exactly
the state that it needs, mirroring PrerollContext. Also, rename
PaintContext to CompositorContext because it holds the context for the
whole compositor.
2016-04-21 23:05:41 -07:00
Adam Barth
785c11d6d9 Fix style in //flow/instrumentation (flutter/engine#2608)
This patch makes these files better match Google C++ style.

Also, add the engine lap time when running on Mojo.
2016-04-21 22:36:46 -07:00
Adam Barth
98fc65a85b Improve paint bounds computation in flow (flutter/engine#2607)
We now compute the bounds for all container layers, including clips, and
use those bounds to tighten down our clips and save layers.
2016-04-21 21:50:44 -07:00
Adam Barth
9c8595512e Make OpacityLayer hit SkRecordNoopSaveLayerDrawRestores (flutter/engine#2604)
Previously we were applying opacity in a different way than Skia
expects. Now we use the exact pattern that Skia expects so that we hit
more optimizations inside SkRecordOptimize.

After this patch, we don't actually get the optimization because we
don't yet run SkRecordOptimize over the composited tree. A later patch
will actually cause us to run SkRecordOptimize.
2016-04-21 07:55:37 -07:00
Jason Simmons
c1b21af2c5 Fix a typo ("threshold") (#2583) 2016-04-07 10:37:33 -07:00
Adam Barth
424df08728 Add support for backdrop filters in the compositor
Particularly, add support for blur filters to implement backdrop blur effects.
2016-04-01 17:15:36 -07:00
Adam Barth
1bdaa49f9a Update code to account for Mozart changes
The layout protocol in Mozart changed. Now we need to pipe a scene version
through the system to the compositor.
2016-03-30 15:13:58 -07:00
Adam Barth
ac113c2965 Update Skia
This required a bunch of changes because of the new sk_sp type Skia has
introduced into their API.
2016-03-21 14:59:49 -07:00
Hixie
695b7df241 Performance Overlay fixes
- fix dartdocs for addPerformanceOverlay
- make PerformanceOverlayLayer honour its x, y, and height.
- fix the y axis of PerformanceOverlayLayer to only show 3x16ms, since
  if it's more than 16ms it really doesn't matter what it is.
- make the label on the PerformanceOverlayLayer show the worst time on
  record not the instantaneous time.
- pin the fps to a maximum of 60Hz
2016-03-17 17:14:04 -07:00
Adam Barth
e1713c3f1d Fix device pixel ratios in Mozart for reals
We need to adjust the transform matrix to undo the device scale.
2016-03-11 17:01:06 -08:00
Adam Barth
63976f2ef4 Flutter embedded in Flutter via Mozart is double scaled
We weren't correctly dividing by the device pixel ratio when asking Mozart to
present our child scene.
2016-03-11 13:36:59 -08:00
Jeff Brown
4ab948ecee Specify a clip rect for ChildSceneLayers.
When linking in a scene, it's a good idea to specify its clip rectangle
to ensure that its content does not draw or capture input from its
surrounding space.

A future version of the Mozart view manager may automatically wrap a
view's scene with a clip rectangle to avoid composition gotchas like this
but it currently doesn't.  So the net effect is that if you embed a view
without specifying a clip, it can draw or capture input from anywhere
within its container.
2016-03-10 18:33:08 -08:00
Adam Barth
cef642e308 Make Mozart draw child views
Previously we weren't factoring in the layer's offset properly and we were
drawing the child views below the background layer.
2016-02-08 14:36:38 -08:00
Adam Barth
9dbf3d72f8 Include child scenes when uploading to Mozart
Previously we just dropped child scenes on the floor. Now we upload them
to Mozart. However, we just draw them on top of all the other content
and don't apply any clips or blends.
2016-02-03 14:16:09 -08:00
Adam Barth
e9171f9608 Move Flow layers to //flow/layers 2016-01-30 23:35:22 -08:00