104 Commits

Author SHA1 Message Date
Chinmay Garde
f7b67119d3 Update the content handler to use the Mozart session API. (flutter/engine#3887) 2017-07-18 15:40:18 -07:00
Brian Osman
1a126078de Revert "Revert "Reland "Run Flutter on iOS and Android with color correct Skia (#3826)" (#3878)" (flutter/engine#3895)
This reverts commit 849b700434fdcd3fc24f05640582b127654aa7d8.
2017-07-18 15:58:35 -04:00
Benjamin Lerman
5d9d760e1d Fix usage of std::labs (flutter/engine#3891) 2017-07-18 09:54:24 -04:00
Chinmay Garde
b0b010349e Ensure that the source rect used for the the raster cache replacement is the same as the size of the N32Premul surface. (flutter/engine#3889)
Also adds debug printers for SkRect and SkPoint.
2017-07-17 23:42:40 -07:00
freiling
fd6da1b2df [flow] remove flush from SceneUpdateContext::ExecutePaintTasks (flutter/engine#3863)
Instead of flushing each canvas, flush once on the context from which each of the canvas is derived.
This gives us a significant performance increase on the fuchsia vulkan backend
2017-07-14 12:06:10 -07:00
Collin Jackson
849b700434 Revert "Reland "Run Flutter on iOS and Android with color correct Skia (#3826)" (flutter/engine#3878)
This reverts commit 3cfb2821b9aa7f288d6aedd9f90c51b11bf451ad.

Fixes a regression with semitransparent images (flutter/flutter#11169)
2017-07-13 14:22:25 -07:00
Brian Osman
3cfb2821b9 Reland "Run Flutter on iOS and Android with color correct Skia (flutter/engine#3826)
* Revert "Revert "Reland "Run Flutter on iOS and Android with color correct Skia" (#3818)" (#3823)"

This reverts commit fdaab5c38fa82de669347508817b377285733946.

* Fix test code to match internal API change
2017-06-27 13:30:10 -04:00
Brian Osman
fdaab5c38f Revert "Reland "Run Flutter on iOS and Android with color correct Skia" (#3818)" (flutter/engine#3823)
This reverts commit cadd2d3fca1103ea0cbfb9f23dbc54907acac759.
2017-06-23 20:28:24 -04:00
Brian Osman
cadd2d3fca Reland "Run Flutter on iOS and Android with color correct Skia" (flutter/engine#3818)
* Revert "Revert "Run Flutter on iOS and Android with color correct Skia (#3743)" (#3775)"

This reverts commit c49f348d7c4238d653e7f3bbb8ce7cfab0996ad1.

* Enable sRGB on IO thread, too

* Add 4444 as a fallback rendering mode

* Use bare ptr to SkColorSpace (not sk_sp) in PrerollContext
2017-06-23 20:21:29 -04:00
P.Y. Laligand
19a7291579 Prevent GN from choking on conditional imports. (flutter/engine#3805) 2017-06-20 23:39:18 -07:00
Michael Goderbauer
c49f348d7c Revert "Run Flutter on iOS and Android with color correct Skia (#3743)" (flutter/engine#3775)
This reverts commit bac6502d62a3ab3157147b3d53776c3f16000a31.
2017-06-14 16:26:20 -07:00
mattsarett
bac6502d62 Run Flutter on iOS and Android with color correct Skia (flutter/engine#3743)
* Run Flutter on iOS and Android with color correct Skia (#3716)

***Turns on color correct rendering for Android and iOS
***Communicates dst color space to raster cache
***Turns on color space aware image decoding

Test:
***color_testing_demo on Pixel XL
***flutter_gallery on iPad Mini and iPad Pro (haven't figured out how to run manual_tests on iOS)

TODO:
I needed to split up this CL somewhere. These are follow-up tasks.
***Make desktop backends color correct
***Make debugging tools (ex: encoding frames to png) preserve color space
***Investigate using UIKit API to allow iOS to fine tune color space of rendered content
2017-06-09 08:39:21 -04:00
Chinmay Garde
a6b7c8c7c2 Rework raster cache to fix numerous issues. (flutter/engine#3717)
* Fix pixel rounding error in the picture layer by first ensuring that
  the texture for the image is at least as big as the next integer size
  along each dimension and using kStrict_SrcRectConstraint while
  drawing the same image. We already select the source subset by
  looking at the cull rect of the picture.
* Decompose the transformation matrix into a series of operations that
  generated the same to calculate the scale at which to rasterize the
  picture. This make the rasterization scale resilient to
  transformations that introduce a perspective component to the
  resultant matrix.
* The scale in the decomposed matrix is now part of the key in the
  cache.
* Raster cache images that could never be rasterized were still taking
  part in the cache. Now, those entries are rejected early on. This
  leads to the sweep after the frame iterating over fewer items.
* Added a unit test target.
2017-06-05 15:57:05 -07:00
Chinmay Garde
e61bff016b Revert "Run Flutter on iOS and Android with color correct Skia" (flutter/engine#3738) 2017-06-05 14:08:22 -07:00
mattsarett
73f8e1988e Run Flutter on iOS and Android with color correct Skia (flutter/engine#3716)
***Turns on color correct rendering for Android and iOS
***Communicates dst color space to raster cache
***Turns on color space aware image decoding

Test:
***color_testing_demo on Pixel XL
***flutter_gallery on iPad Mini and iPad Pro (haven't figured out how to run manual_tests on iOS)

TODO:
I needed to split up this CL somewhere. These are follow-up tasks.
***Make desktop backends color correct
***Make debugging tools (ex: encoding frames to png) preserve color space
***Investigate using UIKit API to allow iOS to fine tune color space of rendered content
2017-06-05 14:59:04 -04:00
Jason Simmons
1cc1f25bbf Add a flag that checkerboards offscreen render targets created by SkCanvas.saveLayer (flutter/engine#3685)
Fixes https://github.com/flutter/flutter/issues/9473
2017-05-11 15:00:16 -07:00
Jason Simmons
15e0d127bd Change the shadow elevation parameter to floating point (flutter/engine#3637) 2017-04-27 10:52:13 -07:00
Jason Simmons
2f0485a91e Improved parameters for Skia shadows (flutter/engine#3635) 2017-04-27 10:13:28 -07:00
freiling
22838a8ebe Back Vulkan Rasterizer with Mozart View (flutter/engine#3568)
This version does not recycle buffers. It is meant only as an initial solution,
and the proper buffer recycling logic has been broken out into a separate change
2017-04-07 17:22:53 -07:00
Chinmay Garde
6ff5a41327 Remove uses of //base from all //flutter projects and replace them with //fml variants. (flutter/engine#3492) 2017-03-22 15:42:51 -07:00
Jason Simmons
0d3611119a Improve the shadow drawing parameters (flutter/engine#3499)
See https://github.com/flutter/flutter/issues/8929
2017-03-22 14:47:57 -07:00
Jason Simmons
6daf9aeefd Canvas.drawShadow API based on SkShadowUtils::drawShadow (flutter/engine#3486) 2017-03-20 14:17:47 -07:00
Jason Simmons
0ca8d88853 Update the PhysicalModelLayer child paint bounds to account for the shadow (flutter/engine#3478)
See https://github.com/flutter/flutter/issues/8635
2017-03-15 14:14:15 -07:00
Jason Simmons
6b00d896c4 Allow translucent background colors in PhysicalModel (flutter/engine#3452)
Set the TransparentOccluder shadow flag if the color is not opaque
2017-02-27 16:27:44 -08:00
Chinmay Garde
b016356c1e Roll Skia revision to 3f81f3703a68755c88f5cc4a87728b98f34c4cd4 (flutter/engine#3438) 2017-02-23 17:58:05 -08:00
Jason Simmons
339ee9d8ea Adapt the physical model layer for Fuchsia (flutter/engine#3441) 2017-02-23 16:27:33 -08:00
Chinmay Garde
53b2940c6d Remove rarely used GLConnection stuff in flow. (flutter/engine#3440)
I had added this initially as a means of making it easier to deal with OpenGL directly in Flow. However, we are moving away from dealing with the client rendering APIs directly. Instead, delegating everything to Skia. Besides, we only ever used this to log the GPU description in case of context setup failures. This has not proved to be useful so far. Also, having this in place is making it difficult to remove all dependencies on GL in Shell.
2017-02-23 16:02:53 -08:00
Jason Simmons
3e7ecdc1e7 Physical model layer that can draw shadows for a Material widget (flutter/engine#3424) 2017-02-16 17:30:57 -08:00
Chinmay Garde
7e31feadc0 Remove texture image. (flutter/engine#3434) 2017-02-16 16:26:02 -08:00
Chinmay Garde
42d77d6159 Revert ShadowMaskFilter use and roll Skia to 246a3c269d8dc91a47ff27f7b71508bf9e74edf5. (flutter/engine#3409) 2017-02-10 16:01:36 -08:00
Adam Barth
6ecdcd4612 Fix Fuchsia build (flutter/engine#3318) 2017-01-03 13:25:38 -08:00
Chinmay Garde
63fbe60fa6 Display resident memory statistics on the performance overlay. (flutter/engine#3314) 2017-01-03 12:27:30 -08:00
Chinmay Garde
327e5163cf Dont override the explicitly set paint bounds in Layer::Preroll. (flutter/engine#3313) 2016-12-13 17:14:25 -08:00
Jason Simmons
5045f38837 Null check before queueing deletion of Skia objects (flutter/engine#3298)
Fixes https://github.com/flutter/flutter/issues/7182
2016-12-08 12:43:50 -08:00
Adam Barth
6312be1f15 Use initialized memory for composited bounds (flutter/engine#3291)
SkRect objects need to be manually initialized. Previously, we were using
unintialized memory in our bounds calculations.
2016-12-02 14:18:11 -08:00
Adam Barth
323a082f5d Rename hittable to hitTestable (flutter/engine#3275)
Apparently hittable is not politically correct.
2016-11-28 16:09:56 -08:00
Adam Barth
670329e1bf Add prune to child scene layers (flutter/engine#3272)
Also, change the hit testing geometry so that we get our hits at the root.
2016-11-28 12:28:18 -08:00
Adam Barth
85abbfaa3e Fix Mozart blends of child views (flutter/engine#3248)
We need to compute the paint bounds of ChildViewLayers during Preroll.
Also, we need to allocate a BlendPtr before writing into it.
2016-11-18 23:49:30 -08:00
Adam Barth
6e603372ba Composite child views in proper paint order (flutter/engine#3243)
We push a bit up the tree during preroll to learn whether there system
composited layers below each layer. During update scene, we squash down
to paint tasks, which we execute after publishing the new scene.
2016-11-18 12:54:54 -08:00
Chinmay Garde
5730cf9d82 Update Skia and get using its BUILD.gn instead of maintaining own own copy. (flutter/engine#3233) 2016-11-17 12:36:16 -08:00
Adam Barth
c693907f61 Fix Mozart child views (flutter/engine#3232)
When we pipelined the drawing commands we caused UpdateScene to be called
before Preroll, which isn't allowed. Now we call Preroll, UpdateScene, and
Paint separately.
2016-11-16 15:30:57 -08:00
Jason Simmons
d9392e7fbb Move destruction of PictureLayer's SkPicture to the IO thread (flutter/engine#3219)
The picture may hold references to images backed by GPU textures that must
be deleted on the IO thread.
2016-11-11 13:43:23 -08:00
Chinmay Garde
77d1df9d19 Randomize the color of the checkerboard pattern per raster cache entry. (flutter/engine#3218) 2016-11-10 18:21:12 -08:00
Adam Barth
1d7337b4d8 Switch Flutter to //lib/fidl (flutter/engine#3206) 2016-11-07 15:51:42 -08:00
Chinmay Garde
b09b35cc06 Tell the raster cache when checkerboarding preferences have been updated. (flutter/engine#3205) 2016-11-07 15:29:03 -08:00
Chinmay Garde
20ad790b7f Allow checkerboarding raster cache entries for debugging purposes (can be toggled from Dart). (flutter/engine#3200) 2016-11-03 13:59:57 -07:00
Adam Barth
a4f6c12e73 Update Skia (flutter/engine#3157) 2016-10-20 13:23:09 -07:00
Adam Barth
cef37e6728 Use antialiased clips (flutter/engine#3124)
The Skia team tells us that these go faster.
2016-10-12 18:28:10 -07:00
Chinmay Garde
79b509c602 Make the PlatformView client rendering API agnostic. (flutter/engine#3099) 2016-10-06 15:06:21 -07:00
Jeff Brown
82d8a27854 Port Flutter to Mozart. (flutter/engine#3094)
Example: $ mojo:launcher mojo:spinning_square
2016-10-04 12:54:54 -07:00