25174 Commits

Author SHA1 Message Date
skia-flutter-autoroll
dc6e3d8a72 Roll Skia from 188515347032 to 89ecb7c9cd2a (2 revisions) (flutter/engine#49016)
https://skia.googlesource.com/skia.git/+log/188515347032..89ecb7c9cd2a

2023-12-14 jamesgk@google.com [graphite] Support clip shaders
2023-12-14 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from de368ee1bf18 to c7c60e7a0fa4 (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,jsimmons@google.com,michaelludwig@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
2023-12-14 06:04:11 +00:00
auto-submit[bot]
171873ec88 Reverts "[Windows] Move to FlutterCompositor for rendering" (flutter/engine#49015)
Reverts flutter/engine#48849
Initiated by: loic-sharma
This change reverts the following previous change:
Original Description:
This migrates the Windows embedder to `FlutterCompositor` so that the engine renders off-screen to a framebuffer instead of directly onto the window's surface. This will allow us to support platform views and multiple views on Windows.

<details>
<summary>Tests...</summary>

* Verify OpenGL compositor's raster time isn't regressed and memory increase is reasonable
* Software compositor's raster time and memory isn't regressed

Test device configurations
* [x] Windows 11 (hardware acceleration enabled/disabled)
* [x] Windows Arm64 (hardware acceleration enabled/disabled)
* [x] Windows 7 (hardware acceleration enabled/disabled, DWM enabled/disabled)

</details>

Addresses https://github.com/flutter/flutter/issues/128904

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-14 05:03:20 +00:00
Jenn Magder
85abc44624 Add xcprivacy privacy manifest to iOS framework (flutter/engine#48951)
Create a `PrivacyInfo.xcprivacy` (this name is required) plist and move it to the top-level of the iOS framework bundle.  `NSPrivacyTracking*` and `NSPrivacyCollectedDataTypes` keys are required, but the values are blank.

Apple [now requires](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files) that third-party frameworks must include this manifest to document usage of particular APIs and [how they are used](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api).

> Starting in fall 2023, when you upload a new app or app update to App Store Connect that uses an API (including from third-party SDKs) that requires a reason, you’ll receive a notice if you haven’t provided an approved reason in your app’s privacy manifest. And starting in spring 2024, in order to upload your new app or app update to App Store Connect, you’ll be required to include an approved reason in the app’s privacy manifest which accurately reflects how your app uses the API.

https://developer.apple.com/news/?id=z6fu1dcu

@stuartmorgan [audited](https://github.com/flutter/flutter/issues/131494#issuecomment-1852718759) the engine and third_party:

> * File timestamps:
>   
>   * `C617.1` for app state restoration in `FlutterAppDelegate.mm`.
>   * `0A2A.1` for implementation of the relevant `File` wrappers.
> * System boot time:
>   
>   * `35F9.1` for various event timing and elapsed time calculations.

Note macOS frameworks do not need to declare `NSPrivacyAccessedAPITypes`.
I don't think this will require recipe or conductor codesign changes since this is a file copied as a resource into the framework, just as the modulemap and Info.plist aren't referenced anywhere.

I'm not quite sure how to test this other than letting it build and generate a `Generate Privacy Report` in a Flutter app in Xcode.  There's no where we check that, say, the Info.plist is copied to the right place in Flutter.framework (even in flutter/flutter).  When this rolls into the framework I will add a check to [ios_content_validation_test.dart](3da9bc1698/dev/devicelab/bin/tasks/ios_content_validation_test.dart)

On this PR the `PrivacyInfo.xcprivacy` was written to the expected location in the Flutter.framework:
d45cd08094/516/tree

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-14 01:37:59 +00:00
gaaclarke
1538923d6e [Impeller] Made the new blur support 1D blurs (flutter/engine#49001)
issue: https://github.com/flutter/flutter/issues/131580

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-14 01:16:04 +00:00
Brandon DeRosier
3ddcbc7940 [Impeller] Add golden for clipped+transformed blur. (flutter/engine#48886)
This is a simple golden intended to smoketest potential issues when applying the coverage hint in the blur. Expected results:
![Screenshot 2023-12-11 at 12 03 50 PM](https://github.com/flutter/engine/assets/919017/251978b7-e6b4-4863-97f0-9a9a236f05ea)
2023-12-14 00:54:24 +00:00
Brandon DeRosier
b5725a4a83 [Flutter GPU] Runtime shader import. (flutter/engine#48875)
* Add `--shader-bundle` mode to impellerc that takes a simple JSON spec and produces a single flatbuffer with a pack of named shaders.
* Added "single invocation" mode to the impellerc GN templates.
* Record vertex attribute reflection information.
* Light refactoring of the compiler frontend to make compiler invocations easier to follow.

Example shader bundle spec (json form of the yaml spec as shown in the [Flutter GPU](https://docs.google.com/document/d/1Sh1BAC5c_kkuMVreo7ymBzPoMzb7lamZRPsI7GBXv5M/edit?resourcekey=0-5w8u2V-LS41tCHeoE8bDTQ#heading=h.a3gmnzue7wgq) doc):
```json
{
    "UnlitFragment": {
        "type": "fragment",
        "file": "shaders/flutter_gpu_unlit.frag"
    },
    "UnlitVertex": {
        "type": "vertex",
        "file": "shaders/flutter_gpu_unlit.vert"
    },
    "TextureFragment": {
        "type": "fragment",
        "file": "shaders/flutter_gpu_texture.frag"
    },
    "TextureVertex": {
        "type": "vertex",
        "file": "shaders/flutter_gpu_texture.vert"
    }
}
```

Example impellerc invocation:
```bash
impellerc \
  --include=~/projects/flutter/engine/src/flutter/impeller/compiler/shader_lib \
  --runtime-stage-metal \
  --sl=assets/TestLibrary.shaderbundle \
  --shader-bundle='{"UnlitFragment": {"type": "fragment", "file": "shaders/flutter_gpu_unlit.frag"}, "UnlitVertex": {"type": "vertex", "file": "shaders/flutter_gpu_unlit.vert"}, "TextureFragment": {"type": "fragment", "file": "shaders/flutter_gpu_texture.frag"}, "TextureVertex": {"type": "vertex", "file": "shaders/flutter_gpu_texture.vert"}}'
```

Runtime usage:
```dart
    /// Add a render pass encoder to the command buffer so that we can start
    /// encoding commands.
    final encoder = commandBuffer.createRenderPass(renderTarget);

    /// Load a shader bundle asset.
    final library =
        gpu.ShaderLibrary.fromAsset('assets/TestLibrary.shaderbundle')!;

    /// Create a RenderPipeline using shaders from the asset.
    final vertex = library['TextureVertex']!;
    final fragment = library['TextureFragment']!;
    final pipeline = gpu.gpuContext.createRenderPipeline(vertex, fragment);

    encoder.bindPipeline(pipeline);
```

https://github.com/flutter/engine/assets/919017/6f3e9a59-d180-4ba6-b14c-fa6d7056965c
2023-12-14 00:48:00 +00:00
Loïc Sharma
d5a40e1093 [Windows] Move to FlutterCompositor for rendering (flutter/engine#48849)
This migrates the Windows embedder to `FlutterCompositor` so that the engine renders off-screen to a framebuffer instead of directly onto the window's surface. This will allow us to support platform views and multiple views on Windows.

<details>
<summary>Tests...</summary>

* Verify OpenGL compositor's raster time isn't regressed and memory increase is reasonable
* Software compositor's raster time and memory isn't regressed

Test device configurations
* [x] Windows 11 (hardware acceleration enabled/disabled)
* [x] Windows Arm64 (hardware acceleration enabled/disabled)
* [x] Windows 7 (hardware acceleration enabled/disabled, DWM enabled/disabled)

</details>

Addresses https://github.com/flutter/flutter/issues/128904

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-13 23:21:56 +00:00
gaaclarke
a8e57675d6 [Impeller] Made the new blur work on devices without the decal address mode (flutter/engine#48899)
This also adds a new mechanism of override the device capabilities.

fixes https://github.com/flutter/flutter/issues/139773

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-13 20:04:47 +00:00
Victoria Ashworth
1872d4bb32 Allow tests to run on macOS 13 (flutter/engine#48894)
Update macOS web tests to run on macOS 13 and arm64. Changed so test is consistent OS and architecture, which will cause less discrepancy in goldens.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-13 19:57:09 +00:00
Jonah Williams
5b67468e21 [Impeller] Compute ContextContentOptions key via bit manipulating (instead of hashing each property). (flutter/engine#48902)
The hash function we use for pipeline hashncash is actually pretty slow. Since all of the properties we hash on fit in 64 bits, we can compute a hash value directly. From local benchmarking this is about twice as fast, which still leaves quite a bit of room for future improvement (faster hashmap? not using a hashmap at all?)
2023-12-13 19:57:06 +00:00
skia-flutter-autoroll
be639e108f Roll Skia from f3401c6186c1 to 69c02c9d56b2 (1 revision) (flutter/engine#48992)
https://skia.googlesource.com/skia.git/+log/f3401c6186c1..69c02c9d56b2

2023-12-13 jamesgk@google.com [graphite][cleanup] Remove unused constructor

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,jsimmons@google.com,michaelludwig@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
2023-12-13 19:46:26 +00:00
Jason Simmons
3f4ffc972b Revert Dart SDK back to 3.3.0-219.0.dev (flutter/engine#48990)
See https://github.com/flutter/flutter/issues/140074
See https://github.com/flutter/flutter/issues/140076
2023-12-13 11:34:27 -08:00
Jim Graham
4f3642b551 [Impeller] Use direct tessellation geometry for simple clip shapes (flutter/engine#48959)
This work leverages the recent work to directly tessellate the simple primitives for rendering and uses their geometry classes for equivalent clip primitives.
2023-12-13 18:06:49 +00:00
auto-submit[bot]
80bd5d4135 Reverts "[Android] Re-land "Add target to have linux_android_emulator_tests run on AVDs with Android 33 & 34"" (flutter/engine#48988)
Reverts flutter/engine#48936
Initiated by: loic-sharma
This change reverts the following previous change:
Original Description:
Re-lands https://github.com/flutter/engine/pull/48811 with corrected config file name.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-13 18:05:26 +00:00
LongCatIsLooong
63dabdd2e0 Add a constructor for GlyphInfo. (flutter/engine#48971)
Needed for https://github.com/flutter/flutter/pull/139717

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-13 18:01:47 +00:00
Loïc Sharma
5139925e3b [Windows] Refactor surface manager mocking (flutter/engine#48953)
See: https://github.com/flutter/engine/pull/48849#discussion_r1424535869
2023-12-13 17:42:52 +00:00
skia-flutter-autoroll
8418a269c8 Roll Dart SDK from 17143c130ab3 to 114f2e8de3e5 (1 revision) (flutter/engine#48969)
https://dart.googlesource.com/sdk.git/+log/17143c130ab3..114f2e8de3e5

2023-12-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-223.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC dart-vm-team@google.com,jsimmons@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
2023-12-13 05:47:32 +00:00
Jason Simmons
df2ac7aeb6 Workarounds for clang-tidy warnings in the next roll of Clang (flutter/engine#48963)
See https://github.com/flutter/engine/pull/48928
2023-12-13 03:27:04 +00:00
Matan Lurey
e5799fc85c Migrate impeller/**.h to header guards. (flutter/engine#48962)
Automatically generated by https://github.com/flutter/engine/pull/48903.

Progress towards https://github.com/flutter/flutter/issues/133415.
2023-12-12 18:03:26 -08:00
skia-flutter-autoroll
a8bcb4ff30 Roll Dart SDK from 02f28120470f to 17143c130ab3 (1 revision) (flutter/engine#48961)
https://dart.googlesource.com/sdk.git/+log/02f28120470f..17143c130ab3

2023-12-13 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-222.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC dart-vm-team@google.com,jsimmons@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
2023-12-13 01:43:00 +00:00
Camille Simon
f92e3712b4 [Android] Re-land "Add target to have linux_android_emulator_tests run on AVDs with Android 33 & 34" (flutter/engine#48936)
Re-lands https://github.com/flutter/engine/pull/48811 with corrected config file name.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-13 00:54:17 +00:00
skia-flutter-autoroll
6f7affe3d8 Roll Skia from 49e32eb178a7 to 927f20598b11 (3 revisions) (flutter/engine#48956)
https://skia.googlesource.com/skia.git/+log/49e32eb178a7..927f20598b11

2023-12-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ebfd5875d4b7 to 50d52367e3b3 (6 revisions)
2023-12-12 kjlubick@google.com Fix defines for G3 android build
2023-12-12 michaelludwig@google.com [skif] Add non-strict asShader() to SkSpecialImage

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,jsimmons@google.com,michaelludwig@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
2023-12-13 00:48:23 +00:00
Harry Terkelsen
355e113a13 [web:multiview] Make CanvasKitRenderer listen for view creation/disposal events (flutter/engine#48812)
Makes CanvasKitRenderer create and dispose of views by listening to
events from the PlatformViewManager instance.

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

## 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

---------

Co-authored-by: David Iglesias <ditman@gmail.com>
2023-12-12 16:42:18 -08:00
Matan Lurey
09ba20cb6a Move third_party/swiftshader, roll buildroot DEPS. (flutter/engine#48946)
Progress towards https://github.com/flutter/flutter/issues/67373, synced with 0141e94b34.
2023-12-12 22:23:02 +00:00
Jim Graham
06f5a18499 [Impeller] Direct tessellation of simple filled round rects (flutter/engine#48919)
Simple round rects with the same width and height at each corner are tessellated directly for fill operations, but not yet for stroke operations.
2023-12-12 22:23:00 +00:00
skia-flutter-autoroll
181ced849c Roll Skia from 8e8d92ac1536 to 49e32eb178a7 (1 revision) (flutter/engine#48949)
https://skia.googlesource.com/skia.git/+log/8e8d92ac1536..49e32eb178a7

2023-12-12 robertphillips@google.com [graphite] Add Caps::supportsAHardwareBufferImages

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,jsimmons@google.com,michaelludwig@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
2023-12-12 22:16:35 +00:00
skia-flutter-autoroll
f32684acc3 Roll Dart SDK from a677378ae254 to 02f28120470f (1 revision) (flutter/engine#48945)
https://dart.googlesource.com/sdk.git/+log/a677378ae254..02f28120470f

2023-12-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-221.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC dart-vm-team@google.com,jsimmons@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
2023-12-12 21:44:33 +00:00
skia-flutter-autoroll
a24a7de746 Roll Skia from 3678212a85b8 to 43a400456ab4 (2 revisions) (flutter/engine#48939)
https://skia.googlesource.com/skia.git/+log/3678212a85b8..43a400456ab4

2023-12-12 robertphillips@google.com Add Protected-specific jobs
2023-12-12 drott@chromium.org [Fontations] Roll Fontations libraries & CXX

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,jsimmons@google.com,michaelludwig@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
2023-12-12 19:53:12 +00:00
Matan Lurey
872cf94203 Roll buildroot and delete libxml. (flutter/engine#48906)
The only reference to `libxml` was deleted in https://github.com/flutter/buildroot/pull/801.

This PR updates the buildroot, and removes the library.
2023-12-12 19:49:49 +00:00
skia-flutter-autoroll
40c5495ac5 Roll Skia from 16298087c277 to 3678212a85b8 (2 revisions) (flutter/engine#48934)
https://skia.googlesource.com/skia.git/+log/16298087c277..3678212a85b8

2023-12-12 michaelludwig@google.com [skif] Remove subset parameter from SkSpecialImage::asImage()
2023-12-12 michaelludwig@google.com [skif] SkSpecialImage::draw() no longer virtual, can use fast constraint

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,jsimmons@google.com,michaelludwig@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
2023-12-12 19:07:58 +00:00
Jason Simmons
ebd58c3e5d Manual roll of Dart SDK from 82c4571bb2de to a677378ae254 (flutter/engine#48933)
Includes type annotations for JSArray/JSPromise
(see https://dart-review.googlesource.com/c/sdk/+/337923)
2023-12-12 18:34:30 +00:00
skia-flutter-autoroll
1cb84c7672 Roll Skia from 7685acfb6221 to 16298087c277 (1 revision) (flutter/engine#48931)
https://skia.googlesource.com/skia.git/+log/7685acfb6221..16298087c277

2023-12-12 lehoangquyen@chromium.org Add "shaderWasCached" param to ShaderErrorHandler::compileError

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,jsimmons@google.com,michaelludwig@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
2023-12-12 18:17:24 +00:00
Mouad Debbar
f4797dcadf [web] Handle resizes at the view level (flutter/engine#48892)
Currently, in multi-view mode, when the user resizes the window, Flutter views don't respond to the resize. This is because `FlutterViewEmbedder` is the one responding to resize events. But `FlutterViewEmbedder` only works with the implicit view, so multi views didn't respond to resize events.

This PR moves the responsibility of responding to resize events from `FlutterViewEmbedder` to `EngineFlutterView`. Also, tests.

Part of https://github.com/flutter/flutter/issues/134443
2023-12-12 18:02:15 +00:00
skia-flutter-autoroll
4233e50c00 Roll Skia from 053490edfa70 to 7685acfb6221 (1 revision) (flutter/engine#48929)
https://skia.googlesource.com/skia.git/+log/053490edfa70..7685acfb6221

2023-12-12 robertphillips@google.com Revert^2 "[graphite] Allow GetSkColorTypeFromBufferFormat to be used in Graphite"

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,jsimmons@google.com,michaelludwig@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
2023-12-12 17:11:05 +00:00
skia-flutter-autoroll
9f32e50971 Roll Skia from e1b4c6d9bc8d to 053490edfa70 (1 revision) (flutter/engine#48925)
https://skia.googlesource.com/skia.git/+log/e1b4c6d9bc8d..053490edfa70

2023-12-12 herb@google.com Update IWYU with remove and unique

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,jsimmons@google.com,michaelludwig@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
2023-12-12 15:45:06 +00:00
skia-flutter-autoroll
d7e7ab079f Roll Skia from fe04635b125f to e1b4c6d9bc8d (1 revision) (flutter/engine#48922)
https://skia.googlesource.com/skia.git/+log/fe04635b125f..e1b4c6d9bc8d

2023-12-12 robertphillips@google.com [graphite] Propagate Protectedness throughout Vulkan backend

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jsimmons@google.com,michaelludwig@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
2023-12-12 15:00:06 +00:00
dependabot[bot]
cf1eef6189 Bump actions/setup-python from 4.7.1 to 5.0.0 (flutter/engine#48916)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.7.1 to 5.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/setup-python/releases">actions/setup-python's releases</a>.</em></p>
<blockquote>
<h2>v5.0.0</h2>
<h2>What's Changed</h2>
<p>In scope of this release, we update node version runtime from node16 to node20 (<a href="https://redirect.github.com/actions/setup-python/pull/772">actions/setup-python#772</a>). Besides, we update dependencies to the latest versions.</p>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-python/compare/v4.8.0...v5.0.0">https://github.com/actions/setup-python/compare/v4.8.0...v5.0.0</a></p>
<h2>v4.8.0</h2>
<h2>What's Changed</h2>
<p>In scope of this release we added support for GraalPy (<a href="https://redirect.github.com/actions/setup-python/pull/694">actions/setup-python#694</a>). You can use this snippet to set up GraalPy:</p>
<pre lang="yaml"><code>steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4 
  with:
    python-version: 'graalpy-22.3' 
- run: python my_script.py
</code></pre>
<p>Besides, the release contains such changes as:</p>
<ul>
<li>Trim python version when reading from file by <a href="https://github.com/FerranPares"><code>@​FerranPares</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/628">actions/setup-python#628</a></li>
<li>Use non-deprecated versions in examples by <a href="https://github.com/jeffwidman"><code>@​jeffwidman</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/724">actions/setup-python#724</a></li>
<li>Change deprecation comment to past tense by <a href="https://github.com/jeffwidman"><code>@​jeffwidman</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/723">actions/setup-python#723</a></li>
<li>Bump <code>@​babel/traverse</code> from 7.9.0 to 7.23.2 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/743">actions/setup-python#743</a></li>
<li>advanced-usage.md: Encourage the use actions/checkout@v4 by <a href="https://github.com/cclauss"><code>@​cclauss</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/729">actions/setup-python#729</a></li>
<li>Examples now use checkout@v4 by <a href="https://github.com/simonw"><code>@​simonw</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/738">actions/setup-python#738</a></li>
<li>Update actions/checkout to v4 by <a href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/761">actions/setup-python#761</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/FerranPares"><code>@​FerranPares</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/628">actions/setup-python#628</a></li>
<li><a href="https://github.com/timfel"><code>@​timfel</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/694">actions/setup-python#694</a></li>
<li><a href="https://github.com/jeffwidman"><code>@​jeffwidman</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/724">actions/setup-python#724</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-python/compare/v4...v4.8.0">https://github.com/actions/setup-python/compare/v4...v4.8.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0a5c615913"><code>0a5c615</code></a> Update action to node20 (<a href="https://redirect.github.com/actions/setup-python/issues/772">#772</a>)</li>
<li><a href="0ae58361cd"><code>0ae5836</code></a> Add example of GraalPy to docs (<a href="https://redirect.github.com/actions/setup-python/issues/773">#773</a>)</li>
<li><a href="b64ffcaf5b"><code>b64ffca</code></a> update actions/checkout to v4 (<a href="https://redirect.github.com/actions/setup-python/issues/761">#761</a>)</li>
<li><a href="8d2896179a"><code>8d28961</code></a> Examples now use checkout@v4 (<a href="https://redirect.github.com/actions/setup-python/issues/738">#738</a>)</li>
<li><a href="7bc6abb01e"><code>7bc6abb</code></a> advanced-usage.md: Encourage the use actions/checkout@v4 (<a href="https://redirect.github.com/actions/setup-python/issues/729">#729</a>)</li>
<li><a href="e8111cec9d"><code>e8111ce</code></a> Bump <code>@​babel/traverse</code> from 7.9.0 to 7.23.2 (<a href="https://redirect.github.com/actions/setup-python/issues/743">#743</a>)</li>
<li><a href="a00ea43da6"><code>a00ea43</code></a> add fix for graalpy ci (<a href="https://redirect.github.com/actions/setup-python/issues/741">#741</a>)</li>
<li><a href="8635b1ccc5"><code>8635b1c</code></a> Change deprecation comment to past tense (<a href="https://redirect.github.com/actions/setup-python/issues/723">#723</a>)</li>
<li><a href="f6cc428f53"><code>f6cc428</code></a> Use non-deprecated versions in examples (<a href="https://redirect.github.com/actions/setup-python/issues/724">#724</a>)</li>
<li><a href="5f2af211d6"><code>5f2af21</code></a> Add GraalPy support (<a href="https://redirect.github.com/actions/setup-python/issues/694">#694</a>)</li>
<li>Additional commits viewable in <a href="65d7f2d534...0a5c615913">compare view</a></li>
</ul>
</details>
<br />

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

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

---

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

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

</details>
2023-12-12 06:35:58 +00:00
skia-flutter-autoroll
d0c2fe0ca8 Roll Dart SDK from 9113869cad5f to 82c4571bb2de (1 revision) (flutter/engine#48914)
https://dart.googlesource.com/sdk.git/+log/9113869cad5f..82c4571bb2de

2023-12-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-219.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
2023-12-12 05:59:23 +00:00
skia-flutter-autoroll
54ffa655f1 Roll Skia from 6e3dca50f506 to f436b5ea0e62 (5 revisions) (flutter/engine#48911)
https://skia.googlesource.com/skia.git/+log/6e3dca50f506..f436b5ea0e62

2023-12-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skottie-base from c8009b321a35 to f4ecbb1337cf
2023-12-12 bungeman@google.com [pdf] Emit color space of images
2023-12-12 kjlubick@google.com [pdf] Test yuv and cmyk images with ICC profiles
2023-12-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll shaders-base from 5a31b090d8be to ace4d55f4430
2023-12-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll jsfiddle-base from 8f0c81eee758 to 29a7285dc594

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,michaelludwig@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
2023-12-12 04:21:23 +00:00
skia-flutter-autoroll
3058418d6f Roll Dart SDK from 53dfedb82222 to 9113869cad5f (1 revision) (flutter/engine#48905)
https://dart.googlesource.com/sdk.git/+log/53dfedb82222..9113869cad5f

2023-12-12 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-218.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
2023-12-12 01:59:23 +00:00
skia-flutter-autoroll
263b667b79 Roll Skia from 461256aac224 to 50346ff52bbb (1 revision) (flutter/engine#48900)
https://skia.googlesource.com/skia.git/+log/461256aac224..50346ff52bbb

2023-12-11 jvanverth@google.com [graphite] Add precompile method for YUVImageShaders

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,michaelludwig@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
2023-12-12 00:30:05 +00:00
Jonah Williams
1006f98435 [Impeller] recycle glyph atlas texture more aggressively. (flutter/engine#48888)
If we need to remake the glyph atlas texture but the size is the same, then reuse the old texture.

For more context, see https://github.com/flutter/flutter/issues/138798 which is much slower in Impeller. This change does not fix the problem by itself.
2023-12-12 00:08:51 +00:00
Matan Lurey
6192857eb8 Move third_party/yapf to flutter/third_party/yapf. (flutter/engine#48847)
As part of eliminating the Flutter buildroot
(https://github.com/flutter/flutter/issues/67373), we are moving all
third-party dependencies from `//third_party` to
`//flutter/third_party`.
2023-12-11 15:18:19 -08:00
Bartek Pacia
d3b6e4044d SemanticsUpdateBuilder migration: introduce identifier (flutter/engine#48882)
This PR adds `String? identifier` to `SemanticsUpdateBuilder` (currently it's only available in the temproary `SemanticsUpdateBuilderNew` API.

This is mainly targeted at https://github.com/flutter/flutter/issues/17988

Steps:
part 1: [engine] add `SemanticsUpdateBuilderNew` https://github.com/flutter/engine/pull/47961
part 2: [flutter] use `SemanticsUpdateBuilderNew`  https://github.com/flutter/flutter/pull/138331
**part 3: [engine] update `SemanticsUpdateBuilder` to be the same as `SemanticsUpdateBuilderNew`** <-- we are here
part 4: [flutter] use (now updated) `SemanticsUpdateBuilder` again.
part 5: [engine] remove `SemanticsBuilderNew`
2023-12-11 22:35:07 +00:00
Bartek Pacia
de91195bb1 Add support for exposing accessibility identifier as accessibilityIdentifier on iOS (flutter/engine#48858)
This PR is a sibling of #47961 but for iOS
2023-12-11 22:35:06 +00:00
auto-submit[bot]
3900ec6e47 Reverts "[Android] Add target to have linux_android_emulator_tests run on AVDs with Android 33 & 34" (flutter/engine#48895)
Reverts flutter/engine#48811
Initiated by: camsim99
This change reverts the following previous change:
Original Description:
Adds target (`Linux linux_android_emulator_tests_api_33`)  to have Android emulator testst run on AVDs with Android 33 so that the differences between those tests runs and those running on AVDs with Android 34 (`Linux linux_android_emulator_tests`) may be observed.

Related to https://github.com/flutter/flutter/issues/137947.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-11 22:09:26 +00:00
skia-flutter-autoroll
d1d42aa3f1 Roll Skia from e55567fceb5f to 17bd70326a49 (22 revisions) (flutter/engine#48890)
https://skia.googlesource.com/skia.git/+log/e55567fceb5f..17bd70326a49

2023-12-11 robertphillips@google.com Revert "[graphite] Allow GetSkColorTypeFromBufferFormat to be used in Graphite"
2023-12-11 jvanverth@google.com [graphite] Split cubic sampling of YUV images from non-cubic sampling.
2023-12-11 kjlubick@google.com Reland "Remove SkFontPriv functions related to "default" Typeface"
2023-12-11 michaelludwig@google.com [skif] Mark AutoSurface's device as immutable when snapping
2023-12-11 michaelludwig@google.com [skif] Add SkSpecialImages::AsBitmap, remove getROPixels()
2023-12-11 kjlubick@google.com Revert "Remove SkFontPriv functions related to "default" Typeface"
2023-12-11 robertphillips@google.com [graphite] Allow GetSkColorTypeFromBufferFormat to be used in Graphite
2023-12-11 kjlubick@google.com Remove SkFontPriv functions related to "default" Typeface
2023-12-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from f4a64ca5f094 to d895a1c308f3 (1 revision)
2023-12-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 1dd726c2f6be to 9196dd470724
2023-12-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 2291a55e72cd to 29ab089da265 (26 revisions)
2023-12-10 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update SKP version
2023-12-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from f3719bdaf8cc to f4a64ca5f094 (3 revisions)
2023-12-09 mkember@google.com [Fuchsia] Add FIDL HLCPP tables.c file to the build
2023-12-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skcms from ffaff60d9659 to fa4c93a17fe6 (1 revision)
2023-12-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d4258544ceac to f3719bdaf8cc (6 revisions)
2023-12-08 kjlubick@google.com Update many uses of SkFont that had nullptr SkTypeface
2023-12-08 kjlubick@google.com Add Bazel buffet builds for paragraph and accessories
2023-12-08 petermcneeley@chromium.org [ganesh] Add BGRA8 / kRGB_888x combo
2023-12-08 jvanverth@google.com Add a new wacky_yuv GM that exercises cubic sampling.
2023-12-08 brianosman@google.com Fix text in viewer stats
2023-12-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from ae93b7885b44 to f90eb691f29a

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,michaelludwig@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
2023-12-11 21:29:04 +00:00
Camille Simon
744d36f9e0 [Android] Add target to have linux_android_emulator_tests run on AVDs with Android 33 & 34 (flutter/engine#48811)
Adds target (`Linux linux_android_emulator_tests_api_33`)  to have Android emulator testst run on AVDs with Android 33 so that the differences between those tests runs and those running on AVDs with Android 34 (`Linux linux_android_emulator_tests`) may be observed.

Related to https://github.com/flutter/flutter/issues/137947.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-12-11 21:25:07 +00:00
Matan Lurey
d64cd75e9f Move third_party/stb to flutter/third_party. (flutter/engine#48845)
As part of eliminating the Flutter buildroot (https://github.com/flutter/flutter/issues/67373), we are moving all third-party dependencies from `//third_party` to `//flutter/third_party`.
2023-12-11 21:19:35 +00:00
Casey Hillers
b5d6b5274c [ci.yaml] Add DEPS to emulator tests runIf (flutter/engine#48885)
https://github.com/flutter/cocoon/pull/3333
2023-12-11 21:10:17 +00:00