26285 Commits

Author SHA1 Message Date
Chinmay Garde
67ee7c76fe [Impeller] Add utility for type safe masks. (flutter/engine#51361)
We use and recommend type safe enums. But when it comes to masks of those enums (`TextureUsageMask`, `ColorWriteMask`, etc.), these are all untyped and you can create one either from a scalar of the enums underlying type, or using ugly and error prone static casts. At the callee, there is no type checking and another error prone static cast.

This patch adds a type-safe mask type. This should allow for the migration of something like:

```c++
using TextureUsageMask = uint64_t;
```

with

```c++
using TextureUsageMask = Mask<TextureUsage>;
```

Subsequently, all static casts can be removed with full type checking throughout.

This doesn't migrate existing uses yet. That will come in a separate patch.
2024-03-12 20:59:08 +00:00
skia-flutter-autoroll
fde1e9cf6c Roll Dart SDK from c97f2b303259 to 7f26f32f374f (3 revisions) (flutter/engine#51359)
https://dart.googlesource.com/sdk.git/+log/c97f2b303259..7f26f32f374f

2024-03-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-226.0.dev
2024-03-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-225.0.dev
2024-03-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-224.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 bdero@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-03-12 20:04:40 +00:00
skia-flutter-autoroll
7aa4b116d5 Roll Skia from 6e1f7333b2c7 to 47baa55b4669 (2 revisions) (flutter/engine#51360)
https://skia.googlesource.com/skia.git/+log/6e1f7333b2c7..47baa55b4669

2024-03-12 robertphillips@google.com [graphite] Add Empty shader to PaintParamsKeyTest
2024-03-12 robertphillips@google.com [graphite] Add UniqueKeyUtils in order to share code

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC bdero@google.com,brianosman@google.com,fmalita@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-12 20:01:53 +00:00
Brandon DeRosier
40c0cdea26 [Impeller] Fix shader depth assignment & glyph atlas transform. (flutter/engine#51343)
Resolves https://github.com/flutter/flutter/issues/144333.

This patch fixes two things:
* Absorb the homogenous component of the position before overriding the depth in all shaders that take a depth value. This ensures the transform can't end up affecting the depth.
* The glyph atlas transform: The same as @jason-simmons's fix in https://github.com/flutter/flutter/issues/144333#issuecomment-1986679500.

Before:
![Screenshot 2024-03-11 at 4 37 27 PM](https://github.com/flutter/engine/assets/919017/225171c0-87b6-4a95-a452-8ec139b92d24)

After:
![Screenshot 2024-03-11 at 4 38 16 PM](https://github.com/flutter/engine/assets/919017/62f6e803-6d2d-464f-a470-86fee898215f)
2024-03-12 19:40:57 +00:00
Jackson Gardner
f646f9a40c Reland "Move emscripten out of the buildroot into the flutter repo" (flutter/engine#51353)
This is a reland of the change moving the emsdk out of the buildroot, but without the removal of `web_dependencies`, since that removal was causing issues with the rollers.
2024-03-12 18:32:08 +00:00
skia-flutter-autoroll
4cba92e851 Roll Skia from 32f1cb50734a to c123cce23f20 (9 revisions) (flutter/engine#51351)
https://skia.googlesource.com/skia.git/+log/32f1cb50734a..c123cce23f20

2024-03-12 robertphillips@google.com Skip image_from_yuv_textures on the Nexus7
2024-03-12 blnvdanil@gmail.com Handle drawing oval, rect and rrect with path effect in svg
2024-03-12 herb@google.com Add bulk option for quick unpremul
2024-03-12 brianosman@google.com Remove legacy (incorrect) non-AA edge rounding code
2024-03-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 51c9e2056611 to 804247a574ea (2 revisions)
2024-03-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 38c0aeb0143f to 29928baa390b
2024-03-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 912fc2090a1b to 38c0aeb0143f (7 revisions)
2024-03-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 12c6b842d83d to f495bf1066de (15 revisions)
2024-03-11 kjlubick@google.com Add SkCodec API to preserve original data

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 bdero@google.com,brianosman@google.com,fmalita@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-12 17:15:50 +00:00
Chris Bracken
dd2227c9f9 Migrate perfetto to flutter/third_party (flutter/engine#51272)
Migrate perfetto from the buildroot's third_party directory to the engine's.

Issue: https://github.com/flutter/flutter/issues/144204
Part of: https://github.com/flutter/flutter/issues/67373

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-12 17:12:06 +00:00
Gray Mackall
25865c11b1 Try making android scenario app not do animations (flutter/engine#51349)
Skips animations

Looks like this, for reference:
[no_animation_example.webm](https://github.com/flutter/engine/assets/34871572/0c8665a3-b546-4bbd-b7e1-00851c48e1ff)

(This is the animation from https://github.com/flutter/engine/pull/51329, so note that the first test looks weird because I lagged my emulator by alt tabbing).

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-12 17:03:18 +00:00
skia-flutter-autoroll
5958146dbb Roll Dart SDK from 7a2c94fd0a26 to c97f2b303259 (1 revision) (flutter/engine#51345)
https://dart.googlesource.com/sdk.git/+log/7a2c94fd0a26..c97f2b303259

2024-03-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.4.0-223.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,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
2024-03-12 08:35:36 -07:00
skia-flutter-autoroll
e40f26e9de Roll Fuchsia Linux SDK from L6_XzizcJqjneCvGA... to UR-nKoLidl7cVLrrN... (flutter/engine#51344)
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 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-03-12 04:09:31 +00:00
gaaclarke
06027becb6 [Impeller] implements blur styles for gradients (flutter/engine#51264)
fixes https://github.com/flutter/flutter/issues/144449

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-12 00:05:19 +00:00
Xilai Zhang
0fbd9368b6 [codesign] fix typo in binary path (flutter/engine#51339)
failure in release: [link](https://logs.chromium.org/logs/dart-internal/buildbucket/cr-buildbucket/8753728916366397505/+/u/Global_generators/Codesign__Volumes_Work_s_w_ir_cache_builder_src_out_release_framework_unsigned_framework.zip/codesign_Apple_engine_binaries/stdout)

Updates x84 to x86
2024-03-11 23:37:26 +00:00
David Iglesias
e62c718145 [web] Split initialization of the _flutter namespace and loader object. (flutter/engine#51294)
This makes it possible to more flexibly compose `{{flutter_js}}` and `{{flutter_build_options}}` in @eyebrowsoffire's [bootstrapping improvements PR](https://github.com/flutter/flutter/pull/144434).

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-11 23:21:17 +00:00
skia-flutter-autoroll
41a13ea3e5 Roll Dart SDK from 09a1a1ede1c4 to 7a2c94fd0a26 (1 revision) (flutter/engine#51338)
https://dart.googlesource.com/sdk.git/+log/09a1a1ede1c4..7a2c94fd0a26

2024-03-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-222.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,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
2024-03-11 23:17:55 +00:00
skia-flutter-autoroll
f324bb2a69 Roll Skia from 6f10903e2d28 to 32f1cb50734a (5 revisions) (flutter/engine#51331)
https://skia.googlesource.com/skia.git/+log/6f10903e2d28..32f1cb50734a

2024-03-11 brianosman@google.com Change Slug drawing to accept a paint at draw-time
2024-03-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from f5ef6971f8fb to 51c9e2056611 (1 revision)
2024-03-11 johnstiles@google.com Fix ClangTidy readability-redundant-control-flow warning.
2024-03-11 jvanverth@google.com [graphite] Add zero-sized path handling to new RasterPathAtlas method.
2024-03-11 briansalomon@gmail.com [graphite] Support mipmap filtering for YUVA Images

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,fmalita@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 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-11 23:13:47 +00:00
Gray Mackall
9eedb6ab86 Make scenario app have translucent splash screen so it doesn't affect screenshot colors (flutter/engine#51329)
Makes the scenario app splash screen have a translucent color, so it doesn't end up overlaying on screenshots.

Before:
[device-2024-03-07-152047.webm](https://github.com/flutter/flutter/assets/34871572/a9b7a1f9-57ab-4eda-93e5-5ca70032cbef)

After:
[translucentsplash.webm](https://github.com/flutter/engine/assets/34871572/a6eb6407-add0-4004-83f9-4e0a5c1bb6f6)

This sort of fixes https://github.com/flutter/flutter/issues/144657? The issue is still odd to me, though, because I don't know why the test runner wouldn't be waiting properly for the splash screen.

Bonus, this is what it looks like if we [change the runner](a70a0abdec/testing/scenario_app/bin/run_android_tests.dart (L352)) to not use animations, with `--no-window-animation` (but don't include the splash screen change):
[no_animation_example.webm](https://github.com/flutter/engine/assets/34871572/0c8665a3-b546-4bbd-b7e1-00851c48e1ff)
You can see there is still a moment of color change at the end of tests (ignore the very first test I was alt tabbing and lagged out my emulator).

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-11 23:04:55 +00:00
Zachary Anderson
7fac661f11 [gn] Change sdk_rewriter() template to use depfiles (flutter/engine#51314)
Part of https://github.com/flutter/flutter/issues/144430

From `gn help inputs`: "It may be tempting to write a script that enumerates all files in a directory
as inputs. Don't do this!"
2024-03-11 21:46:01 +00:00
auto-submit[bot]
0c2c540e72 Reverts "Move emscripten out of the buildroot into the flutter repo. (#51299)" (flutter/engine#51330)
Reverts: flutter/engine#51299
Initiated by: zanderso
Reason for reverting: Blocking the autoroller
Original PR Author: eyebrowsoffire

Reviewed By: {matanlurey}

This change reverts the following previous change:
This migrates the emscripten toolchain into the flutter repo, as well as the fonts for web unit tests. Also, removed the `web_dependencies` thing which is no longer used.

This fixes https://github.com/flutter/flutter/issues/143332

Depends on a buildroot change here: https://github.com/flutter/buildroot/pull/833
2024-03-11 20:39:25 +00:00
skia-flutter-autoroll
43010eed2e Roll Skia from ff1eb5af6ce4 to 6f10903e2d28 (3 revisions) (flutter/engine#51326)
https://skia.googlesource.com/skia.git/+log/ff1eb5af6ce4..6f10903e2d28

2024-03-11 bungeman@google.com Initialize fontations geometry sink
2024-03-11 jgaillard@google.com Add SkSharingProc to Android host builds
2024-03-11 nscobie@google.com Add nscobie back to OWNERS_build_files.android

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,fmalita@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 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-11 20:23:16 +00:00
Matan Lurey
15779b7847 Conditionally run golden_tests_harvester for run_impeller_golden_tests. (flutter/engine#51325)
I think this restores the behavior prior to
https://github.com/flutter/engine/pull/50844 without making the client
code faulty.

I'll file a follow-up issue, I don't think `golden_tests_harvester`
should accept running if `GOLDCTL` isn't set:
https://github.com/flutter/flutter/issues/144948.

/cc @godofredoc
2024-03-11 12:10:57 -07:00
skia-flutter-autoroll
a70a0abdec Roll Dart SDK from c3bd630e89bb to 09a1a1ede1c4 (1 revision) (flutter/engine#51324)
https://dart.googlesource.com/sdk.git/+log/c3bd630e89bb..09a1a1ede1c4

2024-03-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-221.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,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
2024-03-11 18:27:12 +00:00
Jackson Gardner
048ee12c07 Move emscripten out of the buildroot into the flutter repo. (flutter/engine#51299)
This migrates the emscripten toolchain into the flutter repo, as well as the fonts for web unit tests. Also, removed the `web_dependencies` thing which is no longer used.

This fixes https://github.com/flutter/flutter/issues/143332

Depends on a buildroot change here: https://github.com/flutter/buildroot/pull/833
2024-03-11 17:24:19 +00:00
skia-flutter-autoroll
27668a4935 Roll Skia from f8d5ecc7841d to ff1eb5af6ce4 (2 revisions) (flutter/engine#51322)
https://skia.googlesource.com/skia.git/+log/f8d5ecc7841d..ff1eb5af6ce4

2024-03-11 drott@chromium.org [Fontations-backend] Fix y-inversion in CFF curve drawing.
2024-03-11 jvanverth@google.com [graphite] Clean up DrawAtlas::updatePlot().

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,fmalita@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 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-11 17:20:28 +00:00
Zachary Anderson
e99d6e5616 Remove flaky check from observatory/tracing_test.dart (flutter/engine#51320)
For https://github.com/flutter/flutter/issues/144394
2024-03-11 09:21:06 -07:00
skia-flutter-autoroll
397880c6ff Roll Skia from cb30f40eea75 to f8d5ecc7841d (4 revisions) (flutter/engine#51321)
https://skia.googlesource.com/skia.git/+log/cb30f40eea75..f8d5ecc7841d

2024-03-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from b978974d98eb to f16eea308ae1 (36 revisions)
2024-03-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d3a09c4c5ada to f5ef6971f8fb (1 revision)
2024-03-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 912fc2090a1b to 78a606bc2e78
2024-03-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 886dbf1a5a87 to 912fc2090a1b (12 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,fmalita@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 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-11 15:52:22 +00:00
utzcoz
30ce58dc55 Bump Robolectric to 4.11.1 (flutter/engine#51310)
Bump Robolectric to the latest stable 4.11.1.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-11 07:47:21 +00:00
Jia Hao
2e95ffc124 Disambiguate conditional expressions (flutter/engine#51285)
Internally, when targeting x86 Android, these files fail to compile:

```
impeller/renderer/backend/vulkan/yuv_conversion_vk.cc:33:22: error: conditional expression is ambiguous; 'const impeller::vk::SamplerYcbcrConversion' can be converted to 'unsigned long long' and vice versa
  return conversion_ ? conversion_.get() : VK_NULL_HANDLE;
                     ^ ~~~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~
impeller/renderer/backend/vulkan/pipeline_vk.cc:360:25: error: conditional expression is ambiguous; 'vk::Sampler' can be converted to 'unsigned long long' and vice versa
      immutable_sampler ? immutable_sampler->GetSampler() : VK_NULL_HANDLE;
                        ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~
```

The cause is that internally, `VULKAN_HPP_TYPESAFE_CONVERSION` is set but not for the GN build here. Copying from the [vulkan docs](https://github.com/KhronosGroup/Vulkan-Hpp/blob/main/README.md#cc-interop-for-handles):

> On 64-bit platforms Vulkan-Hpp supports implicit conversions between C++ Vulkan handles and C Vulkan handles. On 32-bit platforms all non-dispatchable handles are defined as `uint64_t`, thus preventing type-conversion checks at compile time which would catch assignments between incompatible handle types. Due to that Vulkan-Hpp does not enable implicit conversion for 32-bit platforms by default and it is recommended to use a `static_cast` for the conversion like this: `VkImage = static_cast<VkImage>(cppImage)` to prevent converting some arbitrary int to a handle or vice versa by accident. If you're developing your code on a 64-bit platform, but want compile your code for a 32-bit platform without adding the explicit casts you can define `VULKAN_HPP_TYPESAFE_CONVERSION` to 1 in your build system or before including `vulkan.hpp`. On 64-bit platforms this define is set to 1 by default and can be set to 0 to disable implicit conversions.

I'm not sure if doing the `static_cast` on the `VK_NULL_HANDLE` in this PR is right though. When targeting x86, this macro ends up being [defined as](5a5c9a6434/include/vulkan/vulkan_core.h (46)) `0LL`. But at the same time, putting the cast on the other ternary branch (e.g. `static_cast<vk::Sampler>(immutable_sampler->GetSampler())`) doesn't resolve the error.

*List which issues are fixed by this PR. You must list at least one issue.*
b/328355475
2024-03-11 07:07:26 +00:00
skia-flutter-autoroll
80e30c40cf Roll Fuchsia Linux SDK from gJ4Wr2FSpnGmoN3ke... to L6_XzizcJqjneCvGA... (flutter/engine#51317)
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 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-03-11 00:45:22 +00:00
skia-flutter-autoroll
581424e681 Roll Fuchsia Linux SDK from lAV5jgp4796siOZgI... to gJ4Wr2FSpnGmoN3ke... (flutter/engine#51315)
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 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-03-09 23:43:29 +00:00
Zachary Anderson
0b18c484ac Explicitly list Android embedding dependency jars in GN (flutter/engine#51303)
Part of https://github.com/flutter/flutter/issues/144430.

From `gn help inputs`: "It may be tempting to write a script that
enumerates all files in a directory
  as inputs. Don't do this!"
2024-03-09 12:02:46 -08:00
skia-flutter-autoroll
350b904b4c Roll Skia from 0da56a6c7446 to 983774f73a16 (1 revision) (flutter/engine#51311)
https://skia.googlesource.com/skia.git/+log/0da56a6c7446..983774f73a16

2024-03-09 mike@reedtribe.org rename local struct to DPoint, to distinguish it from Mac's global type

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,herb@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 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-09 19:16:40 +00:00
skia-flutter-autoroll
690259fcea Roll Skia from 3b0b79511469 to 8feb4b6a4aa6 (18 revisions) (flutter/engine#51305)
https://skia.googlesource.com/skia.git/+log/3b0b79511469..8feb4b6a4aa6

2024-03-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 886dbf1a5a87 to 912fc2090a1b
2024-03-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skcms from fa4c93a17fe6 to b440ca2fa89c (1 revision)
2024-03-08 bungeman@google.com Remove SkScalerContextFTUtils::drawCOLRv1Glyph assert
2024-03-08 nscobie@google.com Experimenting with OWNERS.android rules for SkUserConfig.h files
2024-03-08 jvanverth@google.com [graphite] Add limited resource test for PathAtlases.
2024-03-08 robertphillips@google.com [graphite] Add Android precompile code path
2024-03-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 3d5581c920a3 to 563dc550e3e6 (5 revisions)
2024-03-08 bungeman@google.com Add --fontations flag to test Fontations
2024-03-08 robertphillips@google.com Actually propagate the stable key to the blur runtime effects
2024-03-08 mike@reedtribe.org Reapply "factor out SkCTFontCreateExactCopy into its own file(s)"
2024-03-08 jvanverth@google.com [graphite] Disable MSAA support on Mac Intel devices.
2024-03-08 kjlubick@google.com Reland "Fix debugger bazel build"
2024-03-08 fmalita@chromium.org [dm] Skip empty sources
2024-03-08 kjlubick@google.com Remove some dead code guarded by legacy defines
2024-03-08 lovisolo@google.com [bazel] Fix //tools/viewer.
2024-03-08 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 00ea56c88561 to 055af5b4a051 (4 revisions)
2024-03-08 robertphillips@google.com Final batch of StableKeys ...
2024-03-08 robertphillips@google.com Revert "factor out SkCTFontCreateExactCopy into its own file(s)"

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,herb@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 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-09 03:23:16 +00:00
skia-flutter-autoroll
388e358166 Manual roll Dart SDK from 4c64fcc134bf to b52b754d5d3e (6 revisions) (flutter/engine#51304)
Manual roll requested by zra@google.com

https://dart.googlesource.com/sdk.git/+log/4c64fcc134bf..b52b754d5d3e

2024-03-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-218.0.dev
2024-03-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-217.0.dev
2024-03-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-216.0.dev
2024-03-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-215.0.dev
2024-03-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-214.0.dev
2024-03-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-213.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,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
2024-03-09 03:21:13 +00:00
Chinmay Garde
dfb7d84ab8 [Impeller] Use the AHB prefix for utils that work with Android Hardware Buffers. (flutter/engine#51298)
Also doesn't compile the TU on non-Android platforms.

Part of https://github.com/flutter/engine/pull/51213 being chopped up.

No change in functionality. Just renames and moves stuff around.
2024-03-09 00:52:25 +00:00
Chinmay Garde
fcba196886 [Impeller] Make DeviceHolder follow convention for backend specific utilities. (flutter/engine#51300)
Utilities below the HAL that are backend specific have the VK (in case of Vulkan) suffix. The only class that doesn't follow this convention is/was DeviceHolder. This caused some confusion when reading code leading to wondering what a device holder above the HAL was supposed to do/mean. Adds the VK suffix to device holder with a docstring. Also adds the file the source set as it was missing.

No change in functionality. Just a rename of an existing class.
2024-03-09 00:28:46 +00:00
gaaclarke
b220a37102 [Impeller] implement mask blur for textures (flutter/engine#51183)
fixes https://github.com/flutter/flutter/issues/144266

## 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-08 15:58:03 -08:00
Zachary Anderson
286169bb52 Don't rely on dart binary on PATH in run_test.py (flutter/engine#51302) 2024-03-08 23:49:32 +00:00
Juanjo Tugores
976d528d71 Mark the Flutter Views as focusable by setting a tabindex value. (flutter/engine#50876)
Mark the Flutter View as focusable by setting a tabindex value.

* When a given flutter view is focused its tabindex will be `-1`
* When a given flutter view is not focused its tabindex will be `0`
* When semantics are enabled no tabindex will be set.

Relevant Issues are:

* Design doc: https://flutter.dev/go/focus-management 
* 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-03-08 23:36:16 +00:00
Chinmay Garde
4f8e474738 Update the instructions for updating licenses. (flutter/engine#51297)
* Adds markdown formatting to better highlight the important bits.
* Removes the bit about patch files not being valid because they are
copied from the GitHub UI (we use LUCI now).
* Add a shortcut for Mac to apply the patch from your pasteboard.
2024-03-08 15:18:01 -08:00
Harry Terkelsen
4c86674a0f Optimize overlays in CanvasKit (flutter/engine#47317)
Optimize overlays by detecting when Flutter-rendered content intersects
with platform views. Overlay canvases are only needed when the content
intersects, so by checking for this, we can optimize out most overlays.

## 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-08 14:28:24 -08:00
skia-flutter-autoroll
4dc296c0ab Roll Fuchsia Linux SDK from 5Ra_AjCji-uR1GaX7... to lAV5jgp4796siOZgI... (flutter/engine#51296)
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 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-03-08 22:09:14 +00:00
Chinmay Garde
03a4ec697e [Impeller] Add the KHR prefix to existing swapchain utilities. (flutter/engine#51295)
This is part of blowing up https://github.com/flutter/engine/pull/51213 into smaller commits.

Our current swapchain is based on the VK_KHR_swapchain extension. When this was the only swapchain that could be created, the KHR prefix was dropped. Since we are going to be having multiple swapchain types, add the KHR prefix and make room for other swapchains.

No change in functionality. Just renames classes and files.
2024-03-08 22:07:23 +00:00
Zachary Anderson
e1b970ca47 Revert test if changes to golden tests (flutter/engine#51291)
The tests are not running when they should be:
https://ci.chromium.org/ui/p/flutter/builders/try/Mac%20Engine%20Drone/760676/overview
2024-03-08 13:31:18 -08:00
Justin McCandless
3a07dc741a iPad keyboard cut/copy/paste buttons (flutter/engine#50923)
The cut/copy/paste buttons above the keyboard on iPad were previously always greyed out, but now they work.
2024-03-08 13:30:50 -08:00
Dan Field
a4c787e072 Use io.flutter.Build.API_LEVELS rather than android.os.Build.VERSION_CODES (flutter/engine#51171)
Updates the linting script to ban the use of `VERSION_CODES`.

We currently have a mish-mash of using the integers, using `VERSION_CODES`, and even how we import the version codes. This makes it more confusing when doing things like #51070 - I think it is clearer to see `22` than `LOLLIPOP_MR1`.

I'd like to get LGTM (or at least no opinion) from all the requested reviewers here.
2024-03-08 19:04:20 +00:00
Jonah Williams
bcea8bd101 [Impeller] More efficient usage of transient onscreen attachments. (flutter/engine#51206)
Work towards https://github.com/flutter/flutter/issues/144617

> The primary trick here is making sure that the transient attachments for the onscreen (MSAA and Depth/Stencil) are effectively recycled. In fact, I think we can actually make a single Onscreen MSAA and Onscreen Depth/Stencil and share them across the swapchain images - as they should be effectively synchronized already.

Fixes https://github.com/flutter/flutter/issues/141750
2024-03-08 17:27:17 +00:00
zijiehe@
3ad51979fd [Fuchsia] Providing FUCHSIA_SDK_PATH env var for fuchsia lsc (flutter/engine#51234)
This change updates test-scripts with https://crrev.com/c/5347216 so that it can override the sdk location from an env var. The override location can be used by update_product_bundles to download emulator images of an unreleased sdk from gcs buckets. The process is used by fuchsia lsc (https://ci.chromium.org/ui/p/turquoise/builders/global.ci/sdk-core-linux-flutter), now it's failing due to the wrong product_bundle location being used.

This change should have no impact to the existing builders since they do not use either gclient variables relevant. E.g. download_fuchsia_sdk and fuchsia_sdk_path.

Bug: http://b/328110079

FYI: @mbrase 

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-08 17:21:05 +00:00
Chris Bracken
c1415300a1 Migrate vulkan_memory_allocator to flutter/third_party (flutter/engine#51275)
Migrates vulkan_memory_allocator from the buildroot's third_party directory to the engine's.

Issue: https://github.com/flutter/flutter/issues/144812
Part of: https://github.com/flutter/flutter/issues/67373

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-08 17:17:16 +00:00
Jason Simmons
7da9c29b79 Update CI scripts to use either src/flutter/third_party/dart or src/third_party/dart (flutter/engine#51276)
See https://github.com/flutter/flutter/issues/143335
2024-03-08 17:00:17 +00:00
Martin Kustermann
899fc2a7e0 Add fuchsia_gn_sdk GN variable pointing to //flutter/tools/fuchsia/gn-sdk (flutter/engine#51287)
The Dart -> Flutter Engine autoroller seems to be failing atm due to
fuchsia build errors.

The Dart SDK CL in [0] is depending on a fuchsia gn sdk import. The
import path defaults to `//third_party/fuchsia/gn-sdk` in the Dart build
rules.

Though flutter seemingly has it in `//flutter/tools/fuchsia/gn-sdk`
(which was added to DEPS in c274921fa6034e5e133129967c0789ab8c7fc827)

=> This is an attempt to override the default & fix autoroller

[0] https://dart-review.googlesource.com/c/sdk/+/355283/14
2024-03-08 14:49:37 +01:00