25407 Commits

Author SHA1 Message Date
skia-flutter-autoroll
036fa47d94 Roll Skia from b63e5a3c14e1 to d65d18ac1e8d (1 revision) (flutter/engine#49735)
https://skia.googlesource.com/skia.git/+log/b63e5a3c14e1..d65d18ac1e8d

2024-01-11 johnstiles@google.com Add support for SkSL Graphite ES2 program kinds.

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 armansito@google.com,bdero@google.com,brianosman@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-01-11 23:20:04 +00:00
Jonah Williams
7b95690be2 [Impeller] Begin migrating to RenderPass command recording API. (flutter/engine#49480)
Part of https://github.com/flutter/flutter/issues/140804 proposes removing the Command object. This demonstrates the new API without changing the implementation, which can be done separately per backend. This also doesn't change every single callsite for reasons...
2024-01-11 22:29:55 +00:00
Victoria Ashworth
ddd6db70ed Run tests on macOS 13 only (flutter/engine#49722)
Release team wants engine tests running exclusively on macOS 13 in main for a while before CP'ing to beta.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-01-11 22:16:16 +00:00
Jonah Williams
12f4ae6d56 [Impeller] dont accidentally copy shared ptr. (flutter/engine#49731)
Copying the shared ptr when we don't need to results in us incrementing/decrementing the ref count which isn't free.
2024-01-11 22:05:22 +00:00
skia-flutter-autoroll
232ab95af3 Roll Skia from 56f28f137507 to b63e5a3c14e1 (1 revision) (flutter/engine#49733)
https://skia.googlesource.com/skia.git/+log/56f28f137507..b63e5a3c14e1

2024-01-11 johnstiles@google.com Add placeholder files for Graphite ES2 support.

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 armansito@google.com,bdero@google.com,brianosman@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-01-11 22:05:20 +00:00
Jason Simmons
36c6968075 Revert Dart SDK to 3245b92a5930 (flutter/engine#49727)
A recent Dart SDK roll included a regression affecting runs of "flutter analyze" on individual files

(see https://dart.googlesource.com/sdk/+/89bd370e95c0695250a4f0111be3134b9936eadd)
2024-01-11 21:57:23 +00:00
skia-flutter-autoroll
6bf9363bd3 Roll Fuchsia Linux SDK from gJuGKaWsKazIrvQeO... to Klxww53tA4-TG5pA9... (flutter/engine#49730)
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 bdero@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-01-11 21:34:43 +00:00
skia-flutter-autoroll
574f3471eb Roll Skia from 440f5f849008 to 56f28f137507 (1 revision) (flutter/engine#49723)
https://skia.googlesource.com/skia.git/+log/440f5f849008..56f28f137507

2024-01-11 briansalomon@gmail.com [graphite] Don't call wgpu::ShaderModule::GetCompilationInfo on emsdk < 3.1.51

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 armansito@google.com,bdero@google.com,brianosman@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-01-11 19:21:05 +00:00
Jesse Seales
4fa8327ffe Osv-scanner integration (flutter/engine#49470)
This change integrates directly with osv-scanner rather than using the OSV API to query each dependency for vulnerabilities.

- use [lockfile format](https://github.com/flutter/engine/pull/49203) for third party deps rather than a flat file
- let osv-scanner do the work of checking for vulns rather than API calls to OSV database
- let osv-scanner create and populate the SARIF results 

A successful run of the vulnerability scanner can be seen in the tests of this PR.

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-01-11 18:59:47 +00:00
Jason Simmons
4610aea866 [Impeller] Add DrawLine/DrawOval/ClipOval operations to the canvas recorder (flutter/engine#49697) 2024-01-11 18:44:03 +00:00
skia-flutter-autoroll
2fb99c5544 Roll Dart SDK from 7f3ea1c3bc27 to 6f5bd26b293d (1 revision) (flutter/engine#49720)
https://dart.googlesource.com/sdk.git/+log/7f3ea1c3bc27..6f5bd26b293d

2024-01-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-18.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-01-11 17:49:57 +00:00
Dan Field
90ee2f7711 Try to get GLES tests running... (flutter/engine#49701)
I plan to fix the GLES fragment program reload issue, but first want to make sure this gets some failures for it.

Added a few skips for shaders that require an extension not available on CI (mipmap related ones).

Updated a couple tests that were failing.
2024-01-11 17:32:13 +00:00
skia-flutter-autoroll
00bd1367a9 Roll Skia from e80a6830eb4d to 5d4f12f3f12d (1 revision) (flutter/engine#49706)
https://skia.googlesource.com/skia.git/+log/e80a6830eb4d..5d4f12f3f12d

2024-01-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 939506789cfa to 17922a334064 (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 armansito@google.com,bdero@google.com,brianosman@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-01-11 06:54:37 +00:00
Dan Field
4681274469 [Impeller] Vulkan runtime effects/fragment program API (flutter/engine#49543)
Fixes https://github.com/flutter/flutter/issues/122823
Fixes https://github.com/flutter/flutter/issues/129659
Fixes https://github.com/flutter/flutter/issues/123741

This patch makes runtime stage/fragment program stuff work on Vulkan for Android.

It will need flutter/flutter#140976 for that to become a reality for flutter_tools users.

Compiling with relaxed Vulkan semantics still has an issue: shaders that use `sampler2D` with an explicitly set `location` on the `layout` will fail to compile with an error documented in https://github.com/flutter/flutter/issues/141219.

I think there might still be some issues with fragment programs on Vulkan, but this should at least be a good starting point and unblocks ink_sparkle.frag usage in the framework.

I've deleted some runtime_stage related code that would never get used - for example, enum related code that indicates we might support a bunch of data types that we do not and probably never will support in this API.
2024-01-11 02:25:05 +00:00
skia-flutter-autoroll
c975e9b627 Roll Dart SDK from 9f5a6a2ccace to 3245b92a5930 (1 revision) (flutter/engine#49700)
https://dart.googlesource.com/sdk.git/+log/9f5a6a2ccace..3245b92a5930

2024-01-11 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-16.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-01-11 02:09:22 +00:00
skia-flutter-autoroll
eabf9d9cdb Roll Skia from d1fbb9177115 to 596053dde5f0 (1 revision) (flutter/engine#49694)
https://skia.googlesource.com/skia.git/+log/d1fbb9177115..596053dde5f0

2024-01-10 herb@google.com Implement Myers' Sweep-Line algorithm

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 armansito@google.com,bdero@google.com,brianosman@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-01-10 23:37:49 +00:00
skia-flutter-autoroll
5874720d60 Roll Skia from 2f254f5d41f2 to d1fbb9177115 (1 revision) (flutter/engine#49692)
https://skia.googlesource.com/skia.git/+log/2f254f5d41f2..d1fbb9177115

2024-01-10 jvanverth@google.com Revert "[graphite] Have Device submit parent uploads prior to its own."

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 armansito@google.com,bdero@google.com,brianosman@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-01-10 22:35:05 +00:00
Jonah Williams
c18d6e3a08 [Impeller] reland: write directly to device buffer. (flutter/engine#49691)
Reland of https://github.com/flutter/engine/pull/49505

---

part of https://github.com/flutter/flutter/issues/140804

We can't use the existing host buffer abstraction as that requires us to collect all allocations up front. By itself, this isn't sufficient for #140804 , because we'll need a way to mark ranges as dirty and/or flush if we don't have host coherent memory. But by itself this change should be beneficial as we'll create fewer device buffers and should do less allocation in general.

The size of the device buffers is 1024 Kb, somewhat arbitrarily chosen.
2024-01-10 22:10:03 +00:00
skia-flutter-autoroll
577ac81725 Roll Dart SDK from c2862d44e108 to 9f5a6a2ccace (1 revision) (flutter/engine#49689)
https://dart.googlesource.com/sdk.git/+log/c2862d44e108..9f5a6a2ccace

2024-01-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-15.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-01-10 22:08:04 +00:00
auto-submit[bot]
6236178dac Reverts "[Impeller] have Hostbuffer write directly to block allocated device buffers." (flutter/engine#49688)
Reverts flutter/engine#49505
Initiated by: jonahwilliams
This change reverts the following previous change:
Original Description:
part of https://github.com/flutter/flutter/issues/140804

We can't use the existing host buffer abstraction as that requires us to collect all allocations up front. By itself, this isn't sufficient for #140804 , because we'll need a way to mark ranges as dirty and/or flush if we don't have host coherent memory. But by itself this change should be beneficial as we'll create fewer device buffers and should do less allocation in general.

The size of the device buffers is 1024 Kb, somewhat arbitrarily chosen.
2024-01-10 21:09:18 +00:00
skia-flutter-autoroll
9ec6040596 Roll Skia from 0443e02cdfd3 to 2f254f5d41f2 (1 revision) (flutter/engine#49685)
https://skia.googlesource.com/skia.git/+log/0443e02cdfd3..2f254f5d41f2

2024-01-10 brianosman@google.com Ensure that sk_unaligned_[load|store] and sk_bit_cast are safe on x86

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 armansito@google.com,bdero@google.com,brianosman@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-01-10 21:01:11 +00:00
Jason Simmons
42b65dc4a5 [Impeller] Make the shaders loaded by the GLES playground consistent with other playgrounds (flutter/engine#49684) 2024-01-10 20:30:38 +00:00
skia-flutter-autoroll
bd168b26ba Roll Fuchsia Linux SDK from pUQrgMfXgU8RmLuL4... to gJuGKaWsKazIrvQeO... (flutter/engine#49682)
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 bdero@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-01-10 20:21:49 +00:00
skia-flutter-autoroll
6bfd10a0ab Roll Skia from 334160c0eede to 0443e02cdfd3 (2 revisions) (flutter/engine#49681)
https://skia.googlesource.com/skia.git/+log/334160c0eede..0443e02cdfd3

2024-01-10 drott@chromium.org Revert^2 "[Fontations-backend] Add COLRv0/v1 support to Fontations backend"
2024-01-10 fmalita@chromium.org [skottie] Fix font fallback in viewer and skottie_tool

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 armansito@google.com,bdero@google.com,brianosman@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-01-10 19:47:13 +00:00
Jonah Williams
eaae4c5d1a [Impeller] have Hostbuffer write directly to block allocated device buffers. (flutter/engine#49505)
part of https://github.com/flutter/flutter/issues/140804

We can't use the existing host buffer abstraction as that requires us to collect all allocations up front. By itself, this isn't sufficient for #140804 , because we'll need a way to mark ranges as dirty and/or flush if we don't have host coherent memory. But by itself this change should be beneficial as we'll create fewer device buffers and should do less allocation in general.

The size of the device buffers is 1024 Kb, somewhat arbitrarily chosen.
2024-01-10 17:18:07 +00:00
skia-flutter-autoroll
fe4befbda6 Roll Skia from 9271dcdade42 to 334160c0eede (1 revision) (flutter/engine#49675)
https://skia.googlesource.com/skia.git/+log/9271dcdade42..334160c0eede

2024-01-10 herb@google.com Add brute force crossing detection

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 armansito@google.com,bdero@google.com,brianosman@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-01-10 16:52:22 +00:00
Matan Lurey
670e54688a Follow various best practices in FlutterRenderer (flutter/engine#49651)
All of these are non-semantics changing and all were auto-applied by
IntelliJ:

- Make always `final` stuff final
- Avoid unnecessary casts
- Annotate `@NonNull` overrides
- Avoid initializing callbacks outside of the constructor, and use Java
lambdas when applicable
- Avoid cases where something is known to be non-null or non-false
- Use `<>` when applicable
2024-01-09 22:12:12 -08:00
skia-flutter-autoroll
04ef8e4123 Roll Skia from 0e8023dc0a1a to 2a77dffd384f (1 revision) (flutter/engine#49662)
https://skia.googlesource.com/skia.git/+log/0e8023dc0a1a..2a77dffd384f

2024-01-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 4e98f42e5643 to 939506789cfa (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 armansito@google.com,bdero@google.com,brianosman@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-01-10 05:46:33 +00:00
skia-flutter-autoroll
d939abcf80 Roll Dart SDK from 727ea68c62d8 to d4b1939dffa6 (1 revision) (flutter/engine#49657)
https://dart.googlesource.com/sdk.git/+log/727ea68c62d8..d4b1939dffa6

2024-01-10 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-11.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-01-10 01:39:26 +00:00
Jackson Gardner
e9e609ee85 Refactor flutter.js to do dart2wasm bootstrapping and CanvasKit/Skwasm preloading. (flutter/engine#49037)
This PR makes some major revisions to our flutter.js bootstrapper.
* Modularize flutter.js into multiple files to make it a little simpler to manage from source code. They are still bundled into a single .js file by esbuild.
* Added a `types.d.ts` file which contains declarations of the types of some of the objects used in the flutter.js API
* Deprecated the old `FlutterLoader.loadEntrypoint` API and added a new function simply called `FlutterLoader.load`, which has a few more capabilities:
  -  A build tool can inject a build config, that may describe multiple builds that `FlutterLoader.load` can attempt to use. It will use the first one that is compatible with the browser environment and the user's configuration.
  - It can also load wasm flutter apps.
  - It also pre-loads and instantiates CanvasKit (and Skwasm) as necessary depending on the build configuration.
  - `FlutterLoader.load` also immediately takes a flutter configuration object. If an `onEntrypointLoaded` callback is not provided by the user, it just does the expected thing and initializes the engine and immediately starts the app, passing the configuration along as needed.
 * `flutter.js` has the engine hash built into it now, which allows it to ascertain the correct CDN URLs for both CanvasKit and Skwasm.
2024-01-10 00:17:32 +00:00
gaaclarke
defc0f3137 [Impeller] made sure to scale the blur radius by the effect transform (flutter/engine#49645)
fixes https://github.com/flutter/flutter/issues/141204

## screenshot after pr

<img width="1023" alt="Screenshot 2024-01-09 at 2 31 10 PM"
src="https://github.com/flutter/engine/assets/30870216/46fc2a63-67dc-4723-b394-2b2a6958f7ba">


## 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-01-09 15:45:50 -08:00
auto-submit[bot]
956b0034c5 Reverts "Refactors RBE support" (flutter/engine#49654)
Reverts flutter/engine#49416
Initiated by: zanderso
This change reverts the following previous change:
Original Description:
This PR refactors the RBE build and adds support for mac-hosted builds to use RBE. In particular, configurations files are downloaded from flutter-internal CIPD instead of being included in the repo. The download from CIPD is triggered by the presence of the `use_rbe` flag as a custom var in the `.gclient` file.

This PR also turns on RBE for Linux and macOS builds that do not produce artifacts.

https://github.com/flutter/buildroot/pull/807
2024-01-09 23:34:24 +00:00
Zachary Anderson
8684cf418a Refactors RBE support (flutter/engine#49416)
This PR refactors the RBE build and adds support for mac-hosted builds
to use RBE. In particular, configurations files are downloaded from
flutter-internal CIPD instead of being included in the repo. The
download from CIPD is triggered by the presence of the `use_rbe` flag as
a custom var in the `.gclient` file.

This PR also turns on RBE for Linux and macOS builds that do not produce
artifacts.

https://github.com/flutter/buildroot/pull/807
2024-01-09 14:38:57 -08:00
LongCatIsLooong
c1458c9efd Fix macOS text composing (flutter/engine#49314)
Fixes https://github.com/flutter/flutter/issues/68547 (almost, this requires an oneliner framework patch to work).

The selection wasn't being updated correctly before this so there were no highlights. Now the selection is properly highlighted (although it seems the styling has been updated in sonoma but it's better than offering no visual feedback):

https://github.com/flutter/engine/assets/31859944/ab8557f4-7215-46de-8a9d-c2e3982695eb

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-01-09 22:37:49 +00:00
Matan Lurey
f0ed60a2a5 Make shell/platform/android IDE-friendly, and add documentation (flutter/engine#49612)
Closes https://github.com/flutter/flutter/issues/141043.

Nothing in this change should impact:

- End-user apps
- Testing and/or CI

I've added what I believe is the minimum required to get a reasonable
Android Studio experience with the `shell/platform/android` folder. More
could definitely be done, but this unblocks me (i.e.
https://github.com/flutter/flutter/issues/139702) and adds instructions
for the next person.

_I'm open to suggestions on how to improve this further, but unless they
are critical, I'd rather land this as-is and review your PRs tweaking my
documentation further (I have limited time to work exclusively on
docs)._

---

Example after this:


![image](https://github.com/flutter/engine/assets/168174/97dfd46b-b617-4bb5-9144-0802d88e2864)
2024-01-09 14:01:04 -08:00
skia-flutter-autoroll
d91d7c6572 Roll Dart SDK from 721fccffc708 to 727ea68c62d8 (1 revision) (flutter/engine#49647)
https://dart.googlesource.com/sdk.git/+log/721fccffc708..727ea68c62d8

2024-01-09 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-10.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-01-09 21:33:20 +00:00
skia-flutter-autoroll
aee963dbb2 Roll Skia from 8c8be76a62c0 to 77534b672363 (1 revision) (flutter/engine#49641)
https://skia.googlesource.com/skia.git/+log/8c8be76a62c0..77534b672363

2024-01-09 herb@google.com Fix tuple to struct transcription errors

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 armansito@google.com,bdero@google.com,brianosman@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-01-09 19:11:05 +00:00
skia-flutter-autoroll
d85c1e985b Roll Fuchsia Linux SDK from 6z4cZ6HUidtgmhvdk... to pUQrgMfXgU8RmLuL4... (flutter/engine#49640)
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 bdero@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-01-09 18:59:10 +00:00
Brandon DeRosier
5b0cee27ad [Flutter GPU] Track HostBuffer emplacements by offset. (flutter/engine#49618)
Make the wrapped HostBuffer wrapper track/look up emplacements using a
fake byte offset.

This is a trick to keep Flutter GPU working after
https://github.com/flutter/engine/pull/49505 lands. I'll likely swing
around and change how `BufferView` works later on. We can simplify a lot
by making Flutter GPU `BufferView`s just take `DeviceBuffer` handles.
2024-01-09 10:32:51 -08:00
John McCutchan
53769525bd Simplify PlatformViewRenderTarget interface (flutter/engine#49639)
- Enable ImageReader/SurfaceProducer backends for Android >= 29.
- This removes the need for a weird Android 29-specific fix in
SurfaceTexturePlatformViewRenderTarget.
- Now that we don't need the weird fix we can simplify the
PlatformViewRenderTarget interface.
2024-01-09 10:30:39 -08:00
skia-flutter-autoroll
7e5be21b65 Roll Skia from 05039d6ed8d8 to 8c8be76a62c0 (3 revisions) (flutter/engine#49638)
https://skia.googlesource.com/skia.git/+log/05039d6ed8d8..8c8be76a62c0

2024-01-09 robertphillips@google.com Reland "[graphite] Add Graphite version of WrapAndroidHardwareBuffer"
2024-01-09 robertphillips@google.com Have SkMipmap::Build return nullptr on mipmap allocation failure
2024-01-09 brianosman@google.com Allow overriding raster pipeline's CPU level via #define

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 armansito@google.com,bdero@google.com,brianosman@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-01-09 18:15:14 +00:00
Zachary Anderson
96ff752fd7 Skip flaky test on mac in http_disallow_http_connections_test.dart (flutter/engine#49635)
Related https://github.com/flutter/flutter/issues/141149
2024-01-09 09:10:32 -08:00
John McCutchan
47f9722185 Resize the RenderTarget before creating and passing its Surface to the VirtualDisplay (flutter/engine#49619)
This change ensures that we first set the default buffer size on the
underlying SurfaceTexture before creating the Surface for it.

This fixes a bug that only occurs on Android devices running 28 or
older: see https://github.com/flutter/flutter/issues/141068.

This also removes some unnecessary init code and cleans up tests.
2024-01-09 09:00:16 -08:00
skia-flutter-autoroll
222901e9e7 Roll Skia from ee263c34e03d to 05039d6ed8d8 (2 revisions) (flutter/engine#49636)
https://skia.googlesource.com/skia.git/+log/ee263c34e03d..05039d6ed8d8

2024-01-09 robertphillips@google.com Fixup unit tests for Protected Vulkan
2024-01-09 johnstiles@google.com Simplify SkRP pop-condition-mask followed by a matching push.

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 armansito@google.com,bdero@google.com,brianosman@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-01-09 16:47:00 +00:00
skia-flutter-autoroll
2446ef50e9 Roll Skia from f9f73082740e to ee263c34e03d (3 revisions) (flutter/engine#49631)
https://skia.googlesource.com/skia.git/+log/f9f73082740e..ee263c34e03d

2024-01-09 49699333+dependabot[bot]@users.noreply.github.com Bump follow-redirects from 1.14.8 to 1.15.4 in /modules/canvaskit
2024-01-09 49699333+dependabot[bot]@users.noreply.github.com Bump follow-redirects from 1.14.9 to 1.15.4 in /modules/pathkit
2024-01-09 robertphillips@google.com Revert "[graphite] Add Graphite version of WrapAndroidHardwareBuffer"

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 armansito@google.com,bdero@google.com,brianosman@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-01-09 15:34:09 +00:00
skia-flutter-autoroll
4cee399ff4 Roll Skia from 665f7d51ef25 to f9f73082740e (1 revision) (flutter/engine#49630)
https://skia.googlesource.com/skia.git/+log/665f7d51ef25..f9f73082740e

2024-01-09 robertphillips@google.com [graphite] Add Graphite version of WrapAndroidHardwareBuffer

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 armansito@google.com,bdero@google.com,brianosman@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-01-09 14:39:59 +00:00
skia-flutter-autoroll
0394372216 Roll Skia from 06404ed554e7 to 92b84715ba73 (1 revision) (flutter/engine#49620)
https://skia.googlesource.com/skia.git/+log/06404ed554e7..92b84715ba73

2024-01-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 6517725fff65 to 4e98f42e5643 (11 revisions)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-01-09 05:40:22 +00:00
skia-flutter-autoroll
071e8914b5 Roll Dart SDK from e8aa66f435ae to 721fccffc708 (5 revisions) (flutter/engine#49616)
https://dart.googlesource.com/sdk.git/+log/e8aa66f435ae..721fccffc708

2024-01-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-9.0.dev
2024-01-08 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-8.0.dev
2024-01-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-7.0.dev
2024-01-06 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-6.0.dev
2024-01-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.4.0-5.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-01-09 03:51:18 +00:00
skia-flutter-autoroll
d953542372 Roll Skia from cb8e8fa79132 to f4626a2e3293 (3 revisions) (flutter/engine#49610)
https://skia.googlesource.com/skia.git/+log/cb8e8fa79132..f4626a2e3293

2024-01-08 johnstiles@google.com Eliminate ThreadContext class entirely.
2024-01-08 johnstiles@google.com Avoid calling into Compiler from ThreadContext.
2024-01-08 johnstiles@google.com Remove ThreadContext::DefaultErrorReporter.

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 armansito@google.com,brianosman@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-01-09 00:19:23 +00:00
Brandon DeRosier
a2e41fc8af [Impeller] Document mip bias. (flutter/engine#49602)
Add doc strings explaining what the mip bias does and where it came
from.
2024-01-08 16:05:15 -08:00