25799 Commits

Author SHA1 Message Date
gaaclarke
daaedbbe2b [Impeller] deleted the old blur (flutter/engine#50470)
fixes https://github.com/flutter/flutter/issues/131579


## 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-12 09:00:06 -08:00
K Lubick
bb9eaca791 Update codec defines for Skia (flutter/engine#50554)
Skia is coalescing some defines related to codecs in
https://skia-review.googlesource.com/c/skia/+/811816

This will let that change land (hopefully).

## 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].
- [ ] 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-12 11:59:32 -05:00
Zachary Anderson
ac3b11c8c8 Remove host_debug_unopt build from linux_host_engine.json (flutter/engine#50555)
It wasn't being used for anything on this builder, and the same config was being built below under a different name.
2024-02-12 16:58:28 +00:00
skia-flutter-autoroll
d4d9646461 Roll Fuchsia Linux SDK from H1cNBBNhq0bEpcyPs... to uoByvKUBgYXArsFGL... (flutter/engine#50542)
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 chinmaygarde@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-11 00:21:07 +00:00
Matan Lurey
748e3f8e0b Remove legacy references to Cirrus and suspected dead-code. (flutter/engine#50442) 2024-02-10 22:08:23 +00:00
skia-flutter-autoroll
5a7fcdd062 Roll Dart SDK from 10ca8dc7d2b4 to ed5730124fd1 (1 revision) (flutter/engine#50523)
https://dart.googlesource.com/sdk.git/+log/10ca8dc7d2b4..ed5730124fd1

2024-02-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-128.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 chinmaygarde@google.com,dart-vm-team@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-10 03:39:21 +00:00
Zachary Anderson
5a34bc8fa5 Adds a runner to engine_build_configs (flutter/engine#50342)
This PR adds an API to the `engine_build_configs` package that executes
an engine build config locally . This API is a building block for an
eventual command line tool to streamline workflows in the engine repo.
In particular, it will allow the command line tool to execute the same
config, build, and test commands that are run on CI.
2024-02-09 18:42:22 -08:00
Dan Field
b56621e3ae Clean up additional NDK helper related code (flutter/engine#50518)
Moves more dlsym related code to ndk_helpers.h/cc.
2024-02-10 01:08:08 +00:00
Juanjo Tugores
7b2766a191 Make the web engine publish view forward focus and unfocus events (flutter/engine#50177)
Make the flutter web engine publish view focus events.

Relevant Issues are:
* Design doc link: https://github.com/flutter/website/actions/runs/7560898849/job/20588395967
* Design doc: https://github.com/flutter/flutter/issues/141711
* Focus in web multiview: https://github.com/flutter/flutter/issues/137443
* Platform dispatcher changes: https://github.com/flutter/engine/pull/49841

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-09 23:30:16 +00:00
skia-flutter-autoroll
0ccccc3e74 Roll Fuchsia Linux SDK from RK2irywND2DKT4l6C... to H1cNBBNhq0bEpcyPs... (flutter/engine#50517)
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 chinmaygarde@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-09 23:28:00 +00:00
skia-flutter-autoroll
413fb0cb49 Roll Dart SDK from 444f7a422da4 to 10ca8dc7d2b4 (1 revision) (flutter/engine#50516)
https://dart.googlesource.com/sdk.git/+log/444f7a422da4..10ca8dc7d2b4

2024-02-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-127.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 chinmaygarde@google.com,dart-vm-team@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-09 23:20:56 +00:00
Chinmay Garde
ecebcc1704 [Impeller] Add --enable-impeller-vulkan-playgrounds to ./flutter/tools/gn (flutter/engine#50477)
One has to manually `gn args` to add this flag (usually on macOS) now.
2024-02-09 22:44:34 +00:00
Jason Simmons
603ed08902 [Impeller] Remove the unused Vulkan queue submit task runner (flutter/engine#50511)
see https://github.com/flutter/engine/pull/50484
2024-02-09 22:08:35 +00:00
Zachary Anderson
3874808898 Make .style.yapf and .pylintrc agree on line length (flutter/engine#50510)
For https://github.com/flutter/flutter/issues/143243

yapf and pylint check different things, but occasionally overlap. I
think we'll just have to make them agree when we catch them fighting.
2024-02-09 14:07:57 -08:00
Jason Simmons
709f2ece94 [Impeller] Call vkQueuePresentKHR through the ContextVK's synchronized graphics queue wrapper (flutter/engine#50509)
SwapchainImplVK had been querying the physical device for a queue that supports presentation on the specified surface.  However, the selected queue is typically the same VkQueue instance as the graphics queue provided by ContextVK.

This could cause a thread policy violation where the raster thread is calling vkQueuePresentKHR while the IO thread is calling vkQueueSubmit on the same queue during image decoding.

This PR moves the vkQueuePresentKHR call to the ContextVK's graphics queue wrapper, which serializes access to the VkQueue.
2024-02-09 21:50:01 +00:00
gaaclarke
f97e1fd131 [Impeller] cleaned up StrokePathGeometry and removed runtime polymorphism (flutter/engine#50506)
followup to https://github.com/flutter/engine/pull/50379

improvements:
1) Symbols in cc are now in anonymous namespaces
1) The header is smaller (limits recompilation time)
1) Removed runtime polymorphism (faster, yay)

## 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].
- [ ] 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-09 13:06:41 -08:00
David Iglesias
8a8ce3b20f [web] Fix HtmlViewEmbedder.dispose (flutter/engine#50482)
Fix a `Concurrent modification during iteration` in the `dispose` method of the HtmlViewEmbedder.

### Issues

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-09 19:11:48 +00:00
skia-flutter-autoroll
e6f37afc69 Roll Dart SDK from 03130d49f214 to 444f7a422da4 (6 revisions) (flutter/engine#50502)
https://dart.googlesource.com/sdk.git/+log/03130d49f214..444f7a422da4

2024-02-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-126.0.dev
2024-02-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-125.0.dev
2024-02-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-124.0.dev
2024-02-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-123.0.dev
2024-02-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-122.0.dev
2024-02-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-121.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 chinmaygarde@google.com,dart-vm-team@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-09 18:54:09 +00:00
Jonah Williams
7c2fad0219 [Impeller] improve performance of polyline and stroke generation by reducing allocation and lambda usage. (flutter/engine#50379)
Attempts to reduce the allocation overhead of the stroke geometry generator, while also making it easier to debug and profile. Reverts the change to make PathBuilder::TakePath not move the path data, as this was regressing performance.

* removes dynamic std::vector from cubic to linear component evaluation.
* removes copy from path positions to UVs for texture filled paths
* removes almost all stateful lambdas. Instead there is now a statefull interface that generates the vertices. Stack traces now have useful names.
* Cap/Join procs are now static functions.

Fixes https://github.com/flutter/flutter/issues/142873
2024-02-09 18:37:21 +00:00
Zachary Anderson
f1a490179b Supports building with RBE on a Windows host. (flutter/engine#49877)
Requires https://github.com/flutter/buildroot/pull/820
2024-02-09 09:22:22 -08:00
skia-flutter-autoroll
b5f6bc2878 Manual roll Dart SDK from 452dd17120b7 to 03130d49f214 (4 revisions) (flutter/engine#50494)
Manual roll requested by zra@google.com

https://dart.googlesource.com/sdk.git/+log/452dd17120b7..03130d49f214

2024-02-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.4.0-120.0.dev
2024-02-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.4.0-119.0.dev
2024-02-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.4.0-118.0.dev
2024-02-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.4.0-117.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 chinmaygarde@google.com,dart-vm-team@google.com,zra@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

---------

Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
2024-02-09 08:57:18 -08:00
skia-flutter-autoroll
1fe3be66b7 Roll Skia from 14ee546dcfe8 to fbe1d2265637 (2 revisions) (flutter/engine#50495)
https://skia.googlesource.com/skia.git/+log/14ee546dcfe8..fbe1d2265637

2024-02-09 kjlubick@google.com Remove dm and nanobench from Android Framework build
2024-02-09 jvanverth@google.com [graphite] Allow different mask Renderers for PathAtlas.

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,bungeman@google.com,chinmaygarde@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-09 16:44:05 +00:00
Jason Simmons
ab7f3cccc4 [Impeller] Remove the Vulkan queue submit thread and always present Vulkan images on the raster thread (flutter/engine#50484)
The queue submit thread could sometimes call vkQueuePresentKHR while the raster thread is calling vkAcquireNextImageKHR.  The simultaneous use of the swapchain on multiple threads violates Vulkan threading rules.
2024-02-09 15:23:07 +00:00
skia-flutter-autoroll
2a50143959 Roll Skia from 64a25300fe1c to 68cb550de88d (2 revisions) (flutter/engine#50491)
https://skia.googlesource.com/skia.git/+log/64a25300fe1c..68cb550de88d

2024-02-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from f431641a9486 to 3ad163d09102 (4 revisions)
2024-02-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from fac5758b02f3 to 536d1c386426 (2 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,bungeman@google.com,chinmaygarde@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-09 08:17:15 +00:00
Dan Field
e10db251ff [Impeller] Move impeller/image to impeller/playground/image (flutter/engine#50480)
Deletes usage in Scene of this code, which was the only non-test location that used it.

This code imports Skia based code to decompress PNG images, and it's not clear when we'd need it outside of tests at this point.

It is otherwise a pretty thin wrapper around a texture allocation.

Fixes https://github.com/flutter/flutter/issues/143194
2024-02-09 00:42:24 +00:00
Chinmay Garde
c095d66749 Sever the //flutter/vulkan dependency in Flutter in the Android embedder. (flutter/engine#50472)
The previous code was setting up a proc table, then getting the address of the proc that was used to the setup that table, then setting up another proc table. Directly setup the final proc table and don't depend on //impeller/vulkan.

Part of https://github.com/flutter/flutter/issues/143127
Similar to https://github.com/flutter/engine/pull/50454
2024-02-09 00:06:13 +00:00
David Iglesias
4b7ef33126 Reland "[web] Fix Scene clip bounds. Trigger resize on DPR Change." (flutter/engine#50457)
## Changes

1. Reverts commit 911b1400ea, to re-land:
   * https://github.com/flutter/engine/pull/50161
2. Adds a fix to the way the HTML Scene computes its bounds that should be compatible with the current imlementation of Flutter's Golden tests.

## Issues

* Fixes https://github.com/flutter/flutter/issues/129182

## Testing

### Goldens

Verified locally that all the golden tests that caused this to roll back looked acceptable:

* [💾 goldens-check.zip](https://github.com/flutter/engine/files/14203071/goldens-check.zip)

### Test app

* Redeployed at:
  * https://dit-astral-test.web.app/?renderer=html (HTML, full screen)
  * https://dit-astral-test.web.app/?renderer=html&embedded=true (CK, embedded) 
  * https://dit-astral-test.web.app/?renderer=canvaskit (CK, full screen)
  * https://dit-astral-test.web.app/?renderer=canvaskit&embedded=true (CK, embedded) 

## Next steps

During the investigation of this rollback, we found some opportunities to improve our web tests in the repo. Tracking issue:

* https://github.com/flutter/flutter/issues/143124

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-08 23:35:04 +00:00
Chinmay Garde
437c939632 [Impeller] Delete the archivist framework. (flutter/engine#50474)
It is unused and can be brought back from Git if needed. This unnecessarily adds to binary size estimates on standalone Impeller investigations.
2024-02-08 22:49:00 +00:00
skia-flutter-autoroll
dcf2e52abf Roll Fuchsia Linux SDK from CPiPDUwCrjHYf_lAR... to RK2irywND2DKT4l6C... (flutter/engine#50473)
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 chinmaygarde@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-08 22:08:06 +00:00
dependabot[bot]
27adeb7752 Bump actions/upload-artifact from 4.3.0 to 4.3.1 (flutter/engine#50388)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.0 to 4.3.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's releases</a>.</em></p>
<blockquote>
<h2>v4.3.1</h2>
<ul>
<li>Bump <code>@​actions/artifacts</code> to latest version to include <a href="https://redirect.github.com/actions/toolkit/pull/1648">updated GHES host check</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5d5d22a312"><code>5d5d22a</code></a> Merge pull request <a href="https://redirect.github.com/actions/upload-artifact/issues/515">#515</a> from actions/eggyhead/update-artifact-v2.1.1</li>
<li><a href="f1e993d966"><code>f1e993d</code></a> update artifact license</li>
<li><a href="4881bfd3f2"><code>4881bfd</code></a> updating dist:</li>
<li><a href="a30777e265"><code>a30777e</code></a> <a href="https://github.com/eggyhead"><code>@​eggyhead</code></a></li>
<li><a href="3a8048248f"><code>3a80482</code></a> Merge pull request <a href="https://redirect.github.com/actions/upload-artifact/issues/511">#511</a> from actions/robherley/migration-docs-typo</li>
<li><a href="9d63e3f2f8"><code>9d63e3f</code></a> Merge branch 'main' into robherley/migration-docs-typo</li>
<li><a href="dfa1ab292d"><code>dfa1ab2</code></a> fix typo with v3 artifact downloads in migration guide</li>
<li><a href="d00351bf69"><code>d00351b</code></a> Merge pull request <a href="https://redirect.github.com/actions/upload-artifact/issues/509">#509</a> from markmssd/patch-1</li>
<li><a href="707f5a7b71"><code>707f5a7</code></a> Update limitation of <code>10</code> artifacts upload to <code>500</code></li>
<li>See full diff in <a href="26f96dfa69...5d5d22a312">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/upload-artifact&package-manager=github_actions&previous-version=4.3.0&new-version=4.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
2024-02-08 21:45:05 +00:00
Chinmay Garde
a506103288 Sever the //flutter/vulkan dependency in Flutter tester. (flutter/engine#50454)
The previous code was setting up a proc table, then getting the address of the proc that was used to the setup that table, then setting up another proc table. Directly setup the final proc table and don't depend on //impeller/vulkan.

Part of https://github.com/flutter/flutter/issues/143127
2024-02-08 21:37:38 +00:00
gaaclarke
3296aee197 Updated CONTRIBUTING.md to have a testing section (flutter/engine#50469)
fixes https://github.com/flutter/flutter/issues/143087

## 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-08 13:18:23 -08:00
Rulong Chen(陈汝龙)
ae1b5bbb13 Fix Core Foundation object leaks. (flutter/engine#50460)
This fixes Core Foundation object leaks.

----
Unrelated, just as exciting: Today is the last day before the Chinese New Year, and I wish everyone a Happy New Year of the Dragon, Xin Nian Kuai Le! :)

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-08 21:18:11 +00:00
Hassan Toor
650f4b9728 [web] - Fix inputmode on Android Firefox (flutter/engine#46901)
The wrong keyboard type shows when users specify the phone input type in the framework. 

This is happening because:

* We usually set `inputmode` for mobile text editing strategies.
* We only use Android's text editing strategy for Blink browser engines (not firefox), so we fall through to the Firefox text editing strategy which I believe should only be used for desktop firefox.
* So we're ending up in a case where Android + Firefox doesn't set the inputmode and it pops open the default alphanumeric keyboard

Fixes https://github.com/flutter/flutter/issues/136351
2024-02-08 20:10:48 +00:00
Brandon DeRosier
4eae677520 [Impeller] Vulkan: Don't fail initialization if stencil-only textures aren't supported. (flutter/engine#50455)
Closes https://github.com/flutter/flutter/issues/137108

We don't rely on stencil-only textures anymore in the 2D renderer.
2024-02-08 17:44:52 +00:00
Jonah Williams
f97711784b [Impeller] remove extra buffer usage in compute. (flutter/engine#50415)
Previously we were not able to effectively reserve host buffer regions, as these would map to host only memory and later be converted to device memory. Now that the host buffer is always device memory, we don't need to create compute specific buffers for the point_field_geometry.
2024-02-08 17:22:40 +00:00
gaaclarke
9fef46c3c8 [Impeller] blur: drop eighth downsample barrier (flutter/engine#50405)
issue: https://github.com/flutter/flutter/issues/142990

I pushed this value as low as I dared to go and ended up with a kernel
size of 41 (radius 20). This means the range of sigma ~60 to ~70 will
now be 1/16th scalar instead of 1/8th.

Here is the new downsample rate versus sigma on a 2x display.

## before
<img width="903" alt="Screenshot 2024-02-06 at 10 28 58 AM"
src="https://github.com/flutter/engine/assets/30870216/f94896d3-fe1c-40e5-8ff4-d50bafbd0b5e">

## after
<img width="901" alt="Screenshot 2024-02-06 at 10 26 49 AM"
src="https://github.com/flutter/engine/assets/30870216/bc5cced7-b8c4-4597-9dd4-c460b966176b">


## 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.
- [ ] 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-08 08:39:05 -08:00
skia-flutter-autoroll
e1dcfcdae4 Roll Skia from 8e08ece134da to 97f12df11af2 (1 revision) (flutter/engine#50461)
https://skia.googlesource.com/skia.git/+log/8e08ece134da..97f12df11af2

2024-02-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 35d65e587f8e to fac5758b02f3 (4 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,bungeman@google.com,chinmaygarde@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-08 05:53:23 +00:00
Xilai Zhang
4c16dfe8cc [github actions] update license year (flutter/engine#50458)
context: https://github.com/flutter/engine/pull/50265#pullrequestreview-1868207906

minor fix to license year.
2024-02-08 04:40:13 +00:00
Robert Ancell
6f39b9941b Clear objects before setting them. (flutter/engine#50344)
The existing code worked, but it cleared the objects before calling
init_keyboard. This made it look like init_keyboard might leak the
existing values. If a third case was added later where init_keyboard was
called it would leak if the caller didn't clear the objects before
calling it.
2024-02-08 16:20:57 +13:00
Rulong Chen(陈汝龙)
e3b318920a [ios] Fix memory leak in ChildClippingView (flutter/engine#50389)
This fixes the memory leak in `ChildClippingView`.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-08 01:43:37 +00:00
Michael Goderbauer
c3d355cadd Report display sizes in physical pixels on MacOS (flutter/engine#50221)
Fixes https://github.com/flutter/flutter/issues/142629

`Display.size`'s [documentation](https://main-api.flutter.dev/flutter/dart-ui/Display/size.html) says (emphasize mine):

> The **physical** size of this display.

But we have actually been reporting the size in logical pixels - up until now!
2024-02-07 23:19:19 +00:00
zijiehe@
bcd7116bef [Fuchsia] Run tests with multiple packages (flutter/engine#50219)
This change enables tests requiring multiple packages in both debug and
release builders; though the AOT test cannot be executed.
Also 4 out of 5 suites are excluded from release builder since some of
the tests are failing; it's worth extra investigation.
MouseInputTest in theory is enabled, it indeed contains only disabled
tests.

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

## 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-07 15:17:31 -08:00
skia-flutter-autoroll
5131cf0219 Roll Skia from 8332438cbeb9 to 91a9154d0dfa (2 revisions) (flutter/engine#50452)
https://skia.googlesource.com/skia.git/+log/8332438cbeb9..91a9154d0dfa

2024-02-07 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Skia Infra from e83737e1d145 to 35d65e587f8e (29 revisions)
2024-02-07 kschmi@microsoft.com Add contrast and gamma to SkSurfaceProps and use in text rendering

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,bungeman@google.com,chinmaygarde@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-07 22:41:19 +00:00
Jonah Williams
a363e03859 [Impeller] move path out of PathBuilder in TakePath. (flutter/engine#50444)
We should move this path so we don't end up allocating/deallocating twice. 

Fixes https://github.com/flutter/flutter/issues/142873
2024-02-07 22:01:04 +00:00
skia-flutter-autoroll
c720373a9e Roll Skia from eacaa2d3600c to 8332438cbeb9 (6 revisions) (flutter/engine#50451)
https://skia.googlesource.com/skia.git/+log/eacaa2d3600c..8332438cbeb9

2024-02-07 borenet@google.com [recipes] Fix SCP for ChromeOS
2024-02-07 borenet@google.com [recipes] Remove dependency on python recipe module
2024-02-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skottie-base from 906e4c4c9b17 to 67e2da56aec4
2024-02-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll shaders-base from 89826f3f6f5d to 45ec924a5da0
2024-02-07 johnstiles@google.com Reland "Remove GR_TEST_UTILS from module loader."
2024-02-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll jsfiddle-base from b575daa903da to db3abc597412

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,bungeman@google.com,chinmaygarde@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-07 21:46:06 +00:00
Dan Field
9f9ab34867 [Impeller] Log non-default graphics backend usages, use IMPORTANT rather than ERROR (flutter/engine#50448)
Fixes https://github.com/flutter/flutter/issues/142488

- Only logs on iOS if Skia is used instead of Impeller.
- Logs on other platforms if Impeller is used instead of Skia.
- Uses "IMPORTANT" rather than "ERROR" for these logs. This will show up by default since flutter_tools sets ERROR and above as logs to show.
- Adds some tests.
- Makes INFO log print file paths the same as other verbosities.
2024-02-07 21:29:12 +00:00
skia-flutter-autoroll
354e532c5f Roll Fuchsia Linux SDK from kvEXgoydRYnW3UvX2... to CPiPDUwCrjHYf_lAR... (flutter/engine#50447)
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 chinmaygarde@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-07 21:04:04 +00:00
Matan Lurey
b79821c019 Fix Android scenario_app to actually run and block on CI (flutter/engine#50414)
20337eaea4
(now reverted) intentionally re-introduced a bug
(https://github.com/flutter/engine/pull/49938) on a now working test
runner, and verified that (with some fixes in this PR), we can now catch
regressions on CI with SkiaGold:

---

<details>

<summary>ExternalTextureTests_testCanvasSurface.png</summary>

This test shows that what previously was a picture has been reduced down
to a single stretched pixel.

**BEFORE**:


![ExternalTextureTests_testCanvasSurface](https://github.com/flutter/engine/assets/168174/1509ea21-2887-4a3b-b200-b857bbfb8304)

**AFTER**:


![ExternalTextureTests_testCanvasSurface](https://github.com/flutter/engine/assets/168174/d9ae19c8-dd39-4e7f-859c-5d82bd1ba0a3)

</details>

<details>

<summary>ExternalTextureTests_testRotatedMediaSurface_180.png</summary>

Similar to above, but shows _another_ bug (kClamp versus kRepeat)

**BEFORE**:


![ExternalTextureTests_testRotatedMediaSurface_180](https://github.com/flutter/engine/assets/168174/fee5bc8d-749f-4a59-976a-a573515fecea)

**AFTER**:


![ExternalTextureTests_testRotatedMediaSurface_180](https://github.com/flutter/engine/assets/168174/a5249f70-22b4-4d36-8b63-e88c8a6846fe)/cc

</details>

---

This PR now makes the `scenario_test` useful and blocking for Android
engine rolls:

- Add support for connecting to SkiaGold by depending on `goldctl` in
the appropriate configs.
- Add some useful local debugging flags for skipping SkiaGold or running
specific tests (not used by default).
- Failing to connect to Skia gold is now a test failure.
2024-02-07 12:58:41 -08:00
auto-submit[bot]
53ba0f96e4 Reverts "Roll Dart SDK from 452dd17120b7 to 322c81160fa9 (1 revision)" (flutter/engine#50450)
Reverts flutter/engine#50437

Initiated by: zanderso

Reason for reverting: Blocking the roll to the framework

Original PR Author: skia-flutter-autoroll

Reviewed By: {fluttergithubbot}

This change reverts the following previous change:
Original Description:

https://dart.googlesource.com/sdk.git/+log/452dd17120b7..322c81160fa9

2024-02-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-117.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 chinmaygarde@google.com,dart-vm-team@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-07 20:28:18 +00:00