Added a new `FlutterEngineAOTData` argument to `FlutterProjectArgs`. Embedders can instantiate and destroy this object via the new `FlutterEngineCreateAOTData` and `FlutterEngineCollectAOTData` methods provided.
If an embedder provides more than one source of AOT data to `FlutterEngineInitialize` or `FlutterEngineRun` (e.g. snapshots as well as `FlutterEngineAOTData`), the engine will error out.
Resolves: https://github.com/flutter/flutter/issues/50778
This reverts commit 74823c212d418597775d332d8c272673c83f6f63 and relands our reland https://github.com/flutter/engine/pull/17915.
Additionally, we fixed the cull rect logic in `OpacityLayer::Preroll` which is the root cause of https://github.com/flutter/flutter/issues/56298. We've always had that root problem before but it did not trigger performance issues because we were using the OpacityLayer's `paint_bounds`, instead of its child's `paint_bounds` for preparing the layer raster cache. A correct handling of the cull rect should allow us to cull at any level.
It also turns out that our ios32 (iPhone4s) performacne can regress a lot
without snapping. My theory is that although the picture has a
fractional top left corner, many drawing operations inside the picture
have integral coordinations. In older hardwares, keeping those
coordinates integral seems to be performance critical.
To avoid flutter/flutter#41654, the snapping
will still be disabled if the matrix has non-scale-translation
transformations.
This reverts commit c72ff4a and relands #17712.
Fixesflutter/flutter#53288 and flutter/flutter#41654.
Together with #17791, this reland addresses some of Jim's concerns in the original PR #17712.
The major part of this PR is still the same as the original PR, and the performance / golden image impacts should be the same.
* Bumped up the timeout for testAccessibilityFocusOnTextSemanticsProducesCorrectIosViews
* ran formatter
* made an alternative version of the assertion
* removed log statements, seems to mess with the buildbot's xcpretty
* Updates to use predefined keys.
It starts using:
* timeouts for paving.
* timeouts for ssh commands.
* timeouts for tests.
https://github.com/flutter/flutter/issues/54416
* Update key location and autogenerate public key.
* Use ssh-keygen instead of openssl.
* Fix typo on test name.
* Add logs between fuchsia test steps.
Adding logs and date time in between steps will simplify finding the
steps that are failing during the fuchsia tests.
https://github.com/flutter/flutter/issues/54253
* Use date command instead of DATE..
* Remove extra log line.
* Same spacer lenght for all the log lines.
The JSON codec is awkward to use in the wrapper (since the client has to build and link one of the JSON libraries to do so). Since it would be very cumbersome to wrap in a C API, and there's essentially no reason to use it instead of the standard codec, this removes it from the wrapper entirely.
Since some system channels (internal to the engine) still use it, it's moved into common/cpp instead of being eliminated entirely. Internally we always use RapidJSON though, so the jsoncpp implementation is removed. Also adds some unit test coverage, since there wasn't any.
Fixes#30669
* "Reland Clang 11, roll buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c, take 4 (#17467)" (#17482)"
This reverts commit d7bbf2e70c8cb86823f1ec7a310d6ab0b9a610db.
* format code
* Roll buildroot to 3a27de1c5bb0f50be7d3efe3e00de4f6068c9f30
* Reland Clang 11, Roll buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c (#17457)" (#17464)
This reverts commit 6083cda709c194ec81d2092c70a0151a10f0c922.
* Skip more image tests, use newer dsymutil, add missing symbols