34475 Commits

Author SHA1 Message Date
Brandon DeRosier
04d9268f98 [Impeller] Turn off StC. (flutter/engine#51191)
Turn it off to unblock the engine roll while investigating golden diffs: https://flutter-gold.skia.org/search?issue=144585&crs=github&patchsets=1&corpus=flutter
2024-03-05 03:57:24 +00:00
auto-submit[bot]
f29d809efb Reverts "Reland: [macOS] Use CVDisplayLink to drive repaint (#51126)" (flutter/engine#51192)
Reverts flutter/engine#51126
Initiated by: cbracken
Reason for reverting: looks like this regressed Skia benchmarks: https://flutter-flutter-perf.skia.org/e/?keys=Xbf8dce9c233bce34d20e2280e3f1d8db&selected=commit%3D39653%26name%3D%2Carch%3Dintel%2Cbranch%3Dmaster%2Cconfig%3Ddefault%2Cdevice_type%3Dnone%2Cdevice_version%3Dnone%2Chost_type%3Dmac%2Csub_result%3DtimeToFirstFrameRasterizedMicros%2Ctest%3Dflutter_gallery_macos__start_up%2C&xbaroffset=39569

The regression s
Original PR Author: knopp

Reviewed By: {cbracken}

This change reverts the following previous change:
Original Description:
This relands the PR reverted in https://github.com/flutter/engine/pull/51095

Changes since the original PR:
- The macOS embedder does not assume particular clock when calling the embedder API, but converts CAMediaTime to engine time and back (`FlutterTimeConverter`)
- `FlutterVSyncWaiter` does not wait for displaylink callback during warmup frame. This should prevent `timeToFirstFrameRasterizedMicros` regressions.
- When enforcing frame pacing the raster thread is not blocked. This should prevent `average_frame_rasterizer_time_millis` regressions.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-05 03:25:18 +00:00
skia-flutter-autoroll
9b21b47a8a Roll Skia from 9c62e7b382cf to a577399ed6fb (1 revision) (flutter/engine#51190)
https://skia.googlesource.com/skia.git/+log/9c62e7b382cf..a577399ed6fb

2024-03-05 johnstiles@google.com Revert "Use nmad in pow/log computation."

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 aaclarke@google.com,brianosman@google.com,herb@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-03-05 02:40:22 +00:00
LongCatIsLooong
8fd9bbee17 Reland "Remove migration flag and unused header files #50216" (flutter/engine#50259)
Forgot to update a pinned dependency in the previous attempt: https://github.com/flutter/tests/pull/340

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-05 02:17:05 +00:00
Zachary Anderson
1d7737e0a0 Shift git version fetching to tools/gn (flutter/engine#51175)
Avoids GN invoking python scripts that run git commands to determine git
hashes.

Part of https://github.com/flutter/flutter/issues/144430
2024-03-04 18:14:04 -08:00
Miguel
1b88c55bc7 [fuchsia] Remove now unnecessary diagnostics directory (flutter/engine#51180)
Inspect is now published using InspectSink and we can get rid of this
directory.

I'm unsure what "debug" and "ctrl" are for so I left them untouched.

Bug: https://g-issues.fuchsia.dev/issues/320785253

## 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] and the [C++,
Objective-C, Java style guides].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [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/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2024-03-05 03:03:50 +01:00
Brandon DeRosier
f6ea7a8c64 [Impeller] Enable depth buffer clipping & Stencil-then-Cover path rendering. (flutter/engine#50856)
Turn the page, wash your hands.

Addresses the following issues:
* https://github.com/flutter/flutter/issues/143077
* https://github.com/flutter/flutter/issues/137714
* https://github.com/flutter/flutter/issues/138460
* https://github.com/flutter/flutter/issues/123671
* https://github.com/flutter/flutter/issues/141961
* https://github.com/flutter/flutter/issues/134432
2024-03-05 00:52:02 +00:00
Jason Simmons
3f0b5277a0 [Impeller] Fix string comparison in MockGLES.CanInitialize test (flutter/engine#51181) 2024-03-04 23:52:55 +00:00
Gray Mackall
879a9147d9 [Re-land] Remove WindowManager reflection in SingleViewPresentation.java (flutter/engine#50890)
relands https://github.com/flutter/engine/pull/49996

Context b/326363243

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-04 23:49:38 +00:00
Ian McKellar
0ae34f2e93 [fuchsia] Prepare for @transitional removal (flutter/engine#51185)
Bug: https://fxbug.dev/42078310
2024-03-04 15:44:24 -08:00
skia-flutter-autoroll
00654f0f36 Roll Skia from 9ab297bf1c34 to 9c62e7b382cf (1 revision) (flutter/engine#51182)
https://skia.googlesource.com/skia.git/+log/9ab297bf1c34..9c62e7b382cf

2024-03-04 nscobie@google.com Enforce explicit OWNERS.android approval for generated SkUserConfig.h files

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 aaclarke@google.com,brianosman@google.com,herb@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-03-04 23:43:14 +00:00
skia-flutter-autoroll
b6dae829cf Roll Skia from f65ecbdfb09c to 9ab297bf1c34 (4 revisions) (flutter/engine#51178)
https://skia.googlesource.com/skia.git/+log/f65ecbdfb09c..9ab297bf1c34

2024-03-04 kjlubick@google.com Avoid use-after-move in SkShaper_harfbuzz
2024-03-04 johnstiles@google.com Remove divisions from Raster Pipeline blend ops.
2024-03-04 michaelludwig@google.com Use makeInset() for layer clip
2024-03-04 kjlubick@google.com Address clang tidy suggestions

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 aaclarke@google.com,brianosman@google.com,herb@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-03-04 22:12:05 +00:00
Brandon DeRosier
e816e8d983 [Impeller] Fix the clip replay mechanism. (flutter/engine#51173)
Clips were being ignored whenever MSAA backdrop restores were being done by attachment load.

Unblocks the StC flag flip: https://github.com/flutter/engine/pull/50856

Note that the new Gaussian blur does not currently work on GLES, and it's expected that this will cause backdrop blurs to cut a transparent hole wherever the backdrop blur should render.

This happens because the gaussian blur renders as fully transparent black (among other things, it uses arrays of structs for the uniforms, which is unsupported in GLES). Then, the backdrop blur renders the blur's result with the `Source` blend mode, cutting out a hole in this case.
2024-03-04 22:10:20 +00:00
Matej Knopp
ac9586994e Reland: [macOS] Use CVDisplayLink to drive repaint (flutter/engine#51126)
This relands the PR reverted in
https://github.com/flutter/engine/pull/51095

Changes since the original PR:
- The macOS embedder does not assume particular clock when calling the
embedder API, but converts CAMediaTime to engine time and back
(`FlutterTimeConverter`)
- `FlutterVSyncWaiter` does not wait for displaylink callback during
warmup frame. This should prevent `timeToFirstFrameRasterizedMicros`
regressions.
- When enforcing frame pacing the raster thread is not blocked. This
should prevent `average_frame_rasterizer_time_millis` regressions.

## 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] and the [C++,
Objective-C, Java style guides].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [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/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2024-03-04 21:57:45 +01:00
Jason Simmons
652c0e071c Support gtest-parallel when running Impeller unit tests (flutter/engine#51079)
ImpellerC tests that use a temporary directory will append the current process ID to the directory name to avoid collisions.

The temporary directory will also be deleted after each test case completes.

See https://github.com/flutter/flutter/issues/143379
2024-03-04 20:17:07 +00:00
Matan Lurey
b9c4a4c17c Scenario App: Adds a run_{count}.{backend}. file prefix to every run (on CI) (flutter/engine#51102)
Adds a flag, `--prefix-logs-per-run`, that defaults to `true` on CI
envrionments.

If present, instead of writing the file `${LOGS_DIR}/logcat.txt`, we
write `${LOGS_DIR}/{prefix}.logcat.txt`. I don't really like this
solution, but alternatives are using zip files (requires downloading to
view) or waiting on generic log improvements.

Closes https://github.com/flutter/flutter/issues/144402.
2024-03-04 11:12:41 -08:00
Matan Lurey
43f24a8c1f Use Instrumentation.waitForIdleSync() after rotation requests. (flutter/engine#51169)
Fixes https://github.com/flutter/flutter/issues/144553.

Looking roughly at:

-
<https://stackoverflow.com/questions/42482522/test-recreating-android-activity-using-instrumentation-and-junit4>
-
<https://stackoverflow.com/questions/10982370/instrumentation-test-for-android-how-to-receive-new-activity-after-orientation>

... and given the fact it's only the rotation tests that seem especially
flaky, let's give it a shot?

/cc @reidbaker @johnmccutchan if you have other advice.
2024-03-04 11:05:51 -08:00
skia-flutter-autoroll
c20e126881 Roll Skia from 9c7d13c05e77 to f65ecbdfb09c (1 revision) (flutter/engine#51170)
https://skia.googlesource.com/skia.git/+log/9c7d13c05e77..f65ecbdfb09c

2024-03-04 robertphillips@google.com [graphite] Add stably keyed 1D and 2D blur SkRuntimeEffects

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 aaclarke@google.com,brianosman@google.com,herb@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-03-04 18:53:43 +00:00
Dan Field
19296c0ffd Guard against API 22 (flutter/engine#51167)
This was introduced in #51070 - my grepping for `LOLLIPOP` was too aggressive, and apparently the linter didn't catch this. I think it's just a bug in the linter.

Fixes b/327717572, because Google internal tests caught this.
2024-03-04 18:40:19 +00:00
gaaclarke
b8060622bf [Impeller] implements blur styles inner and outer (flutter/engine#51018)
issue: https://github.com/flutter/flutter/issues/134178

This doesn't yet do textures since there is a bug in rendering mask blurs with textures.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-04 18:24:12 +00:00
skia-flutter-autoroll
12af0ae4d0 Roll Skia from ff3199348aab to 9c7d13c05e77 (5 revisions) (flutter/engine#51168)
https://skia.googlesource.com/skia.git/+log/ff3199348aab..9c7d13c05e77

2024-03-04 robertphillips@google.com [graphite] Add more stably keyed SkRuntimeEffects
2024-03-04 johnstiles@google.com Use nmad in pow/log computation.
2024-03-04 mike@reedtribe.org IWYU : std::max needs <algorithm>
2024-03-04 johnstiles@google.com Remove SkShaderBase::appendStages.
2024-03-04 johnstiles@google.com Reland "Remove matrix from PaintingData."

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 aaclarke@google.com,brianosman@google.com,herb@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-03-04 17:42:05 +00:00
skia-flutter-autoroll
2ed0257846 Roll Skia from 4b98d7b3ff2d to ff3199348aab (1 revision) (flutter/engine#51162)
https://skia.googlesource.com/skia.git/+log/4b98d7b3ff2d..ff3199348aab

2024-03-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 2ee295b475ec to fc440afa62a7 (6 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 aaclarke@google.com,brianosman@google.com,herb@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-03-04 16:27:16 +00:00
skia-flutter-autoroll
eccddb85ef Roll Skia from dfd933f9930c to 4b98d7b3ff2d (2 revisions) (flutter/engine#51160)
https://skia.googlesource.com/skia.git/+log/dfd933f9930c..4b98d7b3ff2d

2024-03-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from f5ba03c10e1a to 4425aa95d113
2024-03-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from d92d5744e419 to f5ba03c10e1a (1 revision)

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 aaclarke@google.com,brianosman@google.com,herb@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-03-04 06:43:12 +00:00
skia-flutter-autoroll
cfa66fea1a Roll Skia from a57372ca2e66 to dfd933f9930c (1 revision) (flutter/engine#51158)
https://skia.googlesource.com/skia.git/+log/a57372ca2e66..dfd933f9930c

2024-03-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 0b135d53cd80 to d9da44a9929a (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 aaclarke@google.com,brianosman@google.com,herb@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-03-04 05:25:22 +00:00
Liam Appelbe
27ca389132 Experimental platform isolates API (flutter/engine#48551)
This is a prototype of the [PlatformIsolate
API](https://github.com/flutter/flutter/issues/136314).

**UPDATE (Jan 25):** The PR is ready for review. PTAL.

The `PlatformIsolate` creation flow is:

1. `PlatformIsolate.spawn` running on parent isolate
(platform_isolate.dart)
    a. Create `isolateReadyPort`
    b. `PlatformIsolateNativeApi::Spawn` (platform_isolate.cc)
    c. `DartIsolate::CreatePlatformIsolate` (dart_isolate.cc)
d. Isolate created. Entry point invocation task dispatched to platform
thread
    e. `PlatformIsolate.spawn` returns a `Future<Isolate>`
2. On the platform thread, `_platformIsolateMain` is invoked in the
platform isolate
    a. Create `entryPointPort`
b. Send `Isolate.current` metadata and `entryPointPort` back to the
parent isolate via `isolateReadyPort`
3. Back in the parent isolate, `isolateReadyPort.handler` is invoked
a. Send the user's `entryPoint` and `message` to the platform isolate
via `entryPointPort`
b. Use received isolate metadata to create a new `Isolate` representing
the platform isolate and complete the `Future<Isolate>`
4. In the platform isolate, `entryPointPort.handler` is invoked
    a. Run the user's `entryPoint(message)`

The engine shutdown flow is handled by `PlatformIsolateManager`, which
maintains a set of running platform isolates.
2024-03-04 16:47:41 +13:00
Robert Ancell
614df9461d Fix custom FlValue API not being exported (flutter/engine#51154)
Would fail to link when using it in a Flutter app.
2024-03-04 15:05:41 +13:00
Zachary Anderson
8c09cffb92 Fold the GN dart_pkg template into its only use (flutter/engine#51151) 2024-03-03 20:33:47 +00:00
Jason Simmons
46259ce840 [Impeller] ASAN/LSAN fixes for the mock Vulkan implementation (flutter/engine#51115) 2024-03-01 22:18:22 +00:00
skia-flutter-autoroll
0d6adc6ec3 Roll Skia from b44ad3d40f54 to a57372ca2e66 (1 revision) (flutter/engine#51122)
https://skia.googlesource.com/skia.git/+log/b44ad3d40f54..a57372ca2e66

2024-03-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 0c9fdfc6c483 to 49ae911d780a (6 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 aaclarke@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-03-01 15:27:11 +00:00
skia-flutter-autoroll
7512a0d8c3 Roll Skia from d672d0fe2f0d to b44ad3d40f54 (1 revision) (flutter/engine#51121)
https://skia.googlesource.com/skia.git/+log/d672d0fe2f0d..b44ad3d40f54

2024-03-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 4d362242673e to 2ee295b475ec (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 aaclarke@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-03-01 07:53:05 +00:00
skia-flutter-autoroll
b2f1e43de0 Roll Skia from 002f4366e473 to d672d0fe2f0d (2 revisions) (flutter/engine#51119)
https://skia.googlesource.com/skia.git/+log/002f4366e473..d672d0fe2f0d

2024-03-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from d92d5744e419 to f5ba03c10e1a
2024-03-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 983e5c4c3486 to d92d5744e419 (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 aaclarke@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-03-01 06:48:23 +00:00
skia-flutter-autoroll
3e389aca25 Roll Skia from 5961ed9c1d99 to 002f4366e473 (1 revision) (flutter/engine#51117)
https://skia.googlesource.com/skia.git/+log/5961ed9c1d99..002f4366e473

2024-03-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from dd050a5bef8f to 0b135d53cd80 (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 aaclarke@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-03-01 05:37:14 +00:00
Jason Simmons
089d1979c5 [Impeller] Fix string search in CompilerTest.SkSLTextureLookUpOrderOfOperations (flutter/engine#51109) 2024-03-01 03:34:48 +00:00
Jason Simmons
9a9a760710 [Impeller] Fix vertex counts in some display list tests (flutter/engine#51111) 2024-03-01 03:15:16 +00:00
Jason Simmons
f37e96e73b [Impeller] Fix leak of rectangle packer in typographer tests (flutter/engine#51113) 2024-03-01 03:03:04 +00:00
skia-flutter-autoroll
0e3cb6d640 Roll Skia from 01d9566c4db8 to 5961ed9c1d99 (13 revisions) (flutter/engine#51106)
https://skia.googlesource.com/skia.git/+log/01d9566c4db8..5961ed9c1d99

2024-02-29 bungeman@google.com Have textshaper_harfbuzz_icu direct depend
2024-02-29 johnstiles@google.com Revert "Reland "[graphite] Enable SmallPathAtlas.""
2024-02-29 johnstiles@google.com Revert "[graphite] Rasterize SmallPathAtlas paths to the Plot backing store."
2024-02-29 jvanverth@google.com [graphite] Rasterize SmallPathAtlas paths to the Plot backing store.
2024-02-29 johnstiles@google.com Reland "Delete legacy shadeSpan implementation of Perlin Noise."
2024-02-29 kschmi@microsoft.com Expose min and max contrast and gamma values publicly
2024-02-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 12f9cddb3ff7 to 0c9fdfc6c483 (2 revisions)
2024-02-29 kjlubick@google.com Fix failures associated with skshaper refactor
2024-02-29 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from c288d62eb31b to dd050a5bef8f (4 revisions)
2024-02-29 kjlubick@google.com Make SkShaper more modular
2024-02-29 jvanverth@google.com Reland "[graphite] Enable SmallPathAtlas."
2024-02-29 robertphillips@google.com Manual Roll Dawn from aa0be6f5777f to c288d62eb31b (14 revisions)
2024-02-29 nscobie@google.com Update gn/gn_to_bp.py to allowlist only certain extensions in srcs

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 aaclarke@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-03-01 02:22:16 +00:00
Zachary Anderson
49b2bad89d Run apple SDK finders as gclient hooks (flutter/engine#50957)
Currently, these scripts run on each invocation of `gn`, and can take
many seconds to run.

This PR shifts them to run as `gclient` hooks instead, so that `gn` will
be faster.

Needs https://github.com/flutter/buildroot/pull/825.
2024-02-29 18:14:31 -08:00
Matan Lurey
7b7d9a2f43 Add a basic e2e-test for skia_gold_client. (flutter/engine#51078)
Basically, I take blank images of red/blue/green squares, like this:

![solid_red_square](https://github.com/flutter/engine/assets/168174/b1de63e4-8c3c-43ff-9bcf-b067a7e9d920)

... and use Image Magick to annotate it with the current git hash:

```sh
$ drt ./testing/skia_gold_client/tool/generate.dart

Writing annotation "8069cb4ca1" on images in testing/skia_gold_client/tool/source_images and saving them in testing/skia_gold_client/tool/e2e_fixtures.
Writing to testing/skia_gold_client/tool/e2e_fixtures/solid_red_square.png
Writing to testing/skia_gold_client/tool/e2e_fixtures/solid_green_square.png
Writing to testing/skia_gold_client/tool/e2e_fixtures/solid_blue_square.png
Done: wrote 3 image.
```

![solid_red_square](https://github.com/flutter/engine/assets/168174/0ece31a8-9e64-44a2-ad06-78c04b02650c)

... then, I upload the digests very similar to how we do it in `scenario_app`.

---

The idea here is to have a way for me to know if Skia gold is working the way I/we expect, independent of a more complicated test suite with various race-y or flake-y conditions. We could also augment it with tests of "dimensions" properties.
2024-03-01 01:33:07 +00:00
John McCutchan
0be7a9c4f0 Add et run command (flutter/engine#51037)
The `run` command builds both the host and target engines and then invokes `flutter run` so that it runs the app using the custom engine builds.

It is expected that 'et run' be used inside the directory of a flutter application.

Command line flags passed after `--` will be forwarded to `flutter run`.

Some examples:

- `et run` Build the debug variant and runs the app in that mode.
- `et run -- --profile` Build the profile variant and runs the app in that mode.
- `et run -- --release` Build the release variant and runs the app in that mode.

Also:

- Start a local_engine.json builder definition (it is missing a lot)
- Tweak the test fixture.
- Add a new Matcher to litetest.
- Tweaked the build config linter to only care about duplicate build names within the same builder.
2024-03-01 01:09:04 +00:00
Gray Mackall
dde1849f04 Add instructions for getting code coverage in Android Studio (flutter/engine#51105)
small readme change, because for whatever reason we need to apply the comment from this hero https://github.com/robolectric/robolectric/issues/3023#issuecomment-1326870713 to make code coverage work 

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-01 00:02:29 +00:00
skia-flutter-autoroll
49f7a86db8 Roll Skia from 139461270500 to 01d9566c4db8 (1 revision) (flutter/engine#51093)
https://skia.googlesource.com/skia.git/+log/139461270500..01d9566c4db8

2024-02-29 brianosman@google.com Fix subpixel image filtering in CPU backend

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 aaclarke@google.com,brianosman@google.com,rmistry@google.com,robertphillips@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-29 22:38:27 +00:00
skia-flutter-autoroll
8456f25d0e Manual roll Dart SDK from fdf4a62bd07b to 728fcf0bcbca (3 revisions) (flutter/engine#51098)
Manual roll requested by kevinjchisholm@google.com

https://dart.googlesource.com/sdk.git/+log/fdf4a62bd07b..728fcf0bcbca

2024-02-29 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-190.0.dev
2024-02-29 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-189.0.dev
2024-02-28 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-188.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 aaclarke@google.com,dart-vm-team@google.com,kevinjchisholm@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-29 22:36:05 +00:00
Jonah Williams
f86e04d688 [Impeller] use specific format for bootstrap texture. (flutter/engine#51082)
If we select a wide gamut format then 32 bits isn't enough to fill the texture.
2024-02-29 21:55:03 +00:00
Jonah Williams
4ccf46cb96 [Impeller] remove warning about device transient depth+stencil. (flutter/engine#51033)
I think this doesn't matter since use transient depth/stencil attachments now.
2024-02-29 21:29:12 +00:00
Robert Ancell
fc560d4bc2 Refactor GL rendering to prepare for GTK4 (flutter/engine#50754)
Refactor GL rendering to prepare for GTK4    
- Remove FlGLArea - we can just use GtkGLArea directly
- Stop using gdk_cairo_draw_from_gl, it's not available in GTK4.
- Rename FlRendererGL to FlRendererGdk, this was implying that
FlRenderer could be something other than OpenGL which is not the case
currently.
- Remove unnecessary virtual methods in FlRenderer, just implement them
as standard methods.

Related: https://github.com/flutter/flutter/issues/143408
2024-03-01 10:24:11 +13:00
Jackson Gardner
0424f1f86e Reland "[skwasm] Clip pictures if they go beyond the bounds of the window." (flutter/engine#51077)
This fixes https://github.com/flutter/flutter/issues/143800, where we are attempting to capture an image that is way too large. We only need to render the part of the image that will be visible in the window.

This includes some additional fixes for regressions in the original fix.
2024-02-29 21:06:02 +00:00
Matej Knopp
0d3941630d Revert "[macOS] Use CVDisplayLink to drive repaint (#49159)" (flutter/engine#51095)
The original PR assumed that `fml::TimePoint` has same base as
`CACurrentMediaTime()`. However due to recent change in Dart SDK that's
no longer true. Dart SDK
[replaced](https://dart-review.googlesource.com/c/sdk/+/348044?tab=comments)
call to `mach_absolute_time` with
`clock_gettime_nsec_np(CLOCK_MONOTONIC_RAW)`, while
`CACurrentMediaTime()` corresponds to `CLOCK_UPTIME_RAW`.

This needs to be fixed either in Dart SDK
https://github.com/dart-lang/sdk/issues/55071 or the original PR needs
to be relanded with appropriate conversions.

This reverts commit 8ff01af723be83ab019b0ddf7d64d8586d280186.

*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].*

## 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] and the [C++,
Objective-C, Java style guides].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [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/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2024-02-29 12:39:33 -08:00
Kevin Moore
7ba403293e [web] Drop noisy prints from bootstrapping logic (flutter/engine#51097)
Fixes https://github.com/flutter/flutter/issues/143976
2024-02-29 20:00:22 +00:00
Jackson Gardner
3615c28ff8 Fix a few issues rendering text with Skwasm. (flutter/engine#51074)
This fixes https://github.com/flutter/flutter/issues/141001
This also fixes https://github.com/flutter/flutter/issues/143743

* We need to always call `setStrutEnabled(true)` on `StrutStyle`.
* `getLineMetricsAt` had reversed ternary logic.
* We also need to apply the rounding hack in Skwasm.
* Ported unit tests from CanvasKit over to UI to cover Skwasm ~and HTML~
* ~The HTML renderer should return 0 line metrics for an empty paragraph.~
2024-02-29 19:42:09 +00:00
Jonah Williams
9d7d2d5142 [Impeller] test removal of submit batching. (flutter/engine#51094)
I have a feeling this is related to https://github.com/flutter/flutter/issues/144371 

Locally on the Pixel 4 (which is a similarish GPU, the batch submission is actually regressing performance).
2024-02-29 18:11:55 +00:00