29846 Commits

Author SHA1 Message Date
Jonah Williams
90d7ced2e7
[iOS] remove Skia interfaces from iOS platform code. (#163505)
Skia can no longer be enabled on iOS. Remove software and skia surfaces,
references to GrContext.
2025-02-20 15:37:19 +00:00
Matej Knopp
e6c333b555
[windows] Implement merged UI and platform thread (#162935)
Original issue: https://github.com/flutter/flutter/issues/150525

Thread merging is currently disabled by default. 
It is controlled from the application through `DartProject`:
```cpp
flutter::DartProject project(L"data");
// Enables running UI isolate on platform thread
project.set_merged_platform_ui_thread(true);
```
Required changes to windows embedder: 
- Resize synchronization no longer blocks on condition variable, instead
it polls the Flutter run loop (ignoring other windows messages) until
the frame is available. This way resize synchronization works with both
thread merging enabled and disabled.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Loïc Sharma <737941+loic-sharma@users.noreply.github.com>
2025-02-20 10:33:13 +00:00
Jonah Williams
72cc1d198c
[iOS] always post new task during gesture dispatch. (#163646)
Fixes https://github.com/flutter/flutter/issues/163429

If we synchronously call into dart ui when dispatching pointer events,
then we only end up scheduling about ~half as many frames as we should.
Nothing is blocked, no task starvation, et cetera. It should always be
safe to post pointer events as a new task instead.
2025-02-19 22:52:07 +00:00
Jim Graham
99ac47897e
Reland "[Impeller] add support for rational bezier conics to Path (#63282)" (#163645)
Reverts flutter/flutter#163624
Relands https://github.com/flutter/flutter/pull/163282

Add basic support for storing rational bezier conics in impeller::Path.
The support is very thin and just degrades the conics into a pair of
quadratic curves just as Impeller has always done for the conic segments
that it receives via SkPath objects, but it puts in place the framework
for eventually handling the conics more directly and allows the unit
tests to be rewritten on top of Impeller paths rather than SkPaths,
paving the way for reduced internal API dependencies.
2025-02-19 21:54:08 +00:00
Yegor
7e297c29f8
[web:a11y] wheel events switch to pointer mode (#163582)
Fixes https://github.com/flutter/flutter/issues/159358
2025-02-19 21:33:04 +00:00
Dimitar Kyurtov
3d2ab872b8
replace deprecated [UIScreen mainScreen] in iOS (#162785)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

1. Replaced `mainScreen` in `FlutterPlatformViewsController` with the
`screeScale` of the `screen` that the `flutterViewController` is
attached to. Updated API usage of `FlutterClippingMaskViewPool` and
`OverlayLayerPool` by providing the correct `screenScale` from the
screen that the `flutterViewController` is attached to.
2. Replaced `mainScreen` in `OverlayLayerPool` by adding an API for the
`screenScale` to be provided by the class user.
3. Replaced `mainScreen` in `FlutterClippingMaskViewPool` by adding an
API for the `screenScale` to be provided by the class user.
4. Replaced `mainScreen` in `FlutterPlatformViewsTest` by adding a
mocked `FlutterViewController` which has a mocked `screen` with a mocked
`screenScale`. The `flutterViewController` is then provided the to the
`flutterPlatformViewsController`.

All of the above changes allow platform views and their overlays
displayed on an external screen to be properly scaled when rendered.

Fixes #130832. I believe this fixed #130825 since
FlutterPlatformViews_Internal.mm does not exist but the definition of
the interfaces declared in FlutterPlatformViews_Internal.h are part of
the files modified by this pr. This pr also replaces `mainScreen` in
`overlay_layer_pool.mm`.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I updated/added new tests to check the change I am making, or this
PR is [test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-19 20:41:44 +00:00
Jason Simmons
b4d05f4867
Manual roll of Dart SDK from 023ac80cef14 to 2cecb16348e4 (#163621) 2025-02-19 20:37:35 +00:00
Jonah Williams
408cbaf233
[Impeller] ensure that OpenGL "flipped" textures do not leak via texture readback. (#163501)
Fixes https://github.com/flutter/flutter/issues/163315
Fixes https://github.com/flutter/flutter/issues/163521
Fixes https://github.com/flutter/flutter/issues/142641

OpenGL has an inverted coordinate system (bottom left is zero) compared
to Metal/Vulkan (top left is zero). We handle this by rendering things
upside down on OpenGL. Unfortunately this can leak out of the renderer
via readback (toImage), so we need to make sure to undo the inversion.

This is not performed for the "TextureCoordinateSystem::kUploadFromHost"
state as that indicates the texture is already "right side up".
2025-02-19 20:07:07 +00:00
Paul Sturm
6ac63dc0fc
Hot Restart should dispose all previous Platform Views (macOS) (#163439)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

When using Platform Views on macOS, performing a Hot Restart throws an
exception with message "trying to create an already created view". This
is because the old Platform Views are not cleaned up. So, here we
dispose of the old Platform Views as part of the Hot Restart process.

Fixes issue: https://github.com/flutter/flutter/issues/110381

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-19 20:02:57 +00:00
Matan Lurey
78d0f5f0f6
Remove duplicate sources in the web_sdk. (#163636)
Post-submit feedback on https://github.com/flutter/flutter/pull/163015.
2025-02-19 19:59:12 +00:00
Matan Lurey
485c9105fc
Revert "[Impeller] add support for rational bezier conics to Path (#63282)" (#163624)
This reverts commit db0bdfd117077a69f79ce0d4c03ab387a78ef7dd to fix a
tree breakage.
2025-02-19 18:51:42 +00:00
Jonah Williams
e7d167cca2
[android] use macro definition to shrink repetitive JNI code size. (#163395)
But less code!
2025-02-18 21:31:36 +00:00
Mouad Debbar
4be1b57d50
[web] Cleanup everything HTML from the engine (outside html/ folder) (#162840)
Things being cleaned up:

- Remove `flutter.js` support for HTML/AUTO renderers.
- Delete the renderer auto-detection logic and flag.
- Remove references to the `HtmlRenderer` from renderer-agnostic code.
- Remove the `auto-selected`/`requested explicitly` info from the DOM.

As a follow up to this, I'll create another PR that deletes the entire
`html/` folder.
2025-02-18 21:28:24 +00:00
Jim Graham
db0bdfd117
[Impeller] add support for rational bezier conics to Path (#163282)
Add basic support for storing rational bezier conics in impeller::Path.
The support is very thin and just degrades the conics into a pair of
quadratic curves just as Impeller has always done for the conic segments
that it receives via SkPath objects, but it puts in place the framework
for eventually handling the conics more directly and allows the unit
tests to be rewritten on top of Impeller paths rather than SkPaths,
paving the way for reduced internal API dependencies.
2025-02-18 21:20:50 +00:00
Chinmay Garde
a16c447abc
[Impeller] Don't create a redundant typography context. (#163513)
This was a typo that caused a typography context to be created, its
validity checked, but the context not actually used. Instead returning a
new one.

No change in functionality.
2025-02-18 19:05:10 +00:00
engine-flutter-autoroll
9fc779960c
Roll Dart SDK from fcef25f18e4d to 023ac80cef14 (1 revision) (#163110)
https://dart.googlesource.com/sdk.git/+log/fcef25f18e4d..023ac80cef14

2025-02-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-92.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com,jimgraham@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-18 18:58:17 +00:00
Jonah Williams
063d0da3c0
[Impeller] when binding to READ_FRAMEBUFFER, treat multisampled textures as single sampled. (#163345)
I noticed this causes crashes when doing readback, but only on some
deivces. I suspect that this is the more correct binding choice, and
other drivers are just more lenient.
2025-02-18 18:20:09 +00:00
Robert Ancell
5365993ff5
Replace hard coded numbers with mouse button defines (#163503)
No behaviour change, just for clarity.
2025-02-18 14:36:46 +00:00
Harry Terkelsen
92281aae46
[canvaskit] Handle MakeGrContext returning null (#163332)
Mark up the CanvasKit binding API to acknowledge that `MakeGrContext`
can return null.

Towards https://github.com/flutter/flutter/issues/162868

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-14 23:36:26 +00:00
chunhtai
644e46a3b3
Adds all semantics roles (#163075)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->
This pr adds all the roles enum in one go without actually wiring up to
framework and engine.
It serves the following purposes
1. reduce pr conflict when multiple people working on adding new enum in
the list
2. help with IDE and google test as these enum will be added in the
latest engine binary after it merge.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-14 21:11:20 +00:00
engine-flutter-autoroll
14c585b5c2
Roll Skia from 20924303cc25 to 13a3b6f34ee8 (1 revision) (#163336)
https://skia.googlesource.com/skia.git/+log/20924303cc25..13a3b6f34ee8

2025-02-14 kjlubick@google.com Remove unnecessary parameter in blur mask
code

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jamesgk@google.com,jimgraham@google.com,kjlubick@google.com on
the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-14 21:05:25 +00:00
Jonah Williams
3e219d1cd8
[Impeller] don't use glFramebufferBlit for onscreen restore. (#163327)
With the OpenGLES backend, we use the MSAA render to texture extension.
This means that the offscreen textures are multisample and implicitly
resolved when sampled from. This implicit resolve does not occur in the
blit command used to restore to the onscreen, which can trigger a crash
in the GLES driver.

In other backends, the onscreen is also multisample and the blit is OK.

Fixes https://github.com/flutter/flutter/issues/163304
2025-02-14 19:59:39 +00:00
gaaclarke
f949d8eaed
Tweaked TextContents math to avoid floating point errors (#162480)
This gets rid of artifacts in characters.

## before

![before_445](https://github.com/user-attachments/assets/c66d3d22-baaf-4d66-bff3-3ad5b4d5747c)

## after

![after_445](https://github.com/user-attachments/assets/0e23a593-b68a-4334-a82e-4f7dc1ecdc17)


## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-14 17:21:30 +00:00
Hannah Jin
7cf38fd93c
Add table related semantics role (#162339)
issue: https://github.com/flutter/flutter/issues/45205

This PR added roles: table,cell,row,columnheader in engine side. 

Also added table, cell , columnheader in framework widgets `Table` and
`DataTable`.

This PR didn't add `row` in framework side because right now TableCell
is ParentDataWidget expecting its parent to be a Table, tableRow is not
a widget or a renderObject, but just some data. If we want to add a role
to `row`, we need to do some refactor to `TableCell`, `TableRow` and
`Table`. If we need to add row, I will do that in another PR.




## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-14 02:01:28 +00:00
Jason Simmons
0fc52bc91f
[Impeller] Call glDebugMessageControlKHR only if the KHR_debug extension is available (#163273)
Fixes https://github.com/flutter/flutter/issues/163269
2025-02-14 01:58:51 +00:00
engine-flutter-autoroll
5e5f6080a1
Roll Skia from 748415976ad1 to 5a38d23ee247 (3 revisions) (#163271)
https://skia.googlesource.com/skia.git/+log/748415976ad1..5a38d23ee247

2025-02-13 robertphillips@google.com [graphite] Split out factories for
reused runtime effects
2025-02-13 egdaniel@google.com [Graphite] Add param to ask for
Discardable DepthStencil from caps.
2025-02-13 nscobie@google.com Add trace event to
StrikeCache::internalPurge

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jamesgk@google.com,jimgraham@google.com,kjlubick@google.com on
the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-14 00:49:57 +00:00
Harry Terkelsen
934af97328
[canvaskit] Use transferToImageBitmap instead of createImageBitmap (#163175)
Use `transferToImageBitmap` instead of `createImageBitmap` if we have an
`OffscreenCanvas`.

Now that we are sizing the `OffscreenCanvas` exactly to the frame size,
we can use `transferToImageBitmap`, which should be zero-copy and
therefore faster than `createImageBitmap`. In testing, this speeds
things up a little bit but we still drop frames compared to
multi-Surface rasterization.

Helps with https://github.com/flutter/flutter/issues/162618

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-14 00:32:07 +00:00
Jackson Gardner
7d22606cda
[skwasm] Use transferToImageBitmap instead of createImageBitmap (#163251)
Harry had investigated that on the CanvasKit side, that this was a bit a
faster than the `createImageBitmap` approach when dealing with multiple
DOM canvases. Also, it appears that Safari is significantly faster at
`transferToImageBitmap` compared to `createImageBitmap`, so this might
make porting skwasm to Safari a bit more feasible. Either way, we should
validate the performance and make sure this doesn't actually make
anything slower.
2025-02-14 00:32:07 +00:00
Matan Lurey
9ffdd3a0ec
Show 'started' messages, explain how to debug hangs in the Android JUnit tests (#163242)
There is more work to do, i.e.
https://github.com/flutter/flutter/issues/163239, to make this a better
experience, but better than nothing.
2025-02-13 22:50:09 +00:00
engine-flutter-autoroll
f3bdcbda58
Roll Skia from 0f2500a715c3 to 748415976ad1 (10 revisions) (#163256)
https://skia.googlesource.com/skia.git/+log/0f2500a715c3..748415976ad1

2025-02-13 danieldilan@google.com Roll dng_sdk to latest in Android and
remove obsolete workaround
2025-02-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 3c7761e2d611 to 5cc3a63e8fdb (4 revisions)
2025-02-13 jmbetancourt@google.com Dump Android stack trace before
rebooting test devices
2025-02-13 egdaniel@google.com [Graphite] Add caching of framebuffers in
Vulkan backend.
2025-02-13 egdaniel@google.com [Graphite] Add dawn
disable_lazy_clear_for_mapped_at_creation_buffer toggle
2025-02-13 nicolettep@google.com [graphite] Define a DrawPassCommand to
add barriers
2025-02-13 drott@chromium.org [Fontations-backend] Roll Fontations,
Skrifa to 0.28
2025-02-13 robertphillips@google.com [graphite] Fix RenderPassDesc
serialization
2025-02-13 jvanverth@google.com Revert "[graphite] Re-enable clip atlas
with some validation checks."
2025-02-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from 706e3be9d658 to c8049a47d3fe (5 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jamesgk@google.com,jimgraham@google.com,kjlubick@google.com on
the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-13 21:51:15 +00:00
Jonah Williams
128caa701f
[Impeller] disable Vulkan on known bad exynos SoCs. (#163236)
The common theme in:
  * https://github.com/flutter/flutter/issues/160854
  * https://github.com/flutter/flutter/issues/160804
  * https://github.com/flutter/flutter/issues/158091
  
Is that the Samsung exynos chipset has problems with AHB imports.
Unfortunately some of the reported bugs are hard crashes/. While I
couldn't reproduce the crash itself, it does indicate to me that
attempting to feature detect if AHB imports work is probably too risky
(and potentially slow, as we'd have to do a read back).
 
While the Vulkan drivers otherwise work, the deivces in question are not
able to reliably import AHBs which prevents platform views from working.
 
This may not fix all issues as there could be different SoC models that
also have problems. I considered removing 29 support as well, but there
are a large number of APi 29 devices that work fine.
2025-02-13 21:01:37 +00:00
Jason Simmons
ce659cda5e
[Impeller] Ensure that texture coordinate coverage and gradient color source sizes used by DrawVertices are nonempty (#163177)
Fixes https://github.com/flutter/flutter/issues/162969
2025-02-13 20:04:08 +00:00
gaaclarke
bffedc7f2c
Backfill subpixel unit tests (#162710)
issue: https://github.com/flutter/flutter/issues/149652

I made these unit tests while investigating a fix for
https://github.com/flutter/flutter/issues/149652. The fixes have already
landed with different tests. I figured I'd land these too since they
were helpful to me.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-13 18:40:46 +00:00
Jonah Williams
1cd3ab16ca
[android] correct API availibility checks for hcpp. (#163226)
This fixes the HCPP crashes in devicelab by correctly disabling HCPP for
devices that are < API level 34. Unfortunately this means we can't
benchmark on CI until we update the devices.
2025-02-13 17:39:48 +00:00
Robert Ancell
4cc9db4125
Move FlTextInputHandler from FlView (#162131)
This moves the final part of the keyboard handling from FlView to the
FlEngine and means keyboard should work correctly with multiple views.
2025-02-13 02:30:33 +00:00
Jonah Williams
a0dca0c30a
[Android] add missing null check to java object for hcpp mode. (#163165)
This can be hit if the FlutterJNI has been disconnected. In this case,
it is correct to return a nullptr as the engine can create its own
trasnaction.
2025-02-13 00:58:48 +00:00
engine-flutter-autoroll
c4d53f1d79
Roll Skia from f31c733c86c4 to a6de5c85d540 (14 revisions) (#163164)
https://skia.googlesource.com/skia.git/+log/f31c733c86c4..a6de5c85d540

2025-02-12 michaelludwig@google.com [graphite] Consolidate Utils/Types
headers
2025-02-12 kjlubick@google.com Remove references to .riv files
2025-02-12 egdaniel@google.com [Graphite] Allow MSAA on imagination
GPUs.
2025-02-12 nicolettep@google.com [graphite] Pass in dst texture
information to Caps when determining DstReadStrategy
2025-02-12 kjlubick@google.com Add util for dumping a buffer (e.g. mask)
2025-02-12 nscobie@google.com Upstream: Enabled CtsSkQPTestCases for
visible background users
2025-02-12 jvanverth@google.com [graphite] Re-enable clip atlas with
some validation checks.
2025-02-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
skottie-base from e5091a671b6f to 7379a582d0b4
2025-02-12 alecmouri@google.com Support ISO gainmap colorspace in PNG
2025-02-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from 7164021c9e32 to e2163451af70 (3 revisions)
2025-02-12 danieldilan@google.com [png] Check interlacedBuffer full size
+ add early exit path
2025-02-12 robertphillips@google.com [graphite] Gracefully fail Pipeline
key serialization
2025-02-12 drott@chromium.org Prepare Fontations roll by allowing use of
deprecated functions
2025-02-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from ef2ef1072427 to 706e3be9d658 (19 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jamesgk@google.com,jimgraham@google.com,kjlubick@google.com on
the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-12 23:27:24 +00:00
Jonah Williams
a7a4da95c9
[Android] increment shared_ptr for jni impl. (#163152)
More speculative fixes for crashing. Since we were closing over a ref,
maybe it is nullptr? Lets check with an FML_CHECK too.
2025-02-12 20:49:48 +00:00
Jason Simmons
0f801f8dbd
[Impeller] In Paint::CreateContents, do not set a color source size if the size is empty (#163099)
The Canvas::DrawVertices lazy texture function will be unable to create
a snapshot based on an empty color source size.

See https://github.com/flutter/flutter/issues/162969
2025-02-12 19:41:01 +00:00
Harry Terkelsen
512d1d58ff
[canvaskit] Add configuration option to force multi-Surface rendering (#163087)
Adds a configuration option `canvasKitForceMultiSurfaceRasterizer` and
associated environment variable
`FLUTTER_WEB_CANVASKIT_FORCE_MULTI_SURFACE_RASTERIZER` to force the
CanvasKit renderer to use `MultiSurfaceRasterizer`.

This allows us to easily create reproduction apps for
https://github.com/flutter/flutter/issues/162618 to show to the Chrome
team.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-12 19:39:23 +00:00
Matej Knopp
1023664651
[Embedder] Detect and ignore stale task runner tasks (#163129)
Fixes https://github.com/flutter/flutter/issues/163104

The core issue is that `EmbedderTaskRunner` can schedule things in
advance, but there is no checking if the task is stale when executing
it. It is possible that `FlutterEngineRunTask` will attempt to run the
task on engine that is non null but already being deallocated.

This in not a problem for raster and platform task runners, because
raster task runner shouldn't have any scheduled tasks after shutdown and
platform task runner executes the shutdown process, so the pointer is
always either valid or null, but it is an issue for custom
`ui_task_runner`, because it may be calling `FlutterEngineRunTask` with
engine pointer that is not yet null but already shutting down.

The proposed solution is to assign a unique identifier for each
`EmbedderTaskRunner`, use this identifier as the `runner` field inside
`FlutterTask` instead of casting the address of the runner, and verify
that this identifier is valid inside `FlutterEngineRunTask` before
calling anything on the engine.

Special care needs to be done to not invalidate the unique identifier
while `ui_task_runner` is running a task as it may lead to raciness. See
`EmbedderEngine::CollectThreadHost()`.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-12 19:16:45 +00:00
Tong Mu
ef927e85d5
[Impeller] Add RoundSuperellipse class, containment check and stroking (#162826)
This PR:
* Adds a `RoundSuperellipse` class, which mirrors the current
`RoundRect` class.
* Implements `RoundSuperellipse::Contains`, which checks if a point is
contained by the RSE.
* Adds `Path::AddSuperellipse`, which draws an RSE with Bezier
approximation.
* Adds a `RoundSuperellipseParam` class, which is the common computation
shared by geometry drawing, stroking, and containment check.


https://github.com/user-attachments/assets/883c7762-7b35-432e-9b31-d204db3bd6e1


This PR also updates the RSE algorithm according to my recent research,
which uses one fewer precomputed variable (no more `d`), shares the same
gap factor with RRect, and allows much better precision. The result
shape is almost unchanged (~0.2% slimmer).

> For reviewers: The `RoundSuperellipseParam` and
`RoundSuperellipse::Contains` parts are repurposed from the abandoned
https://github.com/flutter/flutter/pull/162349. This PR is a preparation
for https://github.com/flutter/flutter/pull/160883.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-02-12 17:45:56 +00:00
Jonah Williams
ad74f9f0cd
[android] speculative fix for hcpp crashes. (#163108)
The crash indicates that FlutterJNI is returning a nullptr
SurfaceControl.Transaction. That likely indicates that we're trying to
rasterize a frame before the platform view controller is setup.
Potentially a startup race?

At any rate, if the PVC is null that means there is no platform views -
so it should be safe to create a tx on the fly. Interestingly I cannot
repro this locally even on the same device.

```
[2025-02-11 21:50:37.462356] [STDOUT] stdout: [ +173 ms] *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
[2025-02-11 21:50:37.462539] [STDOUT] stdout: [        ] Build fingerprint: 'google/cheetah/cheetah:13/TQ3A.230901.001/10750268:user/release-keys'
[2025-02-11 21:50:37.462564] [STDOUT] stdout: [        ] Revision: 'MP1.0'
[2025-02-11 21:50:37.463914] [STDOUT] stdout: [   +1 ms] ABI: 'arm64'
[2025-02-11 21:50:37.463946] [STDOUT] stdout: [        ] Timestamp: 2025-02-11 21:57:42.183302140-0800
[2025-02-11 21:50:37.463959] [STDOUT] stdout: [        ] Process uptime: 3s
[2025-02-11 21:50:37.464054] [STDOUT] stdout: [        ] Cmdline: dev.benchmarks.platform_views_layout
[2025-02-11 21:50:37.464174] [STDOUT] stdout: [        ] pid: 15185, tid: 15246, name: 1.raster  >>> dev.benchmarks.platform_views_layout <<<
[2025-02-11 21:50:37.464354] [STDOUT] stdout: [        ] uid: 10250
[2025-02-11 21:50:37.464398] [STDOUT] stdout: [        ] tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
[2025-02-11 21:50:37.464440] [STDOUT] stdout: [        ] signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000000000000000
[2025-02-11 21:50:37.464602] [STDOUT] stdout: [        ] Cause: null pointer dereference
[2025-02-11 21:50:37.464651] [STDOUT] stdout: [        ]     x0  b400007b82ff2e70  x1  000000000000002d  x2  b400007c3309f370  x3  0000007abbcc6a23
[2025-02-11 21:50:37.464745] [STDOUT] stdout: [        ]     x4  0000007a30d286b0  x5  0000007a4f6dd47b  x6  0000000000000000  x7  61686b4b11ff3a78
[2025-02-11 21:50:37.464831] [STDOUT] stdout: [        ]     x8  0000000000000000  x9  1417c2bd490e1f78  x10 0000000000000010  x11 000000000000009c
[2025-02-11 21:50:37.464933] [STDOUT] stdout: [        ]     x12 0000000000000adb  x13 b400007ba2fe9510  x14 0000000000000e6b  x15 b400007ba2fe9510
[2025-02-11 21:50:37.465012] [STDOUT] stdout: [        ]     x16 0000000000000001  x17 0000000000000067  x18 0000007a2f996000  x19 b400007b82ff2e70
[2025-02-11 21:50:37.465082] [STDOUT] stdout: [        ]     x20 000000000000002d  x21 b400007ae3064b60  x22 b400007af30d0fa8  x23 0000000000000001
[2025-02-11 21:50:37.465155] [STDOUT] stdout: [        ]     x24 0000007a30d2a000  x25 b400007b73028fb0  x26 0000007a3a22da20  x27 000000003b9bf6c8
[2025-02-11 21:50:37.465235] [STDOUT] stdout: [        ]     x28 b400007af30d0fa8  x29 b400007ad3022cd0
[2025-02-11 21:50:37.465318] [STDOUT] stdout: [        ]     lr  0000007a3a8c7918  sp  0000007a30d28940  pc  0000000000000000  pst 0000000040001000
[2025-02-11 21:50:37.465401] [STDOUT] stdout: [        ] backtrace:
[2025-02-11 21:50:37.465491] [STDOUT] stdout: [        ]       #00 pc 0000000000000000  <unknown>
[2025-02-11 21:50:37.465596] [STDOUT] stdout: [        ]       #01 pc 000000000088b914  /data/app/~~u9nRjz4bI1GoKFecw6gtbg==/dev.benchmarks.platform_views_layout-RoPBoOldhc38L7sINb2Vgg==/lib/arm64/libflutter.so (flutter::PlatformViewAndroidJNIImpl::createTransaction()+104) (BuildId: 8fab16f9507483301ef418db2c91ed06689696b1)
[2025-02-11 21:50:37.465688] [STDOUT] stdout: [        ]       #02 pc 000000000087f738  /data/app/~~u9nRjz4bI1GoKFecw6gtbg==/dev.benchmarks.platform_views_layout-RoPBoOldhc38L7sINb2Vgg==/lib/arm64/libflutter.so (std::_fl::__function::__func<flutter::AndroidSurfaceVKImpeller::SetNativeWindow(fml::RefPtr<flutter::AndroidNativeWindow>, std::_fl::shared_ptr<flutter::PlatformViewAndroidJNI> const&)::$_0, std::_fl::allocator<flutter::AndroidSurfaceVKImpeller::SetNativeWindow(fml::RefPtr<flutter::AndroidNativeWindow>, std::_fl::shared_ptr<flutter::PlatformViewAndroidJNI> const&)::$_0>, impeller::android::SurfaceTransaction ()>::operator()()+16) (BuildId: 8fab16f9507483301ef418db2c91ed06689696b1)
[2025-02-11 21:50:37.465785] [STDOUT] stdout: [        ]       #03 pc 0000000000bdbf1c  /data/app/~~u9nRjz4bI1GoKFecw6gtbg==/dev.benchmarks.platform_views_layout-RoPBoOldhc38L7sINb2Vgg==/lib/arm64/libflutter.so (std::_fl::__function::__func<impeller::AHBSwapchainImplVK::AcquireNextDrawable()::$_0, std::_fl::allocator<impeller::AHBSwapchainImplVK::AcquireNextDrawable()::$_0>, bool ()>::operator()()+1716) (BuildId: 8fab16f9507483301ef418db2c91ed06689696b1)
[2025-02-11 21:50:37.465874] [STDOUT] stdout: [        ]       #04 pc 0000000000b1d180  /data/app/~~u9nRjz4bI1GoKFecw6gtbg==/dev.benchmarks.platform_views_layout-RoPBoOldhc38L7sINb2Vgg==/lib/arm64/libflutter.so (flutter::SurfaceFrame::Submit()+148) (BuildId: 8fab16f9507483301ef418db2c91ed06689696b1)
[2025-02-11 21:50:37.465989] [STDOUT] stdout: [        ]       #05 pc 0000000000beb2b4  /data/app/~~u9nRjz4bI1GoKFecw6gtbg==/dev.benchmarks.platform_views_layout-RoPBoOldhc38L7sINb2Vgg==/lib/arm64/libflutter.so (flutter::Rasterizer::DrawToSurfacesUnsafe(flutter::FrameTimingsRecorder&, std::_fl::vector<std::_fl::unique_ptr<flutter::LayerTreeTask, std::_fl::default_delete<flutter::LayerTreeTask> >, std::_fl::allocator<std::_fl::unique_ptr<flutter::LayerTreeTask, std::_fl::default_delete<flutter::LayerTreeTask> > > >)+1284) (BuildId: 8fab16f9507483301ef418db2c91ed06689696b1)
[2025-02-11 21:50:37.466400] [STDOUT] stdout: [        ]       #06 pc 0000000000beac58  /data/app/~~u9nRjz4bI1GoKFecw6gtbg==/dev.benchmarks.platform_views_layout-RoPBoOldhc38L7sINb2Vgg==/lib/arm64/libflutter.so (flutter::Rasterizer::DrawToSurfaces(flutter::FrameTimingsRecorder&, std::_fl::vector<std::_fl::unique_ptr<flutter::LayerTreeTask, std::_fl::default_delete<flutter::LayerTreeTask> >, std::_fl::allocator<std::_fl::unique_ptr<flutter::LayerTreeTask, std::_fl::default_delete<flutter::LayerTreeTask> > > >)+112) (BuildId: 8fab16f9507483301ef418db2c91ed06689696b1)
[2025-02-11 21:50:37.466444] [STDOUT] stdout: [        ]       #07 pc 0000000000bec144  /data/app/~~u9nRjz4bI1GoKFecw6gtbg==/dev.benchmarks.platform_views_layout-RoPBoOldhc38L7sINb2Vgg==/lib/arm64/libflutter.so (std::_fl::__function::__func<flutter::Rasterizer::Draw(std::_fl::shared_ptr<flutter::Pipeline<flutter::FrameItem> > const&)::$_0, std::_fl::allocator<flutter::Rasterizer::Draw(std::_fl::shared_ptr<flutter::Pipeline<flutter::FrameItem> > const&)::$_0>, void (std::_fl::unique_ptr<flutter::FrameItem, std::_fl::default_delete<flutter::FrameItem> >)>::operator()(std::_fl::unique_ptr<flutter::FrameItem, std::_fl::default_delete<flutter::FrameItem> >&&)+192) (BuildId: 8fab16f9507483301ef418db2c91ed06689696b1)
[2025-02-11 21:50:37.466468] [STDOUT] stdout: [        ]       #08 pc 0000000000bebc48  /data/app/~~u9nRjz4bI1GoKFecw6gtbg==/dev.benchmarks.platform_views_layout-RoPBoOldhc38L7sINb2Vgg==/lib/arm64/libflutter.so (flutter::Rasterizer::Draw(std::_fl::shared_ptr<flutter::Pipeline<flutter::FrameItem> > const&)+360) (BuildId: 8fab16f9507483301ef418db2c91ed06689696b1)
[2025-02-11 21:50:37.466521] [STDOUT] stdout: [        ]       #09 pc 0000000000bf9f7c  /data/app/~~u9nRjz4bI1GoKFecw6gtbg==/dev.benchmarks.platform_views_layout-RoPBoOldhc38L7sINb2Vgg==/lib/arm64/libflutter.so (std::_fl::__function::__func<fml::internal::CopyableLambda<flutter::Shell::OnAnimatorDraw(std::_fl::shared_ptr<flutter::Pipeline<flutter::FrameItem> >)::$_0>, std::_fl::allocator<fml::internal::CopyableLambda<flutter::Shell::OnAnimatorDraw(std::_fl::shared_ptr<flutter::Pipeline<flutter::FrameItem> >)::$_0> >, void ()>::operator()()+84) (BuildId: 8fab16f9507483301ef418db2c91ed06689696b1)
[2025-02-11 21:50:37.466543] [STDOUT] stdout: [        ]       #10 pc 00000000008a09ec  /data/app/~~u9nRjz4bI1GoKFecw6gtbg==/dev.benchmarks.platform_views_layout-RoPBoOldhc38L7sINb2Vgg==/lib/arm64/libflutter.so (fml::MessageLoopImpl::RunExpiredTasksNow()+728) (BuildId: 8fab16f9507483301ef418db2c91ed06689696b1)
[2025-02-11 21:50:37.466667] [STDOUT] stdout: [        ]       #11 pc 00000000008a4600  /data/app/~~u9nRjz4bI1GoKFecw6gtbg==/dev.benchmarks.platform_views_layout-RoPBoOldhc38L7sINb2Vgg==/lib/arm64/libflutter.so (fml::MessageLoopAndroid::MessageLoopAndroid()::$_0::__invoke(int, int, void*)+84) (BuildId: 8fab16f9507483301ef418db2c91ed06689696b1)
[2025-02-11 21:50:37.466746] [STDOUT] stdout: [        ]       #12 pc 0000000000011178  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+808) (BuildId: 0b4a793fa8045c04066d988c68bac8bb)
[2025-02-11 21:50:37.466784] [STDOUT] stdout: [        ]       #13 pc 00000000000185e4  /system/lib64/libandroid.so (ALooper_pollOnce+100) (BuildId: 682dab490c18361d5d6527bcdd86cdfa)
[2025-02-11 21:50:37.466865] [STDOUT] stdout: [        ]       #14 pc 00000000008a470c  /data/app/~~u9nRjz4bI1GoKFecw6gtbg==/dev.benchmarks.platform_views_layout-RoPBoOldhc38L7sINb2Vgg==/lib/arm64/libflutter.so (fml::MessageLoopAndroid::Run()+28) (BuildId: 8fab16f9507483301ef418db2c91ed06689696b1)
[2025-02-11 21:50:37.466903] [STDOUT] stdout: [        ]       #15 pc 00000000008a283c  /data/app/~~u9nRjz4bI1GoKFecw6gtbg==/dev.benchmarks.platform_views_layout-RoPBoOldhc38L7sINb2Vgg==/lib/arm64/libflutter.so (std::_fl::__function::__func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()()+116) (BuildId: 8fab16f9507483301ef418db2c91ed06689696b1)
[2025-02-11 21:50:37.466943] [STDOUT] stdout: [        ]       #16 pc 00000000008a2670  /data/app/~~u9nRjz4bI1GoKFecw6gtbg==/dev.benchmarks.platform_views_layout-RoPBoOldhc38L7sINb2Vgg==/lib/arm64/libflutter.so (fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::__invoke(void*)+8) (BuildId: 8fab16f9507483301ef418db2c91ed06689696b1)
[2025-02-11 21:50:37.467002] [STDOUT] stdout: [        ]       #17 pc 00000000000c226c  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204) (BuildId: dc4001c2ef2dfc23467040797a96840c)
[2025-02-11 21:50:37.467058] [STDOUT] stdout: [        ]       #18 pc 0000000000054a30  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: dc4001c2ef2dfc23467040797a96840c)
[2025-02-11 21:50:37.525275] [STDOUT] stdout: [  +57 ms] 00:00 +0 -1: scrolling performance test (setUpAll) [E]
```
2025-02-12 17:37:08 +00:00
auto-submit[bot]
e8f34a9eea
Reverts "Roll Skia from f31c733c86c4 to 25937c31f153 (2 revisions) (#163127)" (#163133)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#163127
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: zanderso
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: The whole tree is red
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: engine-flutter-autoroll
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {fluttergithubbot}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:

https://skia.googlesource.com/skia.git/+log/f31c733c86c4..25937c31f153

2025-02-12 drott@chromium.org Prepare Fontations roll by allowing use of
deprecated functions
2025-02-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from ef2ef1072427 to 706e3be9d658 (19 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jamesgk@google.com,jimgraham@google.com,kjlubick@google.com on
the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-02-12 14:51:20 +00:00
engine-flutter-autoroll
cdce765847
Roll Skia from f31c733c86c4 to 25937c31f153 (2 revisions) (#163127)
https://skia.googlesource.com/skia.git/+log/f31c733c86c4..25937c31f153

2025-02-12 drott@chromium.org Prepare Fontations roll by allowing use of
deprecated functions
2025-02-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from ef2ef1072427 to 706e3be9d658 (19 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jamesgk@google.com,jimgraham@google.com,kjlubick@google.com on
the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-12 12:48:21 +00:00
Jonny Wang
f43542d8d5
Update .ci.yaml to support Fuchsia cherrypick branches (#163000)
Fuchsia cherry-pick branches were previously created in flutter/engine,
and now need to be supported in flutter/flutter:
https://github.com/flutter/engine/blob/main/.ci.yaml#L11

Branch naming was changed from `fuchsia_rNN` to `fuchsia_fNN` (see
https://chat.google.com/room/AAAAT9RJL9Q/AnUIORFRVOM)

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-02-12 10:44:08 +00:00
engine-flutter-autoroll
bfa9a4ed3f
Roll Skia from a9dbb2479c26 to 6f17f2ebb2e5 (2 revisions) (#163109)
https://skia.googlesource.com/skia.git/+log/a9dbb2479c26..6f17f2ebb2e5

2025-02-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn
from a1770b70c6be to 4111d9e10b6a (40 revisions)
2025-02-12 bungeman@google.com [pdf] Apply paint alpha to color shader
alpha

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jamesgk@google.com,jimgraham@google.com,kjlubick@google.com on
the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-12 07:38:23 +00:00
Jonah Williams
17ea9569da
[Impeller] mirror tile mode requires highp for Adreno. (#163066)
Fixes https://github.com/flutter/flutter/issues/162891

On Adreno GPU the mediump precision causes mirror to drop this number to
zero.
2025-02-12 04:15:07 +00:00
engine-flutter-autoroll
e924e8cb45
Roll Skia from 5b56d9a91633 to a9dbb2479c26 (6 revisions) (#163100)
https://skia.googlesource.com/skia.git/+log/5b56d9a91633..a9dbb2479c26

2025-02-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
jsfiddle-base from fb2d48f7af98 to 18808c894e65
2025-02-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
vulkan-deps from cd5e835851d1 to 7164021c9e32 (11 revisions)
2025-02-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
debugger-app-base from e9a6ea69ff3d to cc91ae26ecef
2025-02-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
shaders-base from 9481c3eb25d2 to 81fa6c51b85b
2025-02-11 michaelludwig@google.com Update rewrite_includes.py to
support duplicate header names
2025-02-11 bwils@google.com Manually trigger update of Skottie web.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC jamesgk@google.com,jimgraham@google.com,kjlubick@google.com on
the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-12 04:00:17 +00:00
engine-flutter-autoroll
4120730a29
Roll Dart SDK from d9d7f103b6b7 to fcef25f18e4d (3 revisions) (#163098)
https://dart.googlesource.com/sdk.git/+log/d9d7f103b6b7..fcef25f18e4d

2025-02-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-91.0.dev
2025-02-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-90.0.dev
2025-02-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.8.0-89.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC dart-vm-team@google.com,jimgraham@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2025-02-12 03:30:07 +00:00