29204 Commits

Author SHA1 Message Date
Jonah Williams
1da5dd68fd [Impeller] opt into exp canvas. (flutter/engine#54913)
Switch back to new canvas implementation, which allows us to complete the display list/impeller interop arc of work. While we're at it, switch the subpass size rounding logic to round out if there is no image filter.

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

Part of https://github.com/flutter/flutter/issues/142054
2024-09-06 20:33:22 +00:00
skia-flutter-autoroll
04fffd2fbe Roll Skia from 8f62a6a4a299 to f38ea0134dba (4 revisions) (flutter/engine#55008)
https://skia.googlesource.com/skia.git/+log/8f62a6a4a299..f38ea0134dba

2024-09-06 michaelludwig@google.com [graphite] Centralize handling of viewport/rtAdjust values
2024-09-06 egdaniel@google.com [Vulkan] Fix deletion of fences on failed submits.
2024-09-06 egdaniel@google.com [Vulkan] Add AHARDWAREBUFFER_FORMAT_R10G10B10A10_UNORM checks to switch statements.
2024-09-06 robertphillips@google.com [graphite] Move lingering Viewer flag handling to SetTestOptions

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,codefu@google.com,jlavrova@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-09-06 19:39:52 +00:00
Jonah Williams
547dbe4c4c [impeller] fake image for fake tests. (flutter/engine#54974)
Simulator only change to allow toImage and toByteData to not fail when there is no metal context w/ impeller.
2024-09-06 18:53:53 +00:00
skia-flutter-autoroll
ac26f2ceb4 Roll Skia from 6ad117bd2efe to 8f62a6a4a299 (1 revision) (flutter/engine#55001)
https://skia.googlesource.com/skia.git/+log/6ad117bd2efe..8f62a6a4a299

2024-09-06 michaelludwig@google.com [graphite] Move SkSL compilation into MtlGraphics|ComputePipeline::Make

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,codefu@google.com,jlavrova@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-09-06 17:03:27 +00:00
davidhicks980
6674a4c33b Change "there own" to "their own" in Flutter-GPU docs (flutter/engine#54921)
Changed the word "there" to "their" in Flutter GPU doc... which I think is correct, but I could be wrong. Thanks!

- [] I listed at least one issue that this PR fixes in the description above.
- [] I added new tests to check the change I am making or feature I am adding, or the PR is [test-exempt]. See [testing the engine] for instructions on writing and running engine tests.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-06 16:49:18 +00:00
auto-submit[bot]
f3c121ecb5 Reverts "[engine] always force platform channel responses to schedule a task. (#54975)" (flutter/engine#55000)
Reverts: flutter/engine#54975
Initiated by: jtmcdole
Reason for reverting: I believe this change caused flutter/flutter to break in an engine roll. It was one of two changes - the other being a webui change.

Tests broken:

module_test_ios:  testDualCold

router test:

```
[2024-09-05 17:43:20.837343] [STDOUT] stderr: [ +135 ms] VMServiceFlutterDriver: Connected to Flutter application.
[2024-09-05 17:43:20.841927] [STDOUT] stdout: [   +4 ms] 00:00 +0: 
Original PR Author: jonahwilliams

Reviewed By: {jason-simmons, johnmccutchan}

This change reverts the following previous change:
If we use runNowOrPostTask on platform channel responses, then we may not wake up the dart message loop. If nothing else wakes it up, then the embedder may hang on platform channel responses.

This fixes several google3 integration tests when run in merged thread mode.
2024-09-06 15:54:46 +00:00
skia-flutter-autoroll
4363170f96 Roll Skia from b6bab0fde426 to 6ad117bd2efe (2 revisions) (flutter/engine#54999)
https://skia.googlesource.com/skia.git/+log/b6bab0fde426..6ad117bd2efe

2024-09-06 michaelludwig@google.com [graphite] Simplify Dawn bound uniform tracking
2024-09-06 michaelludwig@google.com [graphite] Refactor Dawn intrinsic uniforms handling into helper class

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,codefu@google.com,jlavrova@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-09-06 15:39:50 +00:00
skia-flutter-autoroll
5dbb04ad1e Roll Skia from aec11ae18bb6 to 368f209ccca5 (3 revisions) (flutter/engine#54992)
https://skia.googlesource.com/skia.git/+log/aec11ae18bb6..368f209ccca5

2024-09-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 59eff3660f81 to 61c26fd6930a (3 revisions)
2024-09-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from f982e0beb5db to b96a50f0c8f0 (11 revisions)
2024-09-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from d3b7a448690d to b339ed4daf66 (22 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,codefu@google.com,jlavrova@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-09-06 08:33:38 +00:00
skia-flutter-autoroll
9975d42922 Roll Fuchsia Linux SDK from xNv47d1TZmK9XgTxu... to PBeI0gGvgFdXV6hCg... (flutter/engine#54990)
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 codefu@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-09-06 06:27:04 +00:00
skia-flutter-autoroll
69ad34593c Roll Skia from 809f868ded1c to aec11ae18bb6 (22 revisions) (flutter/engine#54988)
https://skia.googlesource.com/skia.git/+log/809f868ded1c..aec11ae18bb6

2024-09-05 michaelludwig@google.com [graphite] Store dst copy texture and bounds on RenderPassTask
2024-09-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 3763a16adf08 to a0dffec9be81 (3 revisions)
2024-09-05 robertphillips@google.com [graphite] Update viewer's flag handling
2024-09-05 michaelludwig@google.com [graphite] Convert Uniform|TextureDataBlock to value types
2024-09-05 borenet@google.com [infra] Fix infra_revision in DEPS
2024-09-05 brianosman@google.com Add Skia Client Search HTML source to repository
2024-09-05 michaelludwig@google.com [graphite] Add disable_robustness toggle for viewer/dm/nanobench
2024-09-05 michaelludwig@google.com [graphite] TextureDataBlock holds span of texture proxies
2024-09-05 jvanverth@google.com [graphite] Add DrawAtlasTest.
2024-09-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from d1a4b0ff5b83 to 59eff3660f81 (5 revisions)
2024-09-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 6256e7687963 to 3763a16adf08 (4 revisions)
2024-09-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from c0bc4d075afe to d3b7a448690d (17 revisions)
2024-09-05 kylechar@chromium.org [graphite] Disable SSBOs for Dawn/Vulkan
2024-09-04 michaelludwig@google.com [graphite] Move PipelineDataCache into PipelineData.h
2024-09-04 michaelludwig@google.com Add SkArenaAlloc::makeArrayCopy()
2024-09-04 borenet@google.com [bazel] Add BazelBuild job for //example/external_client:use_ganesh_gl
2024-09-04 jmbetancourt@google.com add build clarification to getting started docs
2024-09-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 725499142cb6 to 6256e7687963 (2 revisions)
2024-09-04 kjlubick@google.com Add Dockerfile/script to build fiddler backend
2024-09-04 brianosman@google.com Guard both divisions in luminosity blend mode
2024-09-04 borenet@google.com [infra] Add explicit DEPS entry for infra repo
2024-09-04 robertphillips@google.com [graphite] Add jobs for testing Tint IR

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,codefu@google.com,jlavrova@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-09-06 02:42:29 +00:00
gaaclarke
bba852ec0c Removes the int storage from Color (flutter/engine#54714)
issue: https://github.com/flutter/flutter/issues/127855
This depends on https://github.com/flutter/flutter/pull/153938 being
landed.
## 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-09-05 19:11:25 -07:00
Chris Bracken
3924630cbc iOS,macOS: Add logging of duplicate codesign binaries (flutter/engine#54987)
When duplicates are found in the input lists, log them to stderr. For the case of duplicates across list, we print the whole list, sorted, rather than three separate lists, as it makes it simpler to spot the duplicate, at which point the file will be easy to spot in either `create_ios_framework.py` or `create_macos_framework.py`.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-06 01:27:24 +00:00
Siva
5084e0ca2b Manual roll of Dart. (flutter/engine#54983)
[https://dart.googlesource.com/sdk.git/+log/1a6246225b75..0f783bdb7a4d
](https://dart.googlesource.com/sdk.git/+log/1a6246225b75..0f783bdb7a4d
)
Merging Version 3.6.0-217.0.dev

The change https://dart-review.googlesource.com/c/sdk/+/382385 moved
some package locations and these had to be adjusted in the Flutter DEPS
file.
2024-09-05 16:33:44 -07:00
Chris Bracken
0669d07612 iOS,macOS: add unsigned_binaries.txt (flutter/engine#54977)
There are three categories of binaries produced as part of the framework artifacts:
* Those that use APIs that require entitlements and must be code-signed; e.g. gen_snapshot
* Those that do not use APIs that require entitlements and must be code-signed; e.g. Flutter.framework dylib.
* Those that do not need to be code-signed; e.g. Flutter.dSYM symbols.

Until now, our signing infrastructure has assumed that all mach-o binaries in the artifacts we produce require a signature. dSYM files are not required to be codesigned, although the xcframework containing them are, and as such they cannot be removed or tampered with.

The framework code-signing tests in `dev/bots/suite_runners/run_verify_binaries_codesigned_tests.dart` are only run on post-submit on release branches, and thus, this issue was not uncovered until the first release after all the dSYM work landed. Those tests were updated in https://github.com/flutter/flutter/pull/154591. This updates the framework and artifact archive generation code to also explicitly exclude those files from signing.

Issue: https://github.com/flutter/flutter/issues/154571
Related: https://github.com/flutter/flutter/issues/116493
Related: https://github.com/flutter/flutter/issues/153532

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-05 23:12:42 +00:00
Jason Simmons
3bef64d52b Manual Skia roll to 809f868ded1c (flutter/engine#54972)
Includes a build script update required for a new source file added on Windows
2024-09-05 23:12:40 +00:00
Harry Terkelsen
7bb35d8a86 [canvaskit] Fix incorrect calculation of ImageFilter paint bounds (flutter/engine#54980)
Fixes calculation of `ImageFilter` bounds by taking into account the
offset.

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

## 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-09-05 15:23:37 -07:00
Jonah Williams
326bd99dc9 [engine] always force platform channel responses to schedule a task. (flutter/engine#54975)
If we use runNowOrPostTask on platform channel responses, then we may not wake up the dart message loop. If nothing else wakes it up, then the embedder may hang on platform channel responses.

This fixes several google3 integration tests when run in merged thread mode.
2024-09-05 20:49:56 +00:00
Juanjo Tugores
cf40f73057 Fix unexpected ViewFocus events when Text Editing utilities change focus in the middle of a blur call. (flutter/engine#54965)
In [some cases][1], text editing utilities re-focus the `<input />` element during a blur event. This causes an unusual sequence of `focusin` and `focusout` events, leading to the engine sending unintended events.

Consider the following HTML code:

```html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
  <div id="container">
    <input type="" value="1" id="input1">
    <input type="" value="2" id="input2">
    <input type="" value="3" id="input3">
  </div>

  <script>
    container.addEventListener('focusin', (ev) => {
      console.log('focusin: focus was gained by', ev.target);
    });
    container.addEventListener('focusout', (ev) => {
      console.log('focusout: focus is leaving', ev.target, 'and it will go to', ev.relatedTarget);
    });
  </script>
</body>
</html>
```

Clicking input1, then input2, then input3 produces the following console logs:

```
// Input1 is clicked
focusin: focus was gained by <input type value=​"1" id=​"input1">​

// Input2 is clicked
focusout: focus is leaving <input type value=​"1" id=​"input1">​ and it will go to <input type value=​"2" id=​"input2">​
focusin: focus was gained by <input type value=​"2" id=​"input2">​

// Input3 is clicked
focusout: focus is leaving <input type value=​"2" id=​"input2">​ and it will go to <input type value=​"3" id=​"input3">​
focusin: focus was gained by <input type value=​"3" id=​"input3">​
```

Now, let's add a blur handler that changes focus:

```html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
  <div id="container">
    <input type="" value="1" id="input1">
    <input type="" value="2" id="input2">
    <input type="" value="3" id="input3">
  </div>

  <script>
    container.addEventListener('focusin', (ev) => {
      console.log('focusin: focus was gained by', ev.target);
    });
    container.addEventListener('focusout', (ev) => {
      console.log('focusout: focus is leaving', ev.target, 'and it will go to', ev.relatedTarget);
    });
    input2.addEventListener('blur', (ev) => {
      input2.focus();
    });
  </script>
</body>
</html>
```

The log sequence changes and gives the wrong impression that no dom element has focus:

```
// Input1 is clicked
focusin: focus was gained by <input type value=​"1" id=​"input1">​

// Input2 is clicked
focusout: focus is leaving <input type value=​"1" id=​"input1">​ and it will go to <input type value=​"2" id=​"input2">​
focusin: focus was gained by <input type value=​"2" id=​"input2">​

// Input3 is clicked, but the handler kicks in and instead of the following line being a focusout, it results in a focusin call first.
focusin: focus was gained by <input type value=​"2" id=​"input2">​
focusout: focus is leaving <input type value=​"2" id=​"input2">​ and it will go to null
```

In addition to that, during `focusout` processing, `activeElement` typically points to `<body />`. However, if an element is focused during a `blur` event, `activeElement` points to that focused element.  Although, undocumented it can be verified with:

```html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
  <div id="container">
    <input type="" value="1" id="input1">
    <input type="" value="2" id="input2">
    <input type="" value="3" id="input3">
  </div>

  <script>
    container.addEventListener('focusin', (ev) => {
      console.log('focusin: was gained by', ev.target);
    });
    container.addEventListener('focusout', (ev) => {
      console.log('document.hasFocus()', document.hasFocus());     
      console.log('document.activeElement', document.activeElement);
      console.log('focusout: focus is leaving', ev.target, 'and it will go to', ev.relatedTarget);
    });
    input2.addEventListener('blur', (ev) => {
      input2.focus();
    });
  </script>
</body>
</html>
```

We leverage these behaviors to ignore `focusout` events when the document has focus but `activeElement` is not `<body />`.

https://github.com/flutter/flutter/issues/153022

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-05 18:23:55 +00:00
Jonah Williams
31a579bf40 [Impeller] migrate last color wheel test to DisplayList. (flutter/engine#54964)
Update last AIKS golden test.

Part of Part of https://github.com/flutter/flutter/issues/142054
2024-09-05 17:54:18 +00:00
Jim Graham
534995967b [DisplayList] Remove unnecessary DisplayListBuilder as DlOpReceiver accesses (flutter/engine#54969)
Fixes https://github.com/flutter/flutter/issues/144070

There is a mechanism by which you can access a DisplayListBuilder as if it were a DlOpReceiver for dispatching one DisplayList into another.

This mechanism also resembles the legacy way in which one would write graphics snippets prior to the creation of the DlCanvas interface and so we have dozens of old unit tests which were written to test the Builder class by filling it with commands in the Receiver/Dispatcher format. This type of access is obsolete and maintaining the ability for arbitrary code to talk to a Builder in that manner is getting in the way of future work.

This PR rewrites over 100 of such unit tests to use the standard DlCanvas-style interface to record operations into a Builder, leaving only a dozen or so cases of internal state tests that still inject ops directly to test the internal state keeping.
2024-09-05 16:38:18 +00:00
skia-flutter-autoroll
a5f8116cf1 Roll Skia from 0b24a6d3c514 to 655699edfc97 (4 revisions) (flutter/engine#54958)
https://skia.googlesource.com/skia.git/+log/0b24a6d3c514..655699edfc97

2024-09-04 kjlubick@google.com Update straggling legacy ganesh #include path
2024-09-04 robertphillips@google.com [graphite] Update DM's handling of FakeWGPU jobs
2024-09-04 nicolettep@google.com Add infra jobs to capture more Android perf data
2024-09-04 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 79281094cb19 to c0bc4d075afe (5 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,codefu@google.com,jlavrova@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-09-05 15:10:06 +00:00
skia-flutter-autoroll
babacc8007 Roll Fuchsia Linux SDK from qS4FRrP_KI7czLMKv... to xNv47d1TZmK9XgTxu... (flutter/engine#54968)
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 codefu@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-09-05 05:19:24 +00:00
Harry Terkelsen
acf6660982 Add crossOrigin property to <img> tag used for decoding (flutter/engine#54961)
Adds the `crossOrigin` property to the `<img>` tag used for decoding. This allows us to use cross-origin images in CanvasKit as if it were loaded from the same origin, as long as the CORS headers are properly set on the server hosting the image.

In the case where the image doesn't have proper CORS headers, this change causes an error to occur while attempting to decode, rather than later on in Skia when the image is converted into a texture. Hitting the cross-origin error later causes Skia to behave in undefined ways.

Progress towards https://github.com/flutter/flutter/issues/149843 

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-05 00:29:36 +00:00
skia-flutter-autoroll
34bc9af6d5 Manual roll Dart SDK from 139867e57ba9 to 1a6246225b75 (18 revisions) (flutter/engine#54962)
Manual roll requested by kevinjchisholm@google.com

https://dart.googlesource.com/sdk.git/+log/139867e57ba9..1a6246225b75

2024-09-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-216.0.dev
2024-09-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-215.0.dev
2024-09-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-214.0.dev
2024-09-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-213.0.dev
2024-09-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-212.0.dev
2024-09-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-211.0.dev
2024-09-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-210.0.dev
2024-09-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-209.0.dev
2024-09-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-208.0.dev
2024-09-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-207.0.dev
2024-09-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-206.0.dev
2024-08-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-205.0.dev
2024-08-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-204.0.dev
2024-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-203.0.dev
2024-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-202.0.dev
2024-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-201.0.dev
2024-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-200.0.dev
2024-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-199.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 codefu@google.com,dart-vm-team@google.com,kevinjchisholm@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-09-04 23:58:20 +00:00
gaaclarke
02b8207c9a Framework wide color linear gradients (flutter/engine#54748)
This implements wide gamut color support for gradients in the engine.

issue: https://github.com/flutter/flutter/issues/127855
integration test: https://github.com/flutter/flutter/pull/153976

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-04 23:50:19 +00:00
Matan Lurey
d068ccc47d Add more package:test (removing usages of package:litetest) (flutter/engine#54882)
... also removed a few TODOs, deleted a proof of concept directory.

Work towards https://github.com/flutter/flutter/issues/133569.
2024-09-04 22:42:55 +00:00
Jonah Williams
b9aa7ed855 [Impeller] fix NPE when checking known bad driver. (flutter/engine#54959)
context can be null here which is causing https://github.com/flutter/flutter/issues/154622
2024-09-04 17:44:16 +00:00
skia-flutter-autoroll
dd2395fe5d Roll Skia from d1121ff583c4 to 0b24a6d3c514 (1 revision) (flutter/engine#54957)
https://skia.googlesource.com/skia.git/+log/d1121ff583c4..0b24a6d3c514

2024-09-04 brianosman@google.com Rename all JUMPER macros to SKRP

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,codefu@google.com,jlavrova@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-09-04 14:38:25 +00:00
Kaylee Lubick
ef050da2b8 Use moved Skia Ganesh header files (flutter/engine#54833)
In http://review.skia.org/892736 and http://review.skia.org/893856, Skia
moved its Ganesh headers to align with the Graphite ones. This updates
Flutter to use those moved files.

All changes are mechanical and there is no API difference between the
headers (indeed, the old ones simply `#include` the new ones).

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [ ] 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-09-04 07:09:51 -07:00
skia-flutter-autoroll
fe5a18dad1 Roll Skia from 04d973ac4f26 to 32ab535755d2 (5 revisions) (flutter/engine#54954)
https://skia.googlesource.com/skia.git/+log/04d973ac4f26..32ab535755d2

2024-09-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 0457b8183fa6 to f982e0beb5db
2024-09-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 5e29f5c97fc4 to 725499142cb6 (5 revisions)
2024-09-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 22f0ebaf6218 to 0457b8183fa6 (4 revisions)
2024-09-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3c4bdf66d81d to 5561c71fa64e (1 revision)
2024-09-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 7abbf53a30e9 to 79281094cb19 (12 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,codefu@google.com,jlavrova@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-09-04 07:40:27 +00:00
skia-flutter-autoroll
503f3f2778 Roll Fuchsia Linux SDK from BaO2fyTu4jhvdTtdE... to qS4FRrP_KI7czLMKv... (flutter/engine#54951)
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 codefu@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-09-04 04:05:05 +00:00
skia-flutter-autoroll
d88ce55e3d Roll Skia from f53e13c84498 to 04d973ac4f26 (5 revisions) (flutter/engine#54950)
https://skia.googlesource.com/skia.git/+log/f53e13c84498..04d973ac4f26

2024-09-03 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 7f303d9bf39b to 7abbf53a30e9 (16 revisions)
2024-09-03 kjlubick@google.com Enforce IWYU on modules/svg
2024-09-03 jgaillard@google.com Disable musstail for the Android framework version on WIN32
2024-09-03 jvanverth@google.com [graphite] Swap shape inversion for ClipOps.
2024-09-03 jmbetancourt@google.com guard ios test apps with skia_enable_tools

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,codefu@google.com,jlavrova@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-09-04 00:14:22 +00:00
skia-flutter-autoroll
4314e84261 Roll Skia from 0d9333e72a39 to f53e13c84498 (4 revisions) (flutter/engine#54947)
https://skia.googlesource.com/skia.git/+log/0d9333e72a39..f53e13c84498

2024-09-03 robertphillips@google.com [graphite] Fix nanobench handling of the Graphite Options
2024-09-03 bungeman@google.com [pdf] Reduce drawing glyphs as paths
2024-09-03 jvanverth@google.com Revert "Reland "[graphite] Clean out unused Plot backing stores when purging DrawAtlas.""
2024-09-03 jlavrova@google.com Revert "Indicate we are able to root on Pixel5 devices"

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,codefu@google.com,jlavrova@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-09-03 21:11:33 +00:00
hellohuanlin
48974293cd [ios][platform_view] fix platform view clipping path intersection (flutter/engine#54820)
It turns out that when there are multiple paths to clip, they are unioned together, rather than intersected. But clipping paths need to be intersected. 

There isn't any good way to intersect arbitrary paths. However, it is easy to intersect rect paths, which is the most common use case. Then we simply fallback to software rendering if we have to intersect non-rect paths. That is: 

**Case 1** Only 1 clipping path (either rect path or arbitrary path):
Hardware rendering. This should be the most common use case

**Case 2** Multiple rect clipping path: 
Hardware rendering. This is also common, and it's the linked issue that we are fixing. 

**Case 3** Other complex case (multiple non-rect clipping path)
Fallback to software rendering. This should be rare. 

After https://github.com/flutter/engine/pull/53826, we don't have a working benchmark that measures the main thread anymore. However, this PR shouldn't impact our ad benchmark, since it only has 1 clipping path. I will verify manually by checking Instruments and make sure no software rendering is happening. But we really should make the benchmark working again, not just for performance improvement, but also for monitoring regression. 

*List which issues are fixed by this PR. You must list at least one issue.*

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-03 20:36:48 +00:00
Jason Simmons
75cbab267a [Impeller] Add all requested glyphs if TypographerContextSkia needs to create a new atlas (flutter/engine#54912)
TypographerContextSkia::CreateGlyphAtlas calculates the set of requested glyphs that are not already in the current atlas and then tries to add those glyphs to that atlas.  But if that is not possible and a new atlas must be allocated, then CreateGlyphAtlas must populate the new atlas with every glyph.

Fixes https://github.com/flutter/flutter/issues/153392
2024-09-03 20:14:21 +00:00
skia-flutter-autoroll
e80ff24945 Roll Skia from 5515c08c2e44 to 0d9333e72a39 (8 revisions) (flutter/engine#54944)
https://skia.googlesource.com/skia.git/+log/5515c08c2e44..0d9333e72a39

2024-09-03 robertphillips@google.com [graphite] Add centralized app flag handling
2024-09-03 nicolettep@google.com Indicate we are able to root on Pixel5 devices
2024-09-03 jvanverth@google.com [graphite] Make circular_rrect_clip snippet output coverage instead.
2024-09-03 jvanverth@google.com [graphite] Rename clip shader block to be more generic.
2024-09-03 jlavrova@google.com Revert "Reland "Split FreeType & FontConfig, step #1""
2024-09-03 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from aa237b66d8cc to 5e29f5c97fc4 (1 revision)
2024-09-03 ccameron@chromium.org SkAndroidCodec: Add getAndroidGainmap that populates an SkAndroidCodec
2024-09-03 kjlubick@google.com Apply some clang-tidy suggestions to graphite code

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,codefu@google.com,jlavrova@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-09-03 19:16:03 +00:00
Jonah Williams
1018afbb9b [Impeller] disable Adreno 630 vulkan and add mechanism for android driver denylisting. (flutter/engine#54920)
Fixes https://github.com/flutter/flutter/issues/154103

From local testing, the Adreno 630 returns VK_INCOMPLETE when compiling certain shaders with no other error messages. That is not a valid return code from vkCreateGraphicsPipeline and likely indicates severe problems with the driver.
2024-09-03 18:40:04 +00:00
skia-flutter-autoroll
2b049a9ec7 Roll Skia from 2d5a75027691 to 5515c08c2e44 (3 revisions) (flutter/engine#54941)
https://skia.googlesource.com/skia.git/+log/2d5a75027691..5515c08c2e44

2024-09-03 beaufort.francois@gmail.com [webgpu-headers] Add macro for dropping "descriptor"
2024-09-03 jlavrova@google.com Reland "Split FreeType & FontConfig, step #1"
2024-09-03 lukasza@chromium.org [rust png] Minimal `onGetFrameInfo` to support non-animated 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,codefu@google.com,jlavrova@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-09-03 16:51:37 +00:00
skia-flutter-autoroll
38b22a5f66 Roll Skia from 041fd378d332 to ab2317b94853 (3 revisions) (flutter/engine#54937)
https://skia.googlesource.com/skia.git/+log/041fd378d332..ab2317b94853

2024-09-03 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 22f0ebaf6218 to 438bd94cb3d4
2024-09-03 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 688a6d46a781 to 22f0ebaf6218 (3 revisions)
2024-09-03 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 1445e2c840ad to 7f303d9bf39b (6 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jlavrova@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-09-03 07:52:31 +00:00
dependabot[bot]
cd4265d9b3 Bump actions/setup-python from 5.1.1 to 5.2.0 (flutter/engine#54933)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.1.1 to 5.2.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.2.0</h2>
<h2>What's Changed</h2>
<h3>Bug fixes:</h3>
<ul>
<li>Add <code>.zip</code> extension to Windows package downloads for <code>Expand-Archive</code> Compatibility by <a href="https://github.com/priyagupta108"><code>@​priyagupta108</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/916">actions/setup-python#916</a>
This addresses compatibility issues on Windows self-hosted runners by ensuring that the filenames for Python and PyPy package downloads explicitly include the .zip extension, allowing the Expand-Archive command to function correctly.</li>
<li>Add arch to cache key by <a href="https://github.com/Zxilly"><code>@​Zxilly</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/896">actions/setup-python#896</a>
This addresses issues with caching by adding the architecture (arch) to the cache key, ensuring that cache keys are accurate to prevent conflicts</li>
</ul>
<h3>Documentation changes:</h3>
<ul>
<li>Fix display of emojis in contributors doc by <a href="https://github.com/sciencewhiz"><code>@​sciencewhiz</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/899">actions/setup-python#899</a></li>
<li>Documentation update for caching poetry dependencies by <a href="https://github.com/gowridurgad"><code>@​gowridurgad</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/908">actions/setup-python#908</a></li>
</ul>
<h3>Dependency updates:</h3>
<ul>
<li>Bump <code>@​iarna/toml</code> version from 2.2.5 to 3.0.0 by <a href="https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/912">actions/setup-python#912</a></li>
<li>Bump pyinstaller from 3.6 to 5.13.1 by <a href="https://github.com/aparnajyothi-y"><code>@​aparnajyothi-y</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/923">actions/setup-python#923</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/sciencewhiz"><code>@​sciencewhiz</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/899">actions/setup-python#899</a></li>
<li><a href="https://github.com/priyagupta108"><code>@​priyagupta108</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/916">actions/setup-python#916</a></li>
<li><a href="https://github.com/Zxilly"><code>@​Zxilly</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/896">actions/setup-python#896</a></li>
<li><a href="https://github.com/aparnajyothi-y"><code>@​aparnajyothi-y</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/923">actions/setup-python#923</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-python/compare/v5...v5.2.0">https://github.com/actions/setup-python/compare/v5...v5.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f677139bbe"><code>f677139</code></a> Bump pyinstaller from 3.6 to 5.13.1 in /<strong>tests</strong>/data (<a href="https://redirect.github.com/actions/setup-python/issues/923">#923</a>)</li>
<li><a href="2bd53f9a4d"><code>2bd53f9</code></a> Documentation update for caching poetry dependencies (<a href="https://redirect.github.com/actions/setup-python/issues/908">#908</a>)</li>
<li><a href="80b49d3ed8"><code>80b49d3</code></a> fix: add arch to cache key (<a href="https://redirect.github.com/actions/setup-python/issues/896">#896</a>)</li>
<li><a href="036a523674"><code>036a523</code></a> Fix: Add <code>.zip</code> extension to Windows package downloads for <code>Expand-Archive</code> C...</li>
<li><a href="04c1311429"><code>04c1311</code></a> Fix display of emojis in contributors doc (<a href="https://redirect.github.com/actions/setup-python/issues/899">#899</a>)</li>
<li><a href="cb68456441"><code>cb68456</code></a> Updated <code>@​iarna/toml</code> version to 3.0.0 (<a href="https://redirect.github.com/actions/setup-python/issues/912">#912</a>)</li>
<li>See full diff in <a href="39cd14951b...f677139bbe">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=5.1.1&new-version=5.2.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>
2024-09-03 05:42:30 +00:00
Robert Ancell
d6415a16c7 Make FlApplication class (flutter/engine#54637)
An app can now be:
```c
#include <flutter_linux/flutter_linux.h>

#include "flutter/generated_plugin_registrant.h"

static void register_plugins_cb(FlApplication *app, FlPluginRegistry *registry) {
  fl_register_plugins(registry);
}

static GtkWindow *create_window_cb(FlApplication *app, FlView *view) {
  GtkApplicationWindow *window =
      GTK_APPLICATION_WINDOW(gtk_application_window_new(GTK_APPLICATION(app)));

  gtk_window_set_title(GTK_WINDOW(window), "flutter_application_test");
  gtk_window_set_default_size(GTK_WINDOW(window), 1280, 720);

  gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view));

  return GTK_WINDOW(window);
}

int main(int argc, char** argv) {
  g_autoptr(FlApplication) app = fl_application_new(APPLICATION_ID, G_APPLICATION_NON_UNIQUE);
  g_signal_connect(app, "register-plugins", G_CALLBACK(register_plugins_cb), nullptr);
  g_signal_connect(app, "create-window", G_CALLBACK(create_window_cb), nullptr);
  return g_application_run(G_APPLICATION(app), argc, argv);
}
```

With this simplified, we can now build multi-window behaviour without having to modify the template much in the future.

Fixes https://github.com/flutter/flutter/issues/142920
2024-09-03 16:02:21 +12:00
skia-flutter-autoroll
52f0cb5a5e Roll Fuchsia Linux SDK from ksNJVM5ZoBB74rba_... to BaO2fyTu4jhvdTtdE... (flutter/engine#54931)
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-09-03 02:39:05 +00:00
skia-flutter-autoroll
af5f2cf00a Roll Skia from 15641c0df7e8 to 514feab300b4 (1 revision) (flutter/engine#54922)
https://skia.googlesource.com/skia.git/+log/15641c0df7e8..514feab300b4

2024-09-02 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 3bd0a4a92866 to 688a6d46a781 (7 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,jlavrova@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-09-02 06:11:11 +00:00
skia-flutter-autoroll
c1fe218856 Roll Fuchsia Linux SDK from uDdFN_cZC6F9BVTzz... to ksNJVM5ZoBB74rba_... (flutter/engine#54918)
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-09-01 20:52:17 +00:00
skia-flutter-autoroll
b1400713f9 Roll Fuchsia Linux SDK from JKPo9G1NaAdstrimW... to uDdFN_cZC6F9BVTzz... (flutter/engine#54914)
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-08-31 19:33:14 +00:00
Jonah Williams
060d89a46f [Impeller] separate algorithm for computing render target size. (flutter/engine#54604)
Separate out the math for computing a saveLayer's allocated texture size based on input bounds, paint, bdf, coverage limit, et cetera.
2024-08-31 00:42:56 +00:00
Yegor
6bddf99dc0 [web:canvaskit] switch to temporary SkPaint objects (flutter/engine#54818)
Do not eagerly create an `SkPaint` object that's strongly referenced by `CkPaint`. Instead, when a `Canvas.draw*` is called, create a temporary `SkPaint` object, pass it to Skia, then immediately delete it. This way there are no persistent `SkPaint` handles lurking in the system that transitively hold onto expensive native resources.

Addresses the `Paint` issue in https://github.com/flutter/flutter/issues/153678 in CanvasKit

Spot checking some benchmarks. Here's the effect of this PR on `draw_rect_variable_paint`. It's a bit of a stress test as it creates 300K distinct `Paint` objects to render 600 pictures (a typical ratio does not normally exceed ten paints to one picture). Even so, the effect of creating an extra `SkPaint` on every `draw*` command does not look significant. However, removing a dependency on the GC for 300K objects looks like a good trade-off.

## Before

Allocation stats:

```
  Paint Created: 300000
  Paint Deleted: 300000
  Paint Leaked: 300000
  Picture Created: 600
  Picture Deleted: 599
  Picture Leaked: 599
```

Performance stats:

```
windowRenderDuration: (samples: 98 clean/2 outliers/100 measured/300 total)
 | average: 4679.551020408163 μs
 | outlier average: 5100 μs
 | outlier/clean ratio: 1.0898481452084188x
 | noise: 3.11%

sceneBuildDuration: (samples: 98 clean/2 outliers/100 measured/300 total)
 | average: 4689.765306122449 μs
 | outlier average: 5100 μs
 | outlier/clean ratio: 1.087474461321549x
 | noise: 3.19%

drawFrameDuration: (samples: 97 clean/3 outliers/100 measured/300 total)
 | average: 8447.474226804125 μs
 | outlier average: 9332.666666666666 μs
 | outlier/clean ratio: 1.1047878236850721x
 | noise: 3.52%
```

## After

Allocation stats:

```
  Picture Created: 600
  Picture Deleted: 599
  Picture Leaked: 599
```

Performance stats:

```
windowRenderDuration: (samples: 97 clean/3 outliers/100 measured/300 total)
 | average: 4780.40206185567 μs
 | outlier average: 5133.666666666667 μs
 | outlier/clean ratio: 1.0738985131877936x
 | noise: 2.70%

sceneBuildDuration: (samples: 97 clean/3 outliers/100 measured/300 total)
 | average: 4787.6082474226805 μs
 | outlier average: 5133.666666666667 μs
 | outlier/clean ratio: 1.0722821085936345x
 | noise: 2.72%

drawFrameDuration: (samples: 97 clean/3 outliers/100 measured/300 total)
 | average: 8243.309278350516 μs
 | outlier average: 9033.333333333334 μs
 | outlier/clean ratio: 1.0958382159768851x
 | noise: 2.60%
```
2024-08-30 22:06:18 +00:00
gaaclarke
6596a35625 Reland: Hooks up framework wide gamut to engine wide gamut (flutter/engine#54906)
relands https://github.com/flutter/engine/pull/54567
depends on https://github.com/flutter/engine/pull/54905

This was reverted because the PR that it depends on was reverted.  There is nothing to be addressed here.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-08-30 18:22:04 +00:00
skia-flutter-autoroll
94750958ca Roll Fuchsia Linux SDK from ohUS2y1HixZYziUtX... to JKPo9G1NaAdstrimW... (flutter/engine#54907)
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-08-30 18:12:59 +00:00
gaaclarke
df9fc7786b Reland: Framework wide color (#54415) (#54737) (flutter/engine#54905)
[This PR](https://github.com/flutter/engine/pull/54415) was reverted
because it required customer testing updates.

issue: https://github.com/flutter/flutter/issues/127855
integration test: https://github.com/flutter/engine/pull/54415

This does the preliminary work for implementing wide gamut colors in the
Flutter framework. Here are the following changes: 1) colors now specify
a colorspace with which they are to be interpreted 1) colors now store
their components as floats to accommodate bit depths more than 8

The storage of this Color class is weird with float/int storage but that
is a temporary solution to support a smooth transition. Here is the plan
for landing this: 1) Land this PR
1) Wait for it to roll into the Framework
1) Land https://github.com/flutter/flutter/pull/153938 which will make
CupertinoDynamicColor implement Color 1) Land another engine PR that
rips out the int storage: https://github.com/flutter/engine/pull/54714

Here are follow up PRs:
1) https://github.com/flutter/engine/pull/54473 - changes DlColor so the
wide gamut colors are rendered 1)
https://github.com/flutter/engine/pull/54567 - Hooks up these changes to
take advantage of wide DlColor 1)
https://github.com/flutter/flutter/pull/153319 - the integration test
for the framework repo

There are some things that have been left as follow up PRs since they
are technically breaking: 1) The math on `lerp` hasn't been updated to
take advantage of the higher bit depth 1) `operator==` hasn't been
updated to take advantage of the higher bit depth 1) `hashCode` hasn't
been updated to take advantage of the higher bit depth 1) `alphaBlend`
hasn't been updated to take advantage of the higher bit depth 1)
`toString` hasn't been updated to take advantage of the higher bit depth

## Reland 2 notes

This was reverted because it changes the math on `_lerpDouble`. While
those changes were mathematcially equivalent, they had different
behaviors when working with non-numbers which created unexpected
changes. The change has been reverted and a test added.

## 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-08-30 10:33:07 -07:00