24 Commits

Author SHA1 Message Date
Adam Barth
13f67343d0 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
2653005461 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
Jason Simmons
1e4c46aade Update the expected argument count in the SceneBuilder constructor 2016-03-07 10:52:16 -08:00
Adam Barth
ad3fa9f472 Add more dartdoc to dart:ui 2016-03-06 20:37:25 -08:00
Adam Barth
c3c5af1fbe Move Flow layers to //flow/layers 2016-01-30 23:35:22 -08:00
Adam Barth
215b19e3fc Add the ability to create child scenes
This patch contains Dart bindings for adding a child scene when running in
Mozart. The child scene is currently ignored, but a later patch will actually
incoporate it into the tree.
2016-01-28 16:08:42 -08:00
Adam Barth
0b629d419f Move //sky/compositor to //flow
Now that the compositor doesn't have any tricky deps, we can make it a
top-level project, which saves a bunch of typing.
2016-01-12 22:39:51 -08:00
Adam Barth
b63aac40f1 ShaderLayer should actually be ShaderMaskLayer
The shader is supposed to be drawn on top of the children as a mask. The
previous drawing code was incorrect.
2016-01-11 16:45:35 -08:00
Adam Barth
9949c8aaf6 Add ShaderLayer to Flutter compositor
We need this to implement RenderShaderMask properly. See #1155.
2016-01-11 15:03:25 -08:00
Ian Hickson
f77acf0e80 Rename StatisticsOverlay to PerformanceOverlay.
Also, remove compositor_options in favour of four int constants, four
bitwise ands, and a few zero-equality comparisons, since it doesn't
seem we'll need this to scale much after all.
2016-01-10 23:39:13 -08:00
Adam Barth
f7d1856bd0 Compute paint bounds from cull rects
Rather than relying upon the rects passed in from Dart, the compositor
should compute the paint bounds of layers from the cull rects of the
underlying SkPictures. This approach is better because it will handle
effects like shadows that paint outside the incorrect paint bounds we
use today (as well as shrinking around empty space).
2016-01-08 16:05:34 -08:00
Jason Simmons
10ce8a1928 Move the JNI bridge out of dart:ui and into a separate dart:jni library
This also extends DartClassLibrary to support multiple DartClassProviders
for different libraries
2016-01-08 11:04:22 -08:00
Adam Barth
ca934cf956 Reduce the boilerplate when creating bindings
Instead, use C++ template to generate the callback trampolines and the
registration block.
2015-12-24 01:43:56 -08:00
Adam Barth
e3c12b1daa Remove IDL from engine/core/compositing
Rather than using IDL code generation, we now use some template magic to
generate this code. No all the code is template-generated yet, but this
patch is a start in that direction.
2015-12-24 00:13:09 -08:00
Hixie
915e7337a2 Layers don't always have paint bounds. 2015-11-24 15:20:28 -08:00
Adam Barth
ff48ddb68f Add the ability to dispose host objects
Some host objects hold on to a lot of state and take time to tear down. This
patch adds the ability to dispose them eagerly to release resources faster.
2015-11-11 08:36:29 -08:00
Jason Simmons
488cff3e40 Marshal RRect using a DartConverter (as is done for Rect)
This improved running time of a Canvas.drawRRect benchmark by 40%
2015-11-02 16:17:25 -08:00
Chinmay Garde
b95b5292b8 Setup infrastructure to capture SKP traces when the frame interval exceeds certain thresholds 2015-10-06 17:03:10 -07:00
Adam Barth
8cf43b65d2 Moves from vector_math to vector_math_64
* Moves from vector_math to vector_math_64
* Adds support for Float64List in Dart bindings
2015-10-01 14:46:13 -07:00
Chinmay Garde
bfb9855c24 Since the statistics scene is not a container layer, rename the API in SceneBuilder 2015-09-28 12:40:19 -07:00
Chinmay Garde
ab927e23e7 Allow displaying compositor statistics from Dart 2015-09-28 12:20:28 -07:00
Chinmay Garde
b44a86c08a PictureLayers cache the contents of their pictures if the pictures
dont mutate from frame to frame
2015-09-09 09:54:30 -07:00
Adam Barth
bc8f7a096e SceneBuilder should build a tree of layers
We now build a layer tree before squashing the draw command down to an
SkPicture.
2015-09-02 18:23:01 -07:00
Adam Barth
96df6c373c Use sky.SceneBuilder to upload Layer tree to C++
We still use SkPicture as our rasterization backend, but now we're uploading
our layer tree to C++. A future patch will push the layer tree deeper into the
system and we'll eventually switch backends.
2015-08-25 13:41:37 -07:00