Zachary Anderson
6fe9dcece5
Manual roll ICU from a622de35ac31 to bad7ddbf9213 (7 revisions) ( flutter/engine#52031 )
...
Manual roll requested by zra@google.com
a622de35ac..bad7ddbf92
2024-03-05 dayeung@chromium.org Update TZ to 2024a 2024-02-26
dayeung@chromium.org Fix ICU update.sh script and clean up some things
in the readme 2024-02-21 dayeung@chromium.org Patch a buffer write error
in uloc_tag.cpp. 2024-02-16 syg@chromium.org Fix null termination in
revert_realpath.patch 2024-01-29 mkember@google.com [fxbug.dev] Migrate
bug numbers 2023-12-05 zcbenz@gmail.com Fix link error when
cross-compiling for Windows on Linux 2023-11-02 ftang@chromium.org Add
dayeung@ and syg@ to OWNERS file
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/icu-sdk-flutter-engine Please CC
chinmaygarde@google.com ,tq-i18n-team@google.com,zra@google.com on the
revert to ensure that a human is aware of the problem.
To file a bug in ICU: https://github.com/unicode-org/icu
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: skia-flutter-autoroll <skia-flutter-autoroll@skia.org>
2024-04-10 14:41:38 -07:00
Jason Simmons
7b2db7971e
Enable gtest-parallel for Impeller unit tests ( flutter/engine#52004 )
...
Fixes https://github.com/flutter/flutter/issues/143330
2024-04-10 21:38:02 +00:00
William Hesse
05c21a0c8e
Add additional dependencies to const_finder's pubspec.yaml ( flutter/engine#52033 )
...
The Dart commit https://dart-review.googlesource.com/c/sdk/+/361781 added dependencies upon packages meta and _fe_analyzer_shared to the kernel package. Path overrides for these need to be added to the const_finder package in flutter/engine.
2024-04-10 21:22:22 +00:00
skia-flutter-autoroll
ca215ae106
Roll Skia from 91e0c0f4bf41 to 5bbca5a30653 (3 revisions) ( flutter/engine#52032 )
...
https://skia.googlesource.com/skia.git/+log/91e0c0f4bf41..5bbca5a30653
2024-04-10 jvanverth@google.com [graphite] Split out ComputePathAtlas into its own file.
2024-04-10 michaelludwig@google.com [graphite] Start with kDiscard load op in DrawContext; use clear op for floating-point textures
2024-04-10 michaelludwig@google.com [graphite] Track aggregate protected status on 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 ,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-04-10 21:02:06 +00:00
Zachary Anderson
033e631e1c
Adds iOS builds to local_engine.json ( flutter/engine#52027 )
...
Last-ish part of https://github.com/flutter/flutter/issues/145263
2024-04-10 12:57:56 -07:00
skia-flutter-autoroll
5322050cc8
Roll Skia from df6d08abb447 to 91e0c0f4bf41 (3 revisions) ( flutter/engine#52026 )
...
https://skia.googlesource.com/skia.git/+log/df6d08abb447..91e0c0f4bf41
2024-04-10 egdaniel@google.com Update gn to allow looking for shortened clang version.
2024-04-10 johnstiles@google.com Improve Windows build docs based on user feedback.
2024-04-10 bungeman@google.com Properly convert between axis definition types
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 ,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-04-10 19:44:52 +00:00
Jonah Williams
53c05184b1
[Android] post image task to main handler. ( flutter/engine#52025 )
...
Fixes https://github.com/flutter/flutter/issues/146465
2024-04-10 19:43:23 +00:00
Zachary Anderson
2163fc1bc9
[et] Adds --lto flag to build. Plumbs verbose flag differently. ( flutter/engine#52021 )
...
This PR does two things. First, in many of the `ci` builds, LTO is
enabled by default. This is usually not what we want when doing local
builds, so this PR adds an `--lto` flag to the `build` command which is
disabled by default, causing `--no-lto` to be passed to GN. When `--lto`
is passed to the `build` command, `--lto` is passed to GN, which results
in the build using LTO.
Second, this PR eagerly parses the `--verbose` flag out of the command
line so that help messages can optionally show less information. In
particular, in this PR, `ci` and `web_test` builds are only displayed by
`help build` when `--verbose` is passed to the `help` command. There's
some extra text in the help message as well indicating that passing
`--verbose` to `help` will show more builds.
2024-04-10 11:09:14 -07:00
skia-flutter-autoroll
71f997be55
Roll Dart SDK from 78174b41ab0f to 393a24d37b39 (8 revisions) ( flutter/engine#52020 )
...
https://dart.googlesource.com/sdk.git/+log/78174b41ab0f..393a24d37b39
2024-04-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.5.0-44.0.dev
2024-04-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.5.0-43.0.dev
2024-04-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.5.0-42.0.dev
2024-04-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.5.0-41.0.dev
2024-04-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.5.0-40.0.dev
2024-04-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.5.0-39.0.dev
2024-04-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.5.0-38.0.dev
2024-04-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.5.0-37.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-04-10 16:42:23 +00:00
Zachary Anderson
49ba863b6d
Use RBE in mac builds in presubmit but not postsubmit ( flutter/engine#52018 )
...
This also disables goma in both pre- and post-submit for mac builds.
2024-04-10 09:25:06 -07:00
skia-flutter-autoroll
0aa1a1ec26
Roll Skia from 2135d686708b to df6d08abb447 (1 revision) ( flutter/engine#52017 )
...
https://skia.googlesource.com/skia.git/+log/2135d686708b..df6d08abb447
2024-04-10 michaelludwig@google.com [graphite] Simplify copies and special-images around Image
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 ,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-04-10 15:14:26 +00:00
skia-flutter-autoroll
8e223ca607
Roll Skia from 14dd5528b318 to 1ea5f3cd71cb (1 revision) ( flutter/engine#52014 )
...
https://skia.googlesource.com/skia.git/+log/14dd5528b318..1ea5f3cd71cb
2024-04-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from e6b3a4e3da47 to be41dc6ed635 (11 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 ,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-04-10 06:00:22 +00:00
godofredoc
4e961f3417
Add postsubmit overrides for mac builders. ( flutter/engine#51385 )
...
Mac builds on postsubmit will be built without goma/rbe. This is landing the configurations required to build without RBE once the migration to RBE is complete.
Bug: https://github.com/flutter/flutter/issues/136570
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-04-10 03:46:37 +00:00
Jim Graham
539854e985
[Impeller] NumberNear implements precision-based comparisons ( flutter/engine#52001 )
...
Fixes https://github.com/flutter/flutter/issues/146455
Fuzzy comparisons based on the IEEE floating precision of the numbers being compared will help ensure that comparing large numbers and very small numbers (in unit tests) both have similar accuracy.
2024-04-10 02:10:39 +00:00
skia-flutter-autoroll
837427e102
Roll Skia from 3e3f28d64b2b to 14dd5528b318 (2 revisions) ( flutter/engine#52011 )
...
https://skia.googlesource.com/skia.git/+log/3e3f28d64b2b..14dd5528b318
2024-04-10 brianosman@google.com Remove SkDrawLooper entirely
2024-04-10 lokokung@google.com [wgpu-headers] Manually lose the device before losing the Instance.
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 ,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-04-10 01:48:34 +00:00
Chinmay Garde
cfaa074fc8
[Impeller] Use type safe masks for HardwareBufferUsage. ( flutter/engine#52008 )
...
These were added to //impeller/base/mask.h recently. No change in functionality. Removes a bunch of casts.
2024-04-10 01:43:12 +00:00
skia-flutter-autoroll
b8b08b924c
Roll Fuchsia Linux SDK from 82nvjI_UGVS8qYqyH... to imlnJ68ZziH-Lp2xk... ( flutter/engine#52009 )
...
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-04-09 23:55:56 +00:00
Jason Simmons
2d015148d2
Update embedder example apps to run with the current engine tree ( flutter/engine#51995 )
...
* Update ICU data paths for the move of third_party/icu out of the buildroot
* Link with -rdynamic to enable lookup of Dart resource symbols within the app executables
* Use Material 3 text styles that are supported by the current Flutter framework
2024-04-09 23:37:18 +00:00
Chinmay Garde
24bec612e1
[Impeller] Refactor KHR swapchains to make it easy to reuse backend agnostic components. ( flutter/engine#52002 )
...
Just a refactor to make room for the AHB swapchains implementation while also ensuring that the MSAA and depth-stencil transients memoization as well as the existing surface implementation can be reused by that swapchain backend.
This does a few major things:
* Make an abstract implementation of swapchains, SwapchainVK. This currently has KHRSwapchainVK as its sole subclass but will soon have AHBSwapchainVK.
* There is no more per swapchain backend memoization of the MSAA and depth-stencil textures. This is now moved to SwapchainTransientsVK and can be shared by both backend. This leads into the next change. This also avoids the round trip of the textures first being set on each swapchain image and then accessed to create the onscreen renderpass. Now the transients can access the textures directly.
* KHRSurfaceVK no longer wraps a KHRSwapchainImageVK. Instead, it deals with TextureSourceVKs (which used to be the base class of KHRSwapchainImageVK). This surface can now magically work with AHBTextureSourceVK since they have a common base class. Since the surface is now backend agnostic, it has been renamed to SurfaceVK.
There is one minor functional change over the previous implementation thought. Earlier, the transients would be created and cached when the swapchain was resized. Now, the same will happen when the first surface frame is attempted to be acquired at the new size. This effectively means that swapchain resized should be faster and do less work if no frames are rendered at the new size (continuous window resized maybe).
2024-04-09 22:50:36 +00:00
skia-flutter-autoroll
7ef14e9106
Roll Skia from 74b0e26886f0 to 45eeeddb0074 (1 revision) ( flutter/engine#52007 )
...
https://skia.googlesource.com/skia.git/+log/74b0e26886f0..45eeeddb0074
2024-04-09 bungeman@google.com [pdf] Allow OpenType CFF fonts to be embedded
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 ,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-04-09 22:37:57 +00:00
Zachary Anderson
b5de41511f
Try postsubmit_overrides for one mac build ( flutter/engine#51676 )
2024-04-09 21:41:11 +00:00
Brandon DeRosier
4964425092
[Impeller] Remove stencil clipping logic. ( flutter/engine#51999 )
...
Follow-up for https://github.com/flutter/engine/pull/51992 .
This is now dead code.
2024-04-09 14:20:59 -07:00
skia-flutter-autoroll
bb3f441128
Roll Skia from 4281f51749b2 to a86861d21ae1 (23 revisions) ( flutter/engine#51998 )
...
https://skia.googlesource.com/skia.git/+log/4281f51749b2..a86861d21ae1
2024-04-09 brianosman@google.com Revert "Migrate SkParagraph's tests etc to provide SkUnicode"
2024-04-09 jvanverth@google.com [graphite] Fix linear filter inset variable names.
2024-04-09 robertphillips@google.com [graphite] Explicitly hold SkBlendModes in PaintOptions
2024-04-09 olv@google.com Add VkComponentMapping to VulkanYcbcrConversionInfo
2024-04-09 kjlubick@google.com Add one more case for SkColorType switch
2024-04-09 jvanverth@google.com [graphite] Add linear filter inset for YUV.
2024-04-09 robertphillips@google.com [graphite] Fix up PaintOptions::toKey
2024-04-09 kjlubick@google.com Migrate SkParagraph's tests etc to provide SkUnicode
2024-04-09 senorblanco@chromium.org Revert "Reland "Graphite/Dawn: Eliminate Device::Tick() usages.""
2024-04-09 kjlubick@google.com Add ganesh_metal target
2024-04-09 bungeman@google.com [colrv1] Keep glyphs on test canvas
2024-04-09 kjlubick@google.com Minor clang-tidy suggestions
2024-04-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 8072102bca4a to 57a0fe0778df (1 revision)
2024-04-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from e6b3a4e3da47 to b09312b32b9c
2024-04-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from fd9ef76964cc to e6b3a4e3da47 (10 revisions)
2024-04-09 michaelludwig@google.com [graphite] Consolidate Device/Surface factory functions
2024-04-08 johnstiles@google.com Fix minor bugs in the SkSL PrettyPrint algorithm.
2024-04-08 aaclarke@google.com Adds support for BGRA10_XR.
2024-04-08 brianosman@google.com Remove old (unused) skia_launcher
2024-04-08 jvanverth@google.com [graphite] Fix subsetting for UV planes.
2024-04-08 johnstiles@google.com Remove GLSL/Metal/WGSL indentation in release mode.
2024-04-08 kjlubick@google.com Enforce IWYU on src/gpu/tesselate
2024-04-08 kjlubick@google.com Fix shaping in GN builds
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 ,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-04-09 20:08:09 +00:00
Brandon DeRosier
acba1da4e3
[Impeller] Remove StC flag. ( flutter/engine#51992 )
...
It is time.
2024-04-09 12:20:24 -07:00
auto-submit[bot]
c0bd2a3ce0
Reverts "Delete engine v1 android embedding ( #51229 )" ( flutter/engine#51996 )
...
Reverts: flutter/engine#51229
Initiated by: gmackall
Reason for reverting: blocking engine->framework roll (I missed some framework code referencing the v1 embedding).
Original PR Author: gmackall
Reviewed By: {matanlurey, reidbaker}
This change reverts the following previous change:
Fixes https://github.com/flutter/flutter/issues/143531
Also fixes a random typo I found
~TODO to test this~ (no more todo):
-~test the framework against this as well, probably with a dummy PR changing the engine commit to my branch if this is possible~ not possible, made a best effort removal of framework code in https://github.com/flutter/flutter/pull/144726 .
-~figure out if the old embedding is used in g3 at all~ removed all uses
-~figure out exactly what the ShimPluginRegistry/ShimRegistrar are doing, and if fully deleting them was right~ (see https://github.com/flutter/engine/pull/51229#issuecomment-1981757743 )
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-04-09 19:13:47 +00:00
Gray Mackall
797e1ad902
Delete engine v1 android embedding ( flutter/engine#51229 )
...
Fixes https://github.com/flutter/flutter/issues/143531
Also fixes a random typo I found
TODO to test this:
-test the framework against this as well, probably with a dummy PR changing the engine commit to my branch if this is possible
-figure out if the old embedding is used in g3 at all
-~figure out exactly what the ShimPluginRegistry/ShimRegistrar are doing, and if fully deleting them was right~ (see https://github.com/flutter/engine/pull/51229#issuecomment-1981757743 )
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-04-09 18:03:17 +00:00
Jim Graham
9a3fbde9a0
better output from engine layer unit test failures ( flutter/engine#51975 )
...
The engine has ostream conversions for most Skia objects, but none of the test files include the files where they are defined. Adding the include file to the `layer_test.h` file will include them on any file which does unit testing on the engine layers.
2024-04-09 17:28:56 +00:00
Zachary Anderson
c8464f538c
Revert "Roll Dart SDK from 78174b41ab0f to 7a5e410f982e (1 revision) ( #51980 )" ( flutter/engine#51990 )
...
This reverts commit 3e5e40c10a2730e10dc9e4e19ff2d6a6f2b3d343.
Reverting for https://github.com/flutter/flutter/issues/146506
2024-04-09 17:27:19 +00:00
Jackson Gardner
5b8107e9c2
[skwasm] Reify the SkPicture pointer as the right type. ( flutter/engine#51991 )
...
When recreating this `unique_ptr`, we need to ensure it matches the type in `Surface::renderPictures` which is released. See here:
```
std::unique_ptr<sk_sp<SkPicture>[]> picturePointers =
std::make_unique<sk_sp<SkPicture>[]>(count);
for (int i = 0; i < count; i++) {
picturePointers[i] = sk_ref_sp(pictures[i]);
}
// Releasing picturePointers here and will recreate the unique_ptr on the
// other thread See surface_renderPicturesOnWorker
skwasm_dispatchRenderPictures(_thread, this, picturePointers.release(), count,
callbackId);
```
2024-04-09 17:25:18 +00:00
Jason Simmons
f745408809
Move the Dart SDK to //flutter/third_party/dart ( flutter/engine#51917 )
2024-04-09 12:48:09 +00:00
Matej Knopp
8796ecd15c
[macOS] Implement hit testing and handle platform view cursor changes ( flutter/engine#43101 )
...
Fixes https://github.com/flutter/flutter/issues/129085
## Changes to `FlutterMouseCursorPlugin`
- `none` cursor is not handled by hiding the cursor anymore. That was
too big of a hammer as it also affects other views (and platform views).
Instead empty cursor is created from empty `NSImage`.
- Cursor plugin now notifies the engine when cursor has changed. The
engine forwards the change to last `FlutterView` that handled mouse
event. This is necessary because on occasion `FlutterView` needs to be
able to restore cursor without framework being involved.
## Preventing PlatformView from changing cursor when it is obscured by
Flutter Content.
Generally in Cocoa cursor changes are done as response to `mouseMoved`
event, which is driven by a `NSTrackingArea`. The issue here is that
this is not affected by hit testing and tracking areas form a hierarchy
parallel to view hierarchy and are not affected by being obscured by
another view (or tracking area). This means that platform view will
receive `mouseMoved` event even when is obscured by Flutter content. To
work around this, the mutator view puts a tracking area above platform
view, which means it gets the mouseMove event first, and when it decides
that mouse is over Flutter content, it will prevent platform view from
changing the cursor for the rest of RunLoop turn (see
`NSCursor+IgnoreChange`).
## Actual hit testing
This part is rather straightforward, the area where FlutterContent
obscures mutator view is provided to the mutator view, which will return
`nil` from `hitTest:` when the point is in the obscured area.
## Example of hit testing
https://github.com/flutter/engine/assets/96958/bbac0cfd-8c44-44d3-addd-921c91a8a539
## 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 Hixie said 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
[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-04-09 12:00:42 +02:00
skia-flutter-autoroll
3e5e40c10a
Roll Dart SDK from 78174b41ab0f to 7a5e410f982e (1 revision) ( flutter/engine#51980 )
...
https://dart.googlesource.com/sdk.git/+log/78174b41ab0f..7a5e410f982e
2024-04-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.5.0-37.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 ,matanl@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-04-09 04:48:19 +00:00
Jonah Williams
de57080986
[Impeller] ensure precision is matched between fragment and vertex stage for PowerVR GPU bug ( flutter/engine#51974 )
...
According to https://registry.khronos.org/vulkan/specs/1.3/html/vkspec.html#interfaces-iointerfaces-matching , we shouldn't have to do this, but alas. On the PowerVR GPU in the Samsung SM T220, precision mismatches are causing rendering problems.
Fix this by ensuring the precision matches.
Fixes https://github.com/flutter/flutter/issues/143573
2024-04-09 00:51:42 +00:00
Jim Graham
434e229263
Use Impeller geometry classes in DLMatrixClipTracker ( flutter/engine#51919 )
...
The `DisplayListMatrixClipTracker` class performs the working of maintaining a stack of cull rects and transforms for classes in the engine that require such functionality (such as `DisplayListBuilder`, `DiffContext`, and `LayerStateStack`.
Until now it has been using a mixture of SkMatrix and SkM44 along with an SkRect to maintain this information, but that complexity involves overhead and implementation complexity which complicates future work on these areas.
By reimplementing the class to use Impeller geometry objects, the internal architecture is greatly simplified allowing for easier future maintenance.
2024-04-09 00:45:19 +00:00
Jenn Magder
6ff8c03a4b
Remove #if SHELL_ENABLE_METAL checks in darwin code ( flutter/engine#51947 )
...
Same as https://github.com/flutter/engine/pull/51636 except:
1. The original change caused scuba changes because those simulators are running on Macs without GPU passthrough, and so fallback to software rendering when `MTLCreateSystemDefaultDevice()` fails. Re-add that `MTLCreateSystemDefaultDevice` check
https://github.com/flutter/engine/pull/51636/files#diff-1db60a8a74c1cfb40c970541dd1f7f0f6301853a2ba17451f5117f154036d732L22-L31
2. Set `enable_metal` to always true for `macos/BUILD.gn`
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-04-08 22:25:01 +00:00
skia-flutter-autoroll
c9c71bb5c7
Roll Fuchsia Linux SDK from RNSwTRpc6cfMY99CC... to 82nvjI_UGVS8qYqyH... ( flutter/engine#51972 )
...
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 matanl@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-04-08 22:17:12 +00:00
skia-flutter-autoroll
5f817d6bf8
Roll Dart SDK from f7239b3c25af to 28b5735ad7dc (4 revisions) ( flutter/engine#51970 )
...
https://dart.googlesource.com/sdk.git/+log/f7239b3c25af..28b5735ad7dc
2024-04-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.5.0-35.0.dev
2024-04-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.5.0-34.0.dev
2024-04-07 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.5.0-33.0.dev
2024-04-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.5.0-32.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 ,matanl@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-04-08 20:38:12 +00:00
Zachary Anderson
785386dc2f
[et] Run GN before looking for targets. Default to build config targets ( flutter/engine#51956 )
...
Addresses the notes I left on
https://github.com/flutter/engine/pull/51868 . Mainly fixes an issue in
which the `build`, `query`, and `test` commands would fail if GN had not
yet been run for the requested configuration. Instead, in this PR, if
the build output directory doesn't exist yet, then it will run GN before
querying the targets.
Additionally, for the `build` command, if no targets are specified on
the command line, the PR uses the targets in the build config as the
default rather than all targets. `query` and `test` keep the same
behavior.
2024-04-08 13:26:57 -07:00
Zachary Anderson
5f5f524f33
Run local_engine.json builds in prod ( flutter/engine#51931 )
...
Finishes part 2 of https://github.com/flutter/flutter/issues/145263 .
This required fixing a python script to use the version of Java obtained
through the DEPS file rather than one assumed to exist in the
environment.
2024-04-08 13:01:42 -07:00
skia-flutter-autoroll
4aeeff0c3c
Roll Skia from aa31cad3cbef to 4281f51749b2 (1 revision) ( flutter/engine#51969 )
...
https://skia.googlesource.com/skia.git/+log/aa31cad3cbef..4281f51749b2
2024-04-08 kjlubick@google.com Enforce IWYU on ganesh/geometry and glsl
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 ,matanl@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-04-08 19:28:19 +00:00
Kallen Tu
86f00c760a
Add missing_code_block_language_in_doc_comment lint to flutter/engine. ( flutter/engine#51944 )
...
Adds this Dartdoc-related lint to the flutter repository, in replacement
of the Dartdoc warning (`missingCodeBlockLanguage`) because it will be
deprecated and removed soon.
flutter/flutter already has this lint as well.
Lint Proposal: https://github.com/dart-lang/linter/issues/4904
## 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-04-08 11:57:12 -07:00
Jason Simmons
209b89244a
Use the AOT snapshot built by the Dart SDK for the frontend server ( flutter/engine#51943 )
...
Dart will be removing the frontend server JIT snapshot.
(see https://dart.googlesource.com/sdk/+/e6c9eaaf6b63e5d3d0eefd7e95df9d10d9a25569 )
2024-04-08 18:38:03 +00:00
skia-flutter-autoroll
eb128f6e7b
Roll Skia from 91aa93f2565d to 50b7ff0bf275 (6 revisions) ( flutter/engine#51967 )
...
https://skia.googlesource.com/skia.git/+log/91aa93f2565d..50b7ff0bf275
2024-04-08 lehoangquyen@chromium.org Reland "Graphite/Dawn: Eliminate Device::Tick() usages."
2024-04-08 johnstiles@google.com Avoid ambiguity in minification when ++ is next to +.
2024-04-08 aperez@igalia.com Fix build issue in raster pipeline when compiling with GCC 12.1
2024-04-08 penghuang@chromium.org graphite/dawn: use the new feeature name Unorm16TextureFormats
2024-04-08 kjlubick@google.com Apply clang-tidy suggestions
2024-04-08 johnstiles@google.com Eliminate unnecessary blocks during SkSL minimization.
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 ,matanl@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-04-08 17:34:38 +00:00
skia-flutter-autoroll
f7e3fd5f7c
Manual roll Dart SDK from 5b812b9ec220 to f7239b3c25af (13 revisions) ( flutter/engine#51964 )
...
Manual roll requested by zra@google.com
https://dart.googlesource.com/sdk.git/+log/5b812b9ec220..f7239b3c25af
2024-04-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.5.0-31.0.dev
2024-04-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.5.0-30.0.dev
2024-04-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.5.0-29.0.dev
2024-04-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.5.0-28.0.dev
2024-04-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.5.0-27.0.dev
2024-04-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.5.0-26.0.dev
2024-04-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.5.0-25.0.dev
2024-04-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.5.0-24.0.dev
2024-04-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.5.0-23.0.dev
2024-04-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.5.0-22.0.dev
2024-04-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.5.0-21.0.dev
2024-04-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.5.0-20.0.dev
2024-04-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.5.0-19.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 ,matanl@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-04-08 09:33:58 -07:00
skia-flutter-autoroll
df18de5971
Roll Skia from c2f5ce268aca to 91aa93f2565d (1 revision) ( flutter/engine#51965 )
...
https://skia.googlesource.com/skia.git/+log/c2f5ce268aca..91aa93f2565d
2024-04-08 johnstiles@google.com Ensure inliner adds braces around scopes where required.
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 ,matanl@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-04-08 15:56:55 +00:00
skia-flutter-autoroll
67e45041dc
Roll Skia from cf4d42d3aa56 to 074ae9923436 (2 revisions) ( flutter/engine#51960 )
...
https://skia.googlesource.com/skia.git/+log/cf4d42d3aa56..074ae9923436
2024-04-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from fd9ef76964cc to d3d1950ebd72
2024-04-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 2176e2a82e43 to fd9ef76964cc (3 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 ,matanl@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-04-08 06:40:22 +00:00
skia-flutter-autoroll
188dde89ed
Roll Fuchsia Linux SDK from t4ixHpO8UiL4xDsOr... to RNSwTRpc6cfMY99CC... ( flutter/engine#51957 )
...
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 matanl@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-04-07 21:05:23 +00:00
skia-flutter-autoroll
0a4c661d28
Roll Fuchsia Linux SDK from EaKtmpePocJx6qaKg... to t4ixHpO8UiL4xDsOr... ( flutter/engine#51955 )
...
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 matanl@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-04-06 19:53:23 +00:00
Tong Mu
694f9469bf
Fix a memory error in a multithreaded test ( flutter/engine#51951 )
...
The culprit test asks different threads to access some stack variables, but the stack might return earlier than the threads' completion. This PR fixes it by adding latches.
This test, despite being possibly fine for now, consistently triggers the following asan error when I make some unrelated trivial changes.
The thrown error:
<details>
<pre>
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from EmbedderTest
[ RUN ] EmbedderTest.EmbedderThreadHostUseCustomThreadConfig
=================================================================
==14398==ERROR: AddressSanitizer: stack-use-after-scope on address 0x00031833b530 at pc 0x00013248d543 bp 0x000318740390 sp 0x00031873fb58
WRITE of size 4 at 0x00031833b530 thread T2
#0 0x13248d542 in pthread_getschedparam+0x3d2 (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x2c542)
#1 0x100577671 in flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0::operator()() const+0x1a1 (embedder_unittests:x86_64+0x10030b671)
#2 0x1005774a2 in decltype(std::declval<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&>()()) std::_fl::__invoke[abi:v15000]<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&>(flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&)+0x22 (embedder_unittests:x86_64+0x10030b4a2)
#3 0x100577402 in void std::_fl::__invoke_void_return_wrapper<void, true>::__call<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&>(flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&)+0x22 (embedder_unittests:x86_64+0x10030b402)
#4 0x1005773ba in std::_fl::__function::__alloc_func<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0, std::_fl::allocator<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0>, void ()>::operator()[abi:v15000]()+0x2a (embedder_unittests:x86_64+0x10030b3ba)
#5 0x1005734f6 in std::_fl::__function::__func<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0, std::_fl::allocator<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0>, void ()>::operator()()+0x26 (embedder_unittests:x86_64+0x1003074f6)
#6 0x10066a525 in std::_fl::__function::__value_func<void ()>::operator()[abi:v15000]() const+0x105 (embedder_unittests:x86_64+0x1003fe525)
#7 0x10066a3f2 in std::_fl::function<void ()>::operator()() const+0x22 (embedder_unittests:x86_64+0x1003fe3f2)
#8 0x100c229dc in fml::MessageLoopImpl::FlushTasks(fml::FlushType)+0x37c (embedder_unittests:x86_64+0x1009b69dc)
#9 0x100c22577 in fml::MessageLoopImpl::RunExpiredTasksNow()+0x27 (embedder_unittests:x86_64+0x1009b6577)
#10 0x100c8aa2f in fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*)+0x2f (embedder_unittests:x86_64+0x100a1ea2f)
#11 0x7ff817b54508 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__+0x13 (CoreFoundation:x86_64+0x97508)
#12 0x7ff817b540b8 in __CFRunLoopDoTimer+0x310 (CoreFoundation:x86_64+0x970b8)
#13 0x7ff817b53ce9 in __CFRunLoopDoTimers+0x11c (CoreFoundation:x86_64+0x96ce9)
#14 0x7ff817b380ac in __CFRunLoopRun+0x83b (CoreFoundation:x86_64+0x7b0ac)
#15 0x7ff817b372a8 in CFRunLoopRunSpecific+0x22c (CoreFoundation:x86_64+0x7a2a8)
#16 0x100c8b155 in fml::MessageLoopDarwin::Run()+0x305 (embedder_unittests:x86_64+0x100a1f155)
#17 0x100c223d0 in fml::MessageLoopImpl::DoRun()+0x150 (embedder_unittests:x86_64+0x1009b63d0)
#18 0x100c1f1fa in fml::MessageLoop::Run()+0x2a (embedder_unittests:x86_64+0x1009b31fa)
#19 0x100c7baa4 in fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0::operator()() const+0x194 (embedder_unittests:x86_64+0x100a0faa4)
#20 0x100c7b8e2 in decltype(std::declval<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>()()) std::_fl::__invoke[abi:v15000]<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>(fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&)+0x22 (embedder_unittests:x86_64+0x100a0f8e2)
#21 0x100c7b842 in void std::_fl::__invoke_void_return_wrapper<void, true>::__call<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>(fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&)+0x22 (embedder_unittests:x86_64+0x100a0f842)
#22 0x100c7b7fa in std::_fl::__function::__alloc_func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()[abi:v15000]()+0x2a (embedder_unittests:x86_64+0x100a0f7fa)
#23 0x100c77ad6 in std::_fl::__function::__func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()()+0x26 (embedder_unittests:x86_64+0x100a0bad6)
#24 0x10066a525 in std::_fl::__function::__value_func<void ()>::operator()[abi:v15000]() const+0x105 (embedder_unittests:x86_64+0x1003fe525)
#25 0x10066a3f2 in std::_fl::function<void ()>::operator()() const+0x22 (embedder_unittests:x86_64+0x1003fe3f2)
#26 0x100c75388 in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::operator()(void*) const+0xe8 (embedder_unittests:x86_64+0x100a09388)
#27 0x100c75227 in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::__invoke(void*)+0xc7 (embedder_unittests:x86_64+0x100a09227)
#28 0x1324b3e76 in asan_thread_start(void*)+0x46 (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x52e76)
#29 0x7ff817a5c18a in _pthread_start+0x62 (libsystem_pthread.dylib:x86_64+0x618a)
#30 0x7ff817a57ae2 in thread_start+0xe (libsystem_pthread.dylib:x86_64+0x1ae2)
Address 0x00031833b530 is located in stack of thread T0 at offset 144 in frame
#0 0x1002d051f in flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()+0xf (embedder_unittests:x86_64+0x10006451f)
This frame has 12 object(s):
[32, 40) 'thread_host' (line 3445)
[64, 112) 'ref.tmp' (line 3446)
[144, 148) 'ui_policy' (line 3449) <== Memory access at offset 144 is inside this variable
[160, 168) 'ui_param' (line 3450)
[192, 200) 'ref.tmp2' (line 3452)
[224, 272) 'ref.tmp5' (line 3452)
[304, 320) 'agg.tmp'
[336, 340) 'io_policy' (line 3458)
[352, 360) 'io_param' (line 3459)
[384, 392) 'ref.tmp6' (line 3460)
[416, 464) 'ref.tmp10' (line 3460)
[496, 512) 'agg.tmp11'
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
(longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-use-after-scope (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x2c542) in pthread_getschedparam+0x3d2
Shadow bytes around the buggy address:
0x00031833b280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00031833b300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00031833b380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00031833b400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00031833b480: 00 00 00 00 f1 f1 f1 f1 00 f2 f2 f2 f8 f8 f8 f8
=>0x00031833b500: f8 f8 f2 f2 f2 f2[f8]f2 f8 f2 f2 f2 f8 f2 f2 f2
0x00031833b580: f8 f8 f8 f8 f8 f8 f2 f2 f2 f2 00 00 f2 f2 f8 f2
0x00031833b600: f8 f2 f2 f2 f8 f2 f2 f2 f8 f8 f8 f8 f8 f8 f2 f2
0x00031833b680: f2 f2 00 00 f3 f3 f3 f3 00 00 00 00 00 00 00 00
0x00031833b700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00031833b780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Thread T2 created by T0 here:
#0 0x1324ae92d in pthread_create+0x5d (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x4d92d)
#1 0x100c73901 in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)+0x401 (embedder_unittests:x86_64+0x100a07901)
#2 0x100c73cca in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)+0x2a (embedder_unittests:x86_64+0x100a07cca)
#3 0x100c748c9 in std::_fl::__unique_if<fml::ThreadHandle>::__unique_single std::_fl::make_unique[abi:v15000]<fml::ThreadHandle, fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>(fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&&)+0x149 (embedder_unittests:x86_64+0x100a088c9)
#4 0x100c74335 in fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)+0x255 (embedder_unittests:x86_64+0x100a08335)
#5 0x100c746b2 in fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)+0x32 (embedder_unittests:x86_64+0x100a086b2)
#6 0x106ee0b1a in std::_fl::__unique_if<fml::Thread>::__unique_single std::_fl::make_unique[abi:v15000]<fml::Thread, std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig&>(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig&)+0x4a (embedder_unittests:x86_64+0x106c74b1a)
#7 0x106ee08e8 in flutter::ThreadHost::CreateThread(flutter::ThreadHost::Type, std::_fl::optional<fml::Thread::ThreadConfig>, flutter::ThreadHost::ThreadHostConfig const&) const+0x1b8 (embedder_unittests:x86_64+0x106c748e8)
#8 0x106ee1466 in flutter::ThreadHost::ThreadHost(flutter::ThreadHost::ThreadHostConfig const&)+0x2f6 (embedder_unittests:x86_64+0x106c75466)
#9 0x106ee19ca in flutter::ThreadHost::ThreadHost(flutter::ThreadHost::ThreadHostConfig const&)+0x2a (embedder_unittests:x86_64+0x106c759ca)
#10 0x100b6f730 in flutter::EmbedderThreadHost::CreateEngineManagedThreadHost(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&)+0x3a0 (embedder_unittests:x86_64+0x100903730)
#11 0x100b6e51c in flutter::EmbedderThreadHost::CreateEmbedderOrEngineManagedThreadHost(FlutterCustomTaskRunners const*, std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&)+0xcc (embedder_unittests:x86_64+0x10090251c)
#12 0x1002d0748 in flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()+0x238 (embedder_unittests:x86_64+0x100064748)
#13 0x1089ce93b in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x21b (embedder_unittests:x86_64+0x10876293b)
#14 0x108955bdf in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x2cf (embedder_unittests:x86_64+0x1086e9bdf)
#15 0x108955755 in testing::Test::Run()+0x3a5 (embedder_unittests:x86_64+0x1086e9755)
#16 0x108957b23 in testing::TestInfo::Run()+0x593 (embedder_unittests:x86_64+0x1086ebb23)
#17 0x10895a8f2 in testing::TestSuite::Run()+0x6e2 (embedder_unittests:x86_64+0x1086ee8f2)
#18 0x108977d7a in testing::internal::UnitTestImpl::RunAllTests()+0xb9a (embedder_unittests:x86_64+0x10870bd7a)
#19 0x1089ee88b in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x21b (embedder_unittests:x86_64+0x10878288b)
#20 0x1089770ac in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x2cc (embedder_unittests:x86_64+0x10870b0ac)
#21 0x108976c3b in testing::UnitTest::Run()+0x28b (embedder_unittests:x86_64+0x10870ac3b)
#22 0x1083e45e2 in RUN_ALL_TESTS()+0x22 (embedder_unittests:x86_64+0x1081785e2)
#23 0x1083e43c8 in main+0x6e8 (embedder_unittests:x86_64+0x1081783c8)
#24 0x213ff0365 (<unknown module>)
==14398==ABORTING
[1] 14398 abort ../out/host_debug_unopt/embedder_unittests
</pre>
</details>
The changes I made (isolated from a larger change, therefore it doesn't seem reasonable by itself):
```diff
// shell/common/platform_view.cc, L33
void PlatformView::DispatchPointerDataPacket(
std::unique_ptr<PointerDataPacket> packet) {
- delegate_.OnPlatformViewDispatchPointerDataPacket(
- pointer_data_packet_converter_.Convert(std::move(packet)));
+ delegate_.OnPlatformViewDispatchPointerDataPacket(std::move(packet));
}
```
Base engine rev: 3fdd8eb47db219f107e9b345585b84f2820f309b
Environment: Macbook with M1 Max Chip, OS 14.4.1
Compiling with:
```
./engine/src/flutter/tools/gn --goma --unoptimized --asan --xcode-symlinks
./depot_tools/ninja -j200 -C ./engine/src/out/host_debug_unopt
./out/host_debug_unopt/embedder_unittests
```
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-04-05 23:47:06 +00:00
skia-flutter-autoroll
2257bcfba9
Roll Skia from 98601d1c3ff4 to 46e7fea48565 (1 revision) ( flutter/engine#51950 )
...
https://skia.googlesource.com/skia.git/+log/98601d1c3ff4..46e7fea48565
2024-04-05 dcheng@chromium.org Reland "Zero-initialize Vec components to avoid MSan warnings"
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 ,kjlubick@google.com,matanl@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-04-05 23:43:54 +00:00