25965 Commits

Author SHA1 Message Date
Jason Simmons
3708a26cba Migrate the Fuchsia embedder to the Dart_RecordTimelineEvent API (flutter/engine#50823)
Dart_TimelineEvent has been deprecated.
2024-02-21 18:26:55 +00:00
John McCutchan
304382c276 Hook ImageReaderSurfaceProducer to the onTrimMemory listener interface (flutter/engine#50792)
- Close all ImageReaders and Images when we get an onTrimMemory
callback.
- Remove the first frame fix based around caching the last image
displayed because it isn't safe to do on some platforms. Leave a TODO to
revisit this.

We have seen some reports of platform views not working after an
application is backgrounded and then resumed. According to Android GPU
folks ImageReader/Image/HardwareBuffers should be valid after an
application has been resumed. However on Samsung we know that isn't the
case and there are (unconfirmed) reports of it also impacting Pixel
devices.

Should fix https://github.com/flutter/flutter/issues/142978 and
https://github.com/flutter/flutter/issues/139039

Also fixes https://github.com/flutter/flutter/issues/143720
2024-02-21 10:02:55 -08:00
Matan Lurey
6fdc95a63e Fix the local-only lint errors due to an unexpected GeneratedPluginRegistrant.java (flutter/engine#50795)
Remove `android/**/GeneratedPluginRegistrant.java` from the global
`.gitignore`.

This file should never exist in the source tree, locally or on CI, and
it existing/being hidden causes lint errors.

## Background

Here is what we _think_ happens:

- Someone opens `$ENGINE/src/flutter/testing/scenario_app` in VS Code
- VS Code picks this up as a "Flutter package", running `flutter
packages get`
- The Flutter tool generates `../GeneratedPluginRegistrant.java`,
thinking this is a Flutter app
- The lint error fails on `GeneratedPluginRegistrant`

```txt
$ ninja -j100 -C out/android_debug_unopt_arm64/
FAILED: scenario_app/reports/lint-results.xml 
vpython3 ../../flutter/testing/rules/run_gradle.py /Users/aaclarke/dev/engine/src/flutter/testing/scenario_app/android lint --no-daemon -Pflutter_jar=/Users/aaclarke/dev/engine/src/out/android_debug_unopt_arm64/flutter.jar -Pout_dir=/Users/aaclarke/dev/engine/src/out/android_debug_unopt_arm64/scenario_app --project-cache-dir=/Users/aaclarke/dev/engine/src/out/android_debug_unopt_arm64/scenario_app/.gradle --gradle-user-home=/Users/aaclarke/dev/engine/src/out/android_debug_unopt_arm64/scenario_app/.gradle

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:lintDebug'.
>                 Lint found errors in the project; aborting build.
  
                  Fix the issues identified by lint, or create a baseline to see only new errors:
                  '''
                  android {
                      lint {
                          baseline = file("lint-baseline.xml")
                      }
                  }
                  '''
  
                  For more details, see https://developer.android.com/studio/write/lint#snapshot
  
                  Lint found 1 errors, 0 warnings. First failure:
```

/cc @christopherfujino for any other theories.
2024-02-21 09:58:55 -08:00
Jonah Williams
b4640a0910 [Impeller] cache onscreen render targets. (flutter/engine#50751)
Currently we cache render pass objects to offscreen render targets only. Caching onscreen doesn't work as 1) the render targets are stored on the texture_vk object and 2) the texture_vk object is recreated for each frame (see https://github.com/flutter/engine/blob/main/impeller/renderer/backend/vulkan/surface_vk.cc#L14 ).

To make sure the render pass is cached, move the storage to the texture source.

part of https://github.com/flutter/flutter/issues/141750
2024-02-21 17:51:56 +00:00
Zachary Anderson
f6629ffe5c Use 'et format' in CI. Check formatting of all files in CI (flutter/engine#50810)
This PR changes the format check on CI to use the command added in
https://github.com/flutter/engine/pull/50747.

Additionally, while making this change, I noticed that the CI check was
not checking the formatting of all files, and that as a result, files
were present in the repo with incorrect formatting. I have fixed the
formatting and fixed the check to always check all files.
2024-02-21 09:38:08 -08:00
Jonah Williams
9d7ba5629a [Impeller] force bootstrap render pass. (flutter/engine#50749)
Part of https://github.com/flutter/flutter/issues/138236

Creating the first VkRenderPass takes 6ms on a Pixel 7.

In the previous PR I attempted to use the Impeller HAL API, but this caused more problems than it solved - breaking mocks and also leading to odd behavior I think may be due to threading issues when submitting the bootstrap cmd buffer.

It seems like all we need to do to trigger the shader compilation is create the render pass, so add a ContextVK override that creates and throws it away, without beginning the render pass, creating a cmd buffer, or doing any extra work.
2024-02-21 16:50:03 +00:00
Matan Lurey
a14176f13c Disallow files additional named GeneratedPluginRegistrant.java. (flutter/engine#50796)
Closes https://github.com/flutter/flutter/issues/143782.

Also introduces a test that the test itself passes.

I considered adding this to `ci/analyze.sh`, but it seems better suited for `ci/format.sh` (which is also on git-hooks). Wdut?
2024-02-21 15:34:13 +00:00
Brandon DeRosier
a807720d27 [Impeller] Add GeometryResult enum with StC modes. (flutter/engine#50816)
Replace `prevent_overdraw` with an enum that also containing the two StC cases.
2024-02-21 08:10:01 +00:00
Brandon DeRosier
45beb486b2 [Impeller] Remove non-Flutter fill types from impeller::Path. (flutter/engine#50814)
Flutter only supports evenOdd and nonZero, with nonZero being the default.
2024-02-21 07:24:06 +00:00
Brandon DeRosier
935f860071 [Impeller] Apply Entity depth in filter shaders that may render directly to an EntityPass. (flutter/engine#50742) 2024-02-21 07:12:16 +00:00
skia-flutter-autoroll
9ef45330b9 Roll Fuchsia Linux SDK from gKg6HlBeR52y-cMhu... to dLhvv964txwnSlvNw... (flutter/engine#50813)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC jimgraham@google.com,rmistry@google.com,zra@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
2024-02-21 06:26:18 +00:00
Bruno Leroux
5e5052b8f9 [Web] Update modifier state when Meta key is seen as Process key (flutter/engine#50779)
## Description

On Web, browsers can emit key events with a logical key sets to `Process` when the physical key is MetaLeft. Because the modifier state is 0 despite Meta key being pressed this will trigger an assert.
This PR adds some logic for this specific case. Maybe a more slightly broader solution will be needed (using the same logic for all modifiers ?). I focused on MetaLeft because it was directly reported on  https://github.com/flutter/flutter/issues/141186.

## Related Issue

Fixes https://github.com/flutter/flutter/issues/141186.

## Tests

Adds 1 test.
2024-02-21 05:37:08 +00:00
Jason Simmons
fa635a5b27 Add pub.dev to the hosted package URIs checked by the pub_get_offline script (flutter/engine#50811)
pub get --offline may fetch packages that are in the local package cache but were previously downloaded from a hosted source.  The script needs to check for packages that came from either the old or new locations of the Dart hosted package repository.
2024-02-21 04:45:53 +00:00
Zachary Anderson
6ebbce07e7 Make global builds uniquely named per platform (flutter/engine#50764)
This is expected to help with
https://github.com/flutter/flutter/issues/132807
2024-02-20 19:41:40 -08:00
Zachary Anderson
6a936a530c [et] Adds a format command (flutter/engine#50747)
For https://github.com/flutter/flutter/issues/132807
2024-02-20 19:40:47 -08:00
Brandon DeRosier
21bb5f4bda [Flutter GPU] Fix symbol export for windows. (flutter/engine#50755)
Symbols weren't getting exported on Windows because the `FML_OS_WIN`
macro wasn't being imported.
2024-02-20 19:03:27 -08:00
Jonah Williams
5214d3861d Disable framework smoke tests. (flutter/engine#50800)
We do not think these tests have value and/or are running in the correct
place. These tests almost never fail. When they do fail, it is often due
to an unrelated breakage in the framework
2024-02-20 17:04:32 -08:00
Jonah Williams
3447737d89 [Impeller] more nullchecks in image decoder. (flutter/engine#50787)
Speculative fix for https://github.com/flutter/flutter/issues/138897 which cannot be reprouced.
2024-02-20 22:19:55 +00:00
Loïc Sharma
7c8dcec741 [Windows] Add ID to views (flutter/engine#50788)
Adds an ID to a view:

1. `FlutterWindowsView` now has a ID
2. The `FlutterWindowsEngine::view(...)` accessor now requires a view ID parameter

This is a refactoring with no semantic changes.

Part of https://github.com/flutter/flutter/issues/143765

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-20 20:40:04 +00:00
Matan Lurey
302af8e9f5 Move the scenario_app running Impeller+OpenGLES to bringup: triue (flutter/engine#50789)
1. OpenGLES is much flakier than Skia or Vulkan.
2. OpenGLES is not currently being released so it's lower priority to
fix.

See https://github.com/flutter/flutter/issues/143626.
2024-02-20 11:32:00 -08:00
Jason Simmons
c0159abf1b Implement the render_to_surface flag in GPUSurfaceGLImpeller (flutter/engine#50669)
Without this, the EmbedderExternalViewEmbedder's call to SurfaceFrame::Submit will render an empty display list that will overwrite the output rendered by the external view embedder's layers.

See https://github.com/flutter/flutter/issues/143387
2024-02-20 19:27:09 +00:00
Zachary Anderson
77cbd54c43 [et] Adds a .bat entrypoint for Windows (flutter/engine#50784)
For https://github.com/flutter/flutter/issues/132807
2024-02-20 18:48:18 +00:00
zijiehe@
914efefa87 [Fuchsia] Create dedicated testers to run tests and deprecate femu_test (flutter/engine#50697)
This change creates a fuchsia_profile_arm64_tester builder inside of the existing linux_fuchsia group. Comparing with fuchsia_profile_arm64, it uses `--no-lto` to limit the cost of compilation of test suites.
Similar to the fuchsia_profile_x64, it runs release build test cases + aot test.

E.g. https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20Engine%20Drone/1998852/overview or more accurately https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8755990392554423809/+/u/test:_arm64_emulator_based_profile___aot_tests/stdout.

The same approach also applied to other builders. Now each fuchsia builder has its own tester which compiles test cases without lto. The change reduces the time cost of linux_fuchsia to around 20 min, e.g. https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20linux_fuchsia/6662/overview

After this change, linux_fuchsia group has a higher coverage than the combination of linux fuchsia emu + linux fuchsia emu arm64. So I removed both builders from the `.ci.yaml` as well.

Bug: https://github.com/flutter/flutter/issues/140179

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-20 18:39:09 +00:00
skia-flutter-autoroll
51be21e062 Roll Skia from 50e1b709781c to 9d86359b5fe8 (2 revisions) (flutter/engine#50786)
https://skia.googlesource.com/skia.git/+log/50e1b709781c..9d86359b5fe8

2024-02-20 sharaks@google.com Merge 6 release notes into RELEASE_NOTES.md
2024-02-20 johnstiles@google.com Optimize unread function parameter passing in SkRP.

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 brianosman@google.com,jimgraham@google.com,rmistry@google.com,scroggo@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
2024-02-20 18:39:08 +00:00
skia-flutter-autoroll
2a664766fe Roll Skia from 2dc00a705f1c to 50e1b709781c (5 revisions) (flutter/engine#50785)
https://skia.googlesource.com/skia.git/+log/2dc00a705f1c..50e1b709781c

2024-02-20 kjlubick@google.com Fix copypasta in EGL define
2024-02-20 herb@google.com Only use _opts unpremul on ARM
2024-02-20 kjlubick@google.com More clang-tidy suggested fixes
2024-02-20 michaelludwig@google.com Reland "[skif] Track padding around FilterResult images"
2024-02-20 johnstiles@google.com Eliminate unnecessary function parameter copies in SkRP.

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 brianosman@google.com,jimgraham@google.com,rmistry@google.com,scroggo@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
2024-02-20 17:39:10 +00:00
Jonah Williams
7df4674f94 [Impeller] add missing std::move in setup depth stencil. (flutter/engine#50750)
We copy the std::shared_ptr since both the stencil and depth attachments need to reference this shared ptr. The second usage can still be moved to avoid a shared_ptr release.
2024-02-20 17:29:19 +00:00
Loïc Sharma
f3ad50c810 [Windows] Make the engine create the view (flutter/engine#50673)
This makes the Windows engine create views. Benefits:

1. This will allow the engine to assign IDs to views as it creates them. This will be added in a subsequent change
2. Previously views needed special logic to not crash if they were used before an engine was attached to them. Now, views are always attached to an engine.

Part of https://github.com/flutter/flutter/issues/137267
Part of https://github.com/flutter/flutter/issues/142845

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-20 16:41:46 +00:00
skia-flutter-autoroll
4f1b2c05e6 Roll Skia from 2f9bb1517740 to 2dc00a705f1c (2 revisions) (flutter/engine#50782)
https://skia.googlesource.com/skia.git/+log/2f9bb1517740..2dc00a705f1c

2024-02-20 brianosman@google.com Use SkColor4f in shader luminance color functions
2024-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 01a09793b6e4 to 01c25f446238 (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 brianosman@google.com,jimgraham@google.com,rmistry@google.com,scroggo@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
2024-02-20 16:23:48 +00:00
skia-flutter-autoroll
e0366fd12d Roll Skia from a76b083ac4cc to 2f9bb1517740 (1 revision) (flutter/engine#50781)
https://skia.googlesource.com/skia.git/+log/a76b083ac4cc..2f9bb1517740

2024-02-20 sharaks@google.com Update Skia milestone to 124

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 brianosman@google.com,jimgraham@google.com,rmistry@google.com,scroggo@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
2024-02-20 15:14:50 +00:00
skia-flutter-autoroll
7bf6f31048 Roll Dart SDK from 8bb8ff24aea3 to f344e2266468 (1 revision) (flutter/engine#50780)
https://dart.googlesource.com/sdk.git/+log/8bb8ff24aea3..f344e2266468

2024-02-20 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-157.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-engine
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 Engine: 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
2024-02-20 14:01:22 +00:00
skia-flutter-autoroll
da4c4e82f3 Roll Skia from ff602d384586 to d448ca514a56 (4 revisions) (flutter/engine#50776)
https://skia.googlesource.com/skia.git/+log/ff602d384586..d448ca514a56

2024-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from cbcd86cee01f to 6564b89238ac
2024-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 3527012e3563 to cbcd86cee01f (1 revision)
2024-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from d3e0bd4770cc to 4663ec14a251 (5 revisions)
2024-02-20 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 13783d616289 to 01a09793b6e4 (8 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 brianosman@google.com,jsimmons@google.com,rmistry@google.com,scroggo@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
2024-02-20 06:15:16 +00:00
skia-flutter-autoroll
d7193159fd Roll Fuchsia Linux SDK from HFmcvzkR3TYeHa_0U... to gKg6HlBeR52y-cMhu... (flutter/engine#50771)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC jsimmons@google.com,rmistry@google.com,zra@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
2024-02-20 03:07:09 +00:00
Jim Graham
7ceed6ac6b [Impeller] Run stroke benchmarks on unclosed paths (flutter/engine#50765)
The stroking benchmarks were using source paths that were completely closed which means that they were never testing the performance of stroke caps since none would be generated while widening the paths.

All stroking benchmarks are now run against unclosed versions of the paths to provide a mix of caps and joins in the measurements, and the non-stroking benchmarks are now also run against unclosed versions of the paths to add more measurements using the newly available test path data.

This change will affect all of the geometry benchmarks named "stroke_[Curve type]_[Cap]_[Join]". The Round and Square cap benchmarks will be the most affected and for the worse.
2024-02-19 21:04:22 +00:00
skia-flutter-autoroll
53f43d4885 Roll Dart SDK from 6d659f880394 to 475e710429ee (1 revision) (flutter/engine#50763)
https://dart.googlesource.com/sdk.git/+log/6d659f880394..475e710429ee

2024-02-19 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-155.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-engine
Please CC dart-vm-team@google.com,jsimmons@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter Engine: 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
2024-02-19 18:01:23 +00:00
Taha Tesser
393748e8c5 Revert "Fix iOS password autofill prompt dismissal causes layout to resize (#50364)" (flutter/engine#50760)
This reverts commit 5f93393312241b5616a9253b7bf9cd82b5d77dda.

Reverts https://github.com/flutter/engine/pull/50364

fixes https://github.com/flutter/flutter/issues/143642

*Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.*

*List which issues are fixed by this PR. You must list at least one issue.*

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-19 09:36:32 +00:00
skia-flutter-autoroll
24b8456a94 Roll Skia from a4ff02094bbd to 6eaa7cf6d013 (4 revisions) (flutter/engine#50759)
https://skia.googlesource.com/skia.git/+log/a4ff02094bbd..6eaa7cf6d013

2024-02-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 3ca8befb2412 to e04b7c7392d9 (8 revisions)
2024-02-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 3527012e3563 to cbcd86cee01f
2024-02-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from cfeca87ea13f to 3527012e3563 (5 revisions)
2024-02-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from d8439c0f5bfa to d3e0bd4770cc (17 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 brianosman@google.com,jsimmons@google.com,rmistry@google.com,scroggo@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
2024-02-19 07:47:28 +00:00
Matan Lurey
cfac6a5d5f Write adb logcat results and screenshots to FLUTTER_LOGS_DIR if able. (flutter/engine#50722)
Fixes https://github.com/flutter/flutter/issues/143586.

This should make it easier to understand what is/isn't happening, and will unblock https://github.com/flutter/flutter/issues/143458, and make https://github.com/flutter/flutter/issues/143459 potentially easier to debug.
2024-02-18 20:31:28 +00:00
Brandon DeRosier
ef2a104514 [Impeller] Fix golden flake due to rand use. (flutter/engine#50743)
Now that we're capturing goldens, we shouldn't use `std::rand` here. Explicitly seeded pseudorandom generators offered by the runtime or STL may also result in flakes as the runtime is updated over time.
2024-02-17 23:04:23 +00:00
skia-flutter-autoroll
2038bc726f Roll Fuchsia Linux SDK from YN5KCfom7Ax0Z69s_... to uSZ0te7RWVq4IFpjb... (flutter/engine#50746)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC jsimmons@google.com,rmistry@google.com,zra@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
2024-02-17 21:24:08 +00:00
skia-flutter-autoroll
35632d8cd1 Roll Skia from bb61c2b4614e to 0d2dbf53aef6 (3 revisions) (flutter/engine#50744)
https://skia.googlesource.com/skia.git/+log/bb61c2b4614e..0d2dbf53aef6

2024-02-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a8bde474ad6e to 73413fef3ec0 (4 revisions)
2024-02-16 scroggo@google.com SkWuffsCodec: Skip copying stream if PreferStillImage
2024-02-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from cfeca87ea13f to 80035da8ddde

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 brianosman@google.com,johnstiles@google.com,jsimmons@google.com,rmistry@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
2024-02-17 11:26:55 +00:00
Jonah Williams
4a5c573f14 [Impeller] add additional setup method that caches more pipelines, warms internal shader code (flutter/engine#50521)
Part of https://github.com/flutter/flutter/issues/138236

Fixes a number of issues related to startup performance by adding an "InitializeCommonlyUsedShadersIfNeeded" method to content context.

On the first frame of a flutter application renders, the backend will populate the glyph atlas for the first time. On the Vulkan backend, this executes vkCmdCopyBufferToImage. The first time this runs, Arm Mali drivers will generate an additional shader program. Creates a 1x1 texture and sets the contents to force this code to compile eagerly.

![image](https://github.com/flutter/engine/assets/8975114/558e7680-77e1-4cec-94d2-17128f4c8865)

The first time a render pass is constructed, a shader is complied. This does not seem to depend on the properties of the render pass, so we just create a trivial one and submit it.

![image](https://github.com/flutter/engine/assets/8975114/4d9c9266-adfb-4d18-84cc-eb60127147ed)

Finally there are a few missing shader variants. Lets just go ahead a populate that cache a bit more
2024-02-17 05:37:05 +00:00
Brandon DeRosier
ca0765d43a [Impeller] Assign subpass depth on restore rather than creation. (flutter/engine#50626)
The subpass depth is used for drawing the texture to the parent pass. So it needs a depth > all of the clips contained within the subpass.

Also correct the way we're assigning the depth value in shaders.
2024-02-17 04:39:13 +00:00
skia-flutter-autoroll
d3c5ebf9cd Roll Dart SDK from fa66195a3814 to 6d659f880394 (1 revision) (flutter/engine#50739)
https://dart.googlesource.com/sdk.git/+log/fa66195a3814..6d659f880394

2024-02-17 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-154.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-engine
Please CC dart-vm-team@google.com,jsimmons@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter Engine: 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
2024-02-17 02:01:18 +00:00
Robert Ancell
0c1e0846c0 Connect signals in swapped form. (flutter/engine#50705)
This makes them look more like methods.
2024-02-16 17:01:03 -08:00
Jason Simmons
46354c09fe Restore use of the API 34 device in the Firebase Test Lab script and handle FTL infrastructure errors in the script (flutter/engine#50735)
This test had been temporarily moved to an API 33 device as a workaround for an FTL infrastructure issue (see https://github.com/flutter/engine/pull/50721)

This PR resumes use of a Pixel 8/API 34 device for the FTL tests.  It also retries the test if FTL returns an error code that is known to represent an FTL infrastructure error.  If the retries fail, then the test script will not block the engine tree if all failures were caused by infrastructure.

This is similar to what the CI recipes are doing in https://flutter.googlesource.com/recipes/+/a181878fde742dacd94afca04c5a4db1b3c30b91
2024-02-17 00:56:05 +00:00
skia-flutter-autoroll
4e8d419e25 Roll Skia from e4e234d412ee to bb61c2b4614e (4 revisions) (flutter/engine#50736)
https://skia.googlesource.com/skia.git/+log/e4e234d412ee..bb61c2b4614e

2024-02-16 brianosman@google.com Return a luminance color from SkColor4Shader
2024-02-16 kjlubick@google.com Enforce IWYU on misc ganesh files
2024-02-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 59c02c8da968 to a8bde474ad6e (5 revisions)
2024-02-16 bungeman@google.com [svg] Add offset adjustment once per line

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 brianosman@google.com,johnstiles@google.com,jsimmons@google.com,rmistry@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
2024-02-16 23:44:23 +00:00
skia-flutter-autoroll
0446189603 Roll Skia from 6ae5032133d0 to e4e234d412ee (1 revision) (flutter/engine#50733)
https://skia.googlesource.com/skia.git/+log/6ae5032133d0..e4e234d412ee

2024-02-16 jvanverth@google.com [graphite] Add 4-byte alignment to RasterPathAtlas uploads.

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 brianosman@google.com,johnstiles@google.com,jsimmons@google.com,rmistry@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
2024-02-16 22:52:24 +00:00
gaaclarke
8515af7ee9 Pulled out dir contents golden tool (flutter/engine#50703)
fixes https://github.com/flutter/flutter/issues/143459

This also starts using it as part of scenario_app.

Testing: Is part of the testing infrastructure.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-16 22:18:05 +00:00
skia-flutter-autoroll
85129f0e30 Roll Dart SDK from 21b9ee6f0a52 to fa66195a3814 (3 revisions) (flutter/engine#50732)
https://dart.googlesource.com/sdk.git/+log/21b9ee6f0a52..fa66195a3814

2024-02-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-153.0.dev
2024-02-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-152.0.dev
2024-02-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-151.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-engine
Please CC dart-vm-team@google.com,jsimmons@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter Engine: 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
2024-02-16 22:04:14 +00:00
skia-flutter-autoroll
a0aba8e2ce Roll Skia from 2919d86cad12 to 6ae5032133d0 (8 revisions) (flutter/engine#50729)
https://skia.googlesource.com/skia.git/+log/2919d86cad12..6ae5032133d0

2024-02-16 lovisolo@google.com [bazel] Rewrite Android benchmark tests to depend on the modular build.
2024-02-16 kjlubick@google.com Add #ifdef guards to headers to avoid double-declarations
2024-02-16 lovisolo@google.com [bazel] Rewrite benchmark tests to depend on the modular build.
2024-02-16 kjlubick@google.com Remove SkWuffsCodec.h
2024-02-16 bungeman@google.com Enable skia_use_libgrapheme on jobs
2024-02-16 lovisolo@google.com [bazel] BazelBenchmarkTestRunner.cpp: Various cleanups.
2024-02-16 lovisolo@google.com [bazel] GaneshBenchmarkTarget.cpp: Fix outdated enum.
2024-02-16 johnstiles@google.com Reduce single-component swizzles to an unmasked copy.

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 brianosman@google.com,johnstiles@google.com,jsimmons@google.com,rmistry@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
2024-02-16 21:27:59 +00:00