26025 Commits

Author SHA1 Message Date
Jim Graham
4aa93cbf61 [Impeller] Compute UV coordinates lazily in PositionUVWriter (flutter/engine#50879)
The stroking code was performing texture coordinate conversion on each created vertex. Since there were often very few calculations needed for each vertex, interspersing a coordinate transform with each vertex append was clogging up the code.

This change will defer the calculation of the texture coordinates until the end of the stroking process so that the polyline widening code can do its job efficiently and then later the coordinate conversion code can do its job also efficiently in a tight loop. This change also opened up the opportunity to optimize a common case (no effect transform) even more than before.
2024-02-23 19:52:19 +00:00
skia-flutter-autoroll
68c773fb26 Roll Skia from 49dd7ed24bec to fde4d63c5e61 (3 revisions) (flutter/engine#50917)
https://skia.googlesource.com/skia.git/+log/49dd7ed24bec..fde4d63c5e61

2024-02-23 johnstiles@google.com Remove matrix from PaintingData.
2024-02-23 robertphillips@google.com Revert "Implementing Fontations font scanner"
2024-02-23 johnstiles@google.com Add Perlin noise stage to Raster Pipeline.

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-02-23 19:30:23 +00:00
skia-flutter-autoroll
f1219ae5fd Roll Skia from 037e08e92598 to 49dd7ed24bec (3 revisions) (flutter/engine#50916)
https://skia.googlesource.com/skia.git/+log/037e08e92598..49dd7ed24bec

2024-02-23 robertphillips@google.com [graphite] Trial balloon of stable keying system for known runtime effects
2024-02-23 kjlubick@google.com Move SkTextBlobTrace from src/core to tools/text
2024-02-23 kjlubick@google.com Address clang-tidy suggestions in src/pathops

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-02-23 18:26:05 +00:00
John McCutchan
82dd6cd6e3 Add an initial 'build' command to engine_tool (flutter/engine#50681)
* Adds a 'build' command to `et`.
* Renamed `query builds` to `query builders` because that seemed to be
more precise(?)

Some extra requests during review:
1. I've left some questions I'd like answers to at the top of
`build_command.dart` I suspect @zanderso and @loic-sharma can give me
(some?) answers.
2. I suspect I'm holding the FakeProcessManager wrong or there is a
better way to write the tests in `build_command_test.dart`. Pointers to
good examples are appreciated.
2024-02-23 10:02:34 -08:00
skia-flutter-autoroll
a968a5054d Roll Skia from c7f8e0e6f3c2 to 037e08e92598 (8 revisions) (flutter/engine#50914)
https://skia.googlesource.com/skia.git/+log/c7f8e0e6f3c2..037e08e92598

2024-02-23 kjlubick@google.com Enforce IWYU on the rest of src/core
2024-02-23 brianosman@google.com Enable -Wextra-semi
2024-02-23 brianosman@google.com Revert "Add sk_malloc_size() to query usable allocation sizes"
2024-02-23 johnstiles@google.com Revert 'Eliminate unnecessary function parameter copies in SkRP.'
2024-02-23 aperez@igalia.com Add sk_malloc_size() to query usable allocation sizes
2024-02-23 jlavrova@google.com Implementing Fontations font scanner
2024-02-23 jvanverth@google.com [graphite] Add uncached PageList to RasterPathAtlas.
2024-02-23 robertphillips@google.com [graphite] Make addition of runtime effects to ShaderCodeDictionary thread safe(r)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-02-23 17:29:28 +00:00
skia-flutter-autoroll
075891374f Roll Skia from bb8a7832a6f4 to c7f8e0e6f3c2 (3 revisions) (flutter/engine#50911)
https://skia.googlesource.com/skia.git/+log/bb8a7832a6f4..c7f8e0e6f3c2

2024-02-23 johnstiles@google.com Expose enum SkPerlinNoiseShaderType to src/opts.
2024-02-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 9c43d05064bd to d85c6c8d1c86 (3 revisions)
2024-02-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from e47aae228e01 to 4a5a5836c068

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-02-23 14:23:06 +00:00
Brian Osman
f1951104cb Replace SkColorSpace::filterColor with filterColor4f (flutter/engine#50821)
The old API is deprecated. The new one operates on float colors, but is
also explicit about the color space of the source color (and the working
space of the filter).

Bug: b/40040795
2024-02-23 09:23:00 -05:00
skia-flutter-autoroll
aaf2566641 Roll Dart SDK from 52111952d91b to 7f6eccd65255 (1 revision) (flutter/engine#50910)
https://dart.googlesource.com/sdk.git/+log/52111952d91b..7f6eccd65255

2024-02-23 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-171.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-02-23 14:03:11 +00:00
skia-flutter-autoroll
9e6dc6ab3c Roll Fuchsia Linux SDK from j9cJ94K-T1i3u5xGh... to sO-oG6KoeFlPK2WLR... (flutter/engine#50907)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC jimgraham@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-02-23 11:23:21 +00:00
Brandon DeRosier
6e313cd781 [Impeller] Make StC work for Position+UV buffers. (flutter/engine#50900)
The accumulated fixes pulled out of the flag flip PR: https://github.com/flutter/engine/pull/50856

* Also fixes tests to make them resilient to StC being on/off.
* Fix blending for the cover draw.
* Default to depth=1 which is much more reasonable as depth=0 will never draw anything for cover draws. This allows enclosed subpass rendering cases like `Contents::RenderToSnapshot` for filter inputs to work by default and makes mistakes harder.
* Use depth+stencil attachments for `Contents::RenderToSnapshot` subpasses to allow for StC draws.
2024-02-23 09:51:20 +00:00
skia-flutter-autoroll
05ecb1c95e Roll Skia from 5a0a82af7796 to 14b5c1a4627a (1 revision) (flutter/engine#50904)
https://skia.googlesource.com/skia.git/+log/5a0a82af7796..14b5c1a4627a

2024-02-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from c615566d8899 to 88ef1b147e5e (14 revisions)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-02-23 06:32:24 +00:00
Matan Lurey
d3f0ddd9ea Move ban-plugin-java script into separate file and improve testing. (flutter/engine#50875)
Closes https://github.com/flutter/flutter/issues/143962.
2024-02-23 04:52:11 +00:00
Matan Lurey
4405a2fb57 Provide a subset of adb logcat logs streaming during scenario_app testing (flutter/engine#50886)
Work towards https://github.com/flutter/flutter/issues/143458.

What this _doesn't_ change:

1. The full output of `adb logcat` is still written to `$FLUTTER_LOGS_DIR/logcat.txt`

Example output:

<img width="580" alt="Screenshot 2024-02-22 at 2 53 51 PM" src="https://github.com/flutter/engine/assets/168174/bef24370-c066-4203-ae0e-552cc0fd73ad">

/cc @dnfield @gaaclarke
2024-02-23 03:36:16 +00:00
keyonghan
745bb8fef5 Remove obsolete cache_root property (flutter/engine#50894)
Part of https://github.com/flutter/flutter/issues/143671

Lands following: https://flutter-review.googlesource.com/c/recipes/+/55401
2024-02-23 01:21:09 +00:00
keyonghan
8ebbe7519e Remove unused drone_dimension field (flutter/engine#50893)
The `drone_dimensions` is expected to be defined under property only. The field level definition has never been used.

part of https://github.com/flutter/flutter/issues/143671
2024-02-23 00:08:10 +00:00
keyonghan
f305bac5d2 Remove unused property from Linux Web Framework tests (flutter/engine#50891)
Part of https://github.com/flutter/flutter/issues/143671

The `framework` property is not being used at all.
2024-02-22 23:58:21 +00:00
auto-submit[bot]
5cb500ca6e Reverts "Implement frame timing callbacks in Skwasm. (#50737)" (flutter/engine#50895)
Reverts flutter/engine#50737

Initiated by: goderbauer

Reason for reverting: Fails in device lab, see https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8755350727803344657/+/u/run_web_benchmarks_skwasm/stdout

Original PR Author: eyebrowsoffire

Reviewed By: {mdebbar, yjbanov}

This change reverts the following previous change:
Original Description:
Fixes https://github.com/flutter/flutter/issues/140429

Some notes here:
* Refactored the frame timing systems so that we can deal with asynchronous rendering.
* Consolidated rendering of multiple pictures in skwasm into a single call, so that the rasterization can be properly measured.
* Pulled the frame timings tests into the `ui` test suite so that they run on all renderers (including skwasm).
2024-02-22 23:40:17 +00:00
skia-flutter-autoroll
3bbde96cbb Roll Dart SDK from 0f0f7400c38a to e2f2d9b464e9 (4 revisions) (flutter/engine#50881)
https://dart.googlesource.com/sdk.git/+log/0f0f7400c38a..e2f2d9b464e9

2024-02-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-167.0.dev
2024-02-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-166.0.dev
2024-02-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-165.0.dev
2024-02-22 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-164.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-02-22 23:01:18 +00:00
skia-flutter-autoroll
94b9722f64 Roll Skia from a285cd79614c to 58772db6bc46 (3 revisions) (flutter/engine#50884)
https://skia.googlesource.com/skia.git/+log/a285cd79614c..58772db6bc46

2024-02-22 lovisolo@google.com [bazel] Linux targets: Annotate with target_compatible_with.
2024-02-22 johnstiles@google.com Move Perlin noise Type enum out of the class.
2024-02-22 lovisolo@google.com [bazel] Test runners: Delete miscellaneous non-modular-build targets.

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-02-22 22:59:31 +00:00
gaaclarke
834157da9f [Impeller] moved the kernel size assert to a more appropriate location. (flutter/engine#50880)
This is the more appropriate location for the assert now.  This is important if we want to fiddle with the downsample amount now the the kernel is effectively half as big.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-22 21:46:40 +00:00
Victoria Ashworth
eaa52fc3e0 Build macOS engine as an xcframework (flutter/engine#50300)
Creates and adds FlutterMacOS.xcframework to out/mac or out/host.

Creates and archives FlutterMacOS.xcframework when building mac_host_engine. Archives the xcframework in a new zipped folder at `darwin-x64/framework.zip`, `darwin-x64-profile/framework.zip`, `darwin-x64-release/framework.zip`.

The FlutterMacOS.framework is also still archived currently - I thought it'd be better to keep it archived so we don't have to worry about the tool breaking until we're ready to remove it.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-22 21:37:46 +00:00
skia-flutter-autoroll
2e41a9065a Roll Skia from dd8cd405d145 to a285cd79614c (3 revisions) (flutter/engine#50878)
https://skia.googlesource.com/skia.git/+log/dd8cd405d145..a285cd79614c

2024-02-22 jvanverth@google.com [graphite] Add support for text atlas garbage collection.
2024-02-22 kjlubick@google.com Add TextShaper back to modules/skottie/src/text:srcs (Take 2)
2024-02-22 kjlubick@google.com Change a local_defines to defines

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-02-22 21:20:55 +00:00
Dan Field
8f527095b7 Avoid generated plugin registrant warnings for scenario_app (flutter/engine#50874)
Cleans up some noise in those logs.
2024-02-22 20:34:11 +00:00
Victoria Ashworth
d6735132e4 Delete and create iOS simulator before running Scenario app test (flutter/engine#50835)
Make iOS Scenario app tests create the simulator it needs before the tests. Also, delete any existing matching simulators to prevent duplicates.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-22 20:17:22 +00:00
Zachary Anderson
672955ef01 Remove 'bringup: true' from 'Mac mac_unopt' (flutter/engine#50865)
Second half of https://github.com/flutter/flutter/issues/142010
2024-02-22 20:00:54 +00:00
LongCatIsLooong
69b76b7e38 Pass the missing strut half leading flag over to skia paragraph builder (flutter/engine#50385)
Not sure how this can be tested. Part of https://github.com/flutter/flutter/issues/142969

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-22 19:52:46 +00:00
Jackson Gardner
ed2ceeb022 Implement frame timing callbacks in Skwasm. (flutter/engine#50737)
Fixes https://github.com/flutter/flutter/issues/140429

Some notes here:
* Refactored the frame timing systems so that we can deal with asynchronous rendering.
* Consolidated rendering of multiple pictures in skwasm into a single call, so that the rasterization can be properly measured.
* Pulled the frame timings tests into the `ui` test suite so that they run on all renderers (including skwasm).
2024-02-22 19:52:44 +00:00
Jim Graham
ff62a9ef63 [Impeller] Add stroke benchmarks that create UVs with no transform (flutter/engine#50847)
The current stroke benchmarks exercise their PositionUVWriter variants with a worst case texture mapping that includes an effect transform. These benchmarks won't track any improvements we make to the case that does not include a transform.

This PR adds new benchmarks that track performance of computing texture coords with just a set of texture bounds and no transform.
2024-02-22 19:52:42 +00:00
auto-submit[bot]
ab20c1255c Reverts "Remove WindowManager reflection in SingleViewPresentation.java (#49996)" (flutter/engine#50873)
Reverts flutter/engine#49996

Initiated by: gmackall

Reason for reverting: b/326363243 

Original PR Author: gmackall

Reviewed By: {johnmccutchan, reidbaker}

This change reverts the following previous change:
Original Description:
Fixes https://github.com/flutter/flutter/issues/106449. Changes it to a static proxy, as the comment recommended. This does mean we will have to update it to override new methods as they are added to the interface when updating the version of the Android sdk we use.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-22 18:07:17 +00:00
Zachary Anderson
470dbb486a Use RBE on more Windows builders (flutter/engine#50866) 2024-02-22 09:31:08 -08:00
auto-submit[bot]
6ef80156ff Reverts "[Impeller] cache onscreen render targets. (#50751)" (flutter/engine#50871)
Reverts flutter/engine#50751

Initiated by: jonahwilliams

Reason for reverting: breaking flutter tester --enable-impeller workflow

Original PR Author: jonahwilliams

Reviewed By: {matanlurey}

This change reverts the following previous change:
Original Description:
Currently we cache render pass objects to offscreen render targets only. Caching onscreen doesn't work as 1) the render targets are stored on the texture_vk object and 2) the texture_vk object is recreated for each frame (see https://github.com/flutter/engine/blob/main/impeller/renderer/backend/vulkan/surface_vk.cc#L14 ).

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

part of https://github.com/flutter/flutter/issues/141750
2024-02-22 17:11:25 +00:00
Zachary Anderson
198b7eaad5 Change "Linux mac_unopt" to "Mac mac_unopt" (flutter/engine#50863)
For https://github.com/flutter/flutter/issues/142010
2024-02-22 07:51:03 -08:00
skia-flutter-autoroll
4b54d2ab47 Roll Fuchsia Linux SDK from dLhvv964txwnSlvNw... to j9cJ94K-T1i3u5xGh... (flutter/engine#50858)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC jimgraham@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-02-22 10:15:13 +00:00
skia-flutter-autoroll
e9ba7649af Roll Skia from ec119f44e6b9 to cbdbcf9bebe6 (2 revisions) (flutter/engine#50857)
https://skia.googlesource.com/skia.git/+log/ec119f44e6b9..cbdbcf9bebe6

2024-02-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from f546983cc8df to cd63c5d477df (5 revisions)
2024-02-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 0c57895d60d7 to c615566d8899 (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 brianosman@google.com,jimgraham@google.com,rmistry@google.com,scroggo@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-02-22 10:15:11 +00:00
Brandon DeRosier
0aa0513471 [Impeller] Add StC color source/clip behavior + constexpr flag for enabling StC. (flutter/engine#50817)
Included in this PR is:
- Behavior for clips/restores when StC is enabled.
- Behavior for color source drawing when StC is enabled.
- New filled path tessellator behavior.
- A constexpr flag for enabling StC.

This patch shouldn't actually change any behavior when StC is off.
2024-02-22 03:30:18 +00:00
Matan Lurey
0eceae9710 Minor non-semantic refactors of ExternalTexturesFlutterActivity (flutter/engine#50845)
Just getting rid of some IDE warnings/diagnostics before sending bigger
PRs.
2024-02-21 19:06:16 -08:00
skia-flutter-autoroll
6f92fa6f51 Roll Skia from 57490c8d257e to 3fd1a5a7c7c1 (9 revisions) (flutter/engine#50842)
https://skia.googlesource.com/skia.git/+log/57490c8d257e..3fd1a5a7c7c1

2024-02-21 lovisolo@google.com [bazel] Rewrite Android GM tests to use the modular build.
2024-02-21 lovisolo@google.com [bazel] Rewrite GM tests to use the modular build.
2024-02-21 michaelludwig@google.com [skif] Add transparent padding to intermediate surfaces
2024-02-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d6f39f6bf559 to 3f86b819b671 (3 revisions)
2024-02-21 kjlubick@google.com Remove extra SK_APIs and set SKIA_IMPLEMENTATION in buffet build
2024-02-21 kjlubick@google.com Remove old example builds based on skia_public from CI/CQ
2024-02-21 weiyuhuang@google.com Remove 2 SkParagraph Asserts
2024-02-21 johnstiles@google.com Render Ganesh's Perlin noise in local coordinates, not device space.
2024-02-21 brianosman@google.com Mark SkColorFilter::filterColor as deprecated

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-02-22 02:48:21 +00:00
Juanjo Tugores
2bd7ee18c3 Add view focus direction detection to flutter web. (flutter/engine#50843)
Add view focus direction detection to flutter web.

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-02-22 01:26:10 +00:00
Matan Lurey
cb74f95297 Add a similar runIf guard to web_engine as web framework. (flutter/engine#50846)
Right now `web_engine` builders are run unconditionally, which seems
unnecessary.
2024-02-21 16:56:18 -08:00
Tong Mu
c5e0858a01 Add scheduleWarmUpFrame (flutter/engine#50570)
This PR adds `PlatformDispatcher.scheduleWarmUpFrame`.

This PR is needed for the follow up changes:
* The framework will switch to using this function to render warmup
frames in https://github.com/flutter/flutter/pull/143290.
* Then the engine will finally be able to switch to multiview pipeline
with no regression on startup timing in
https://github.com/flutter/engine/pull/49950.

For why the warm up frame must involve the engine to render, see
https://github.com/flutter/flutter/issues/142851.


## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] 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.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I signed the [CLA].
- [ ] 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-21 16:46:11 -08:00
Matan Lurey
b357d7a45e Remove/reduce unused or private methods and add tests to SkiaGoldClient (flutter/engine#50844)
@Piinks correctly pointed out we had to make a number of changes to the engine's `SkiaGoldClient` and we had no test coverage (https://github.com/flutter/engine/pull/50829, https://github.com/flutter/engine/pull/50826).

This corrects the problem.

I am not in _love_ with these tests (they could be less snapshot-y), but the mechanisms I need to write better tests is beyond what I can spend ~1-2 hours on (https://github.com/flutter/flutter/issues/133569).

/cc @dnfield @mdebbar
2024-02-22 00:16:57 +00:00
Matan Lurey
1823aa6bc9 Clean up contributing formatting, add a Skia gold callout (flutter/engine#50828)
I am open to suggestions for other things to write under "Skia Gold".
2024-02-21 16:00:25 -08:00
Gray Mackall
583017ec69 Make Android Studio be able to run android embedding unit tests out of the box (flutter/engine#50840)
This is pretty rough, it largely copies the configuration from the `test_runner/build.gradle`. 

But it lets me click and run unit tests without having to rebuild anything, which is nice:

example
<img width="1537" alt="Screenshot 2024-02-21 at 2 44 19 PM" src="https://github.com/flutter/engine/assets/34871572/a48a14dd-b43e-4bd5-a375-3b44e058d0f6">

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-21 23:51:18 +00:00
Zachary Anderson
e6d9dca1b7 Shift some deps to //flutter/third_party (flutter/engine#50830)
Part of https://github.com/flutter/flutter/issues/67373
2024-02-21 23:51:16 +00:00
Juanjo Tugores
e9cfdd0277 Make the view focus binding report focus transitions across elements. (flutter/engine#50610)
Make the view focus binding report focus transitions across elements.

Previously the web engine reported all the focusin/focusout events as if the elements were first blurred before moving the focus.

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-02-21 23:02:58 +00:00
Chris Bracken
150019dccb [macOS] Wrap FlutterEngineTest in autoreleasepool (flutter/engine#50832)
Previously, these were not freeing allocations. This resulted in a lot
of running engines/threads which triggered issues with running out of
resources (Metal resources in particular).

This also re-enables two disabled unit tests for view background colour.

Issue: https://github.com/flutter/flutter/issues/124677

## 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 at least one completely unnecessary checkbox.
- [X] J'ai ajouté une case à cocher dans une langue autre que l'anglais.
- [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-21 15:01:57 -08:00
Jason Simmons
b576a1f647 Update the vulkan_glfw sample for the latest roll of vulkan-deps (flutter/engine#50839) 2024-02-21 22:58:42 +00:00
skia-flutter-autoroll
2bdfdc4025 Roll Skia from 8fa858855820 to 57490c8d257e (6 revisions) (flutter/engine#50833)
https://skia.googlesource.com/skia.git/+log/8fa858855820..57490c8d257e

2024-02-21 lovisolo@google.com [bazel] Add sk_gpu_test::VkTestMemoryAllocator class, and use it in sk_gpu_test::CreateVkBackendContext().
2024-02-21 johnstiles@google.com Render Graphite's Perlin noise in local coordinates, not device space.
2024-02-21 bungeman@google.com Adjust warnings for GCC 13
2024-02-21 armansito@google.com [bazel][vello] Update the kurbo/peniko dependencies
2024-02-21 brianosman@google.com Fix component build link errors in skparagraph
2024-02-21 armansito@google.com [bazel] Update rustc to 1.76.0

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-02-21 22:57:34 +00:00
Zachary Anderson
701be200cd Starts a .ci.yaml parser (flutter/engine#50783)
Towards https://github.com/flutter/flutter/issues/132807.

This is needed so the engine tool can map the names of CI builders
listed in `.ci.yaml` to the names of the configurations in the build
config json files in `ci/builders`.
2024-02-21 14:56:07 -08:00
skia-flutter-autoroll
9b80ab8bfb Roll Dart SDK from f344e2266468 to 0f0f7400c38a (6 revisions) (flutter/engine#50837)
https://dart.googlesource.com/sdk.git/+log/f344e2266468..0f0f7400c38a

2024-02-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-163.0.dev
2024-02-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-162.0.dev
2024-02-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-161.0.dev
2024-02-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-160.0.dev
2024-02-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-159.0.dev
2024-02-20 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-158.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-02-21 22:55:53 +00:00