23333 Commits

Author SHA1 Message Date
skia-flutter-autoroll
89203c25cf Roll Skia from d210bab77137 to 8c9a8d3e073c (1 revision) (flutter/engine#44555)
https://skia.googlesource.com/skia.git/+log/d210bab77137..8c9a8d3e073c

2023-08-09 jmbetancourt@google.com Add SlotManager APIs to CanvasKit for Color and Scalar slots

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,chinmaygarde@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-09 19:50:58 +00:00
skia-flutter-autoroll
4fe539399e Roll Skia from 25aedb939915 to d210bab77137 (2 revisions) (flutter/engine#44550)
https://skia.googlesource.com/skia.git/+log/25aedb939915..d210bab77137

2023-08-09 robertphillips@google.com Fix two lingering Android protected content issues
2023-08-09 nicolettep@google.com Add explicit size & null checks to GrVkCommandBuffer::submitPipelineBarriers

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,chinmaygarde@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-09 18:55:04 +00:00
skia-flutter-autoroll
d884a965e3 Roll Skia from 17ba2122707b to 25aedb939915 (3 revisions) (flutter/engine#44547)
https://skia.googlesource.com/skia.git/+log/17ba2122707b..25aedb939915

2023-08-09 jamesgk@google.com [ganesh] Don't call atan2(*, 0) in sweep gradient shader
2023-08-09 bungeman@google.com [skunicode] Allow building more than one backend
2023-08-09 sharaks@google.com Merge 11 release notes into RELEASE_NOTES.md

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,chinmaygarde@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-09 17:50:42 +00:00
chunhtai
1cffdd164a Android a11y bridge sets importantness (flutter/engine#44452)
Accessibility scanner uses isImportantForAccessibility to decide whether to scan the node. If not set, the isImportantForAccessibility is default to false, thus skips all node except for the rootview which defaults to true.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-09 16:58:01 +00:00
skia-flutter-autoroll
60347f4499 Roll Fuchsia Linux SDK from tO6r8iQqnmsYkLcvZ... to ZCP8LDbKF4LTBFz_W... (flutter/engine#44545)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC chinmaygarde@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-09 16:49:07 +00:00
ftsui
f0d7c4c4c2 Request GLES version 2 interface. (flutter/engine#44504)
- SKIA requires at least GLES version 2.0

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-09 16:38:28 +00:00
Jonah Williams
31c639e955 [Impeller] Don't perform final layout transition on worker thread. (flutter/engine#44510)
This can lead to https://github.com/flutter/flutter/issues/131717 because the raster thread may access the Queue while the worker thread is doing the final layout transition. Moving the final layout transition back to the raster thread should be fine, its really the presentation that we want to run in a background worker.

Fixes https://github.com/flutter/flutter/issues/131717
2023-08-09 15:43:52 +00:00
skia-flutter-autoroll
af50beefbe Roll Skia from 3e85749702f4 to 17ba2122707b (2 revisions) (flutter/engine#44540)
https://skia.googlesource.com/skia.git/+log/3e85749702f4..17ba2122707b

2023-08-09 johnstiles@google.com Add workaround for WebGL2 and void-typed sequence expressions.
2023-08-09 kjlubick@google.com Treat fontations ffi.rs.h as explicit output

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,chinmaygarde@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-09 15:35:14 +00:00
skia-flutter-autoroll
76df08d42f Roll Skia from e892c300a7c4 to 3e85749702f4 (1 revision) (flutter/engine#44539)
https://skia.googlesource.com/skia.git/+log/e892c300a7c4..3e85749702f4

2023-08-09 robertphillips@google.com Propagate protected-ness to dependant draws

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,chinmaygarde@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-09 14:39:23 +00:00
Caroline Liu
4e424a605d Remove GFX and Scenic dependencies from Fuchsia integration tests (flutter/engine#44498)
This change removes GFX and Scenic dependencies from Fuchsia integration
tests. Mainly, it:
- swaps out `fuchsia.ui.scenic.Scenic/GetDisplayInfo` for
`fuchsia.ui.display.singleton.Info/GetMetrics`
- removes the no longer necessary `fuchsia.ui.scenic.Scenic` connections
and component manifest declarations from tests
- removes any extraneous build deps tests have on `fuchsia.ui.gfx`,
`fuchsia.ui.policy`, and `scenic_cpp`

Related bug: fxbug.dev/64206

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [x] All existing and new tests are passing.
2023-08-09 08:54:09 -04:00
skia-flutter-autoroll
c345af5696 Roll Skia from d097852dc928 to ac2b25fec6eb (3 revisions) (flutter/engine#44533)
https://skia.googlesource.com/skia.git/+log/d097852dc928..ac2b25fec6eb

2023-08-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 333a87d1ef8a to 6449131d4768 (17 revisions)
2023-08-09 sharaks@google.com Update Skia milestone to 118
2023-08-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 333a87d1ef8a to 6449131d4768

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,chinmaygarde@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-09 06:33:04 +00:00
Bruno Leroux
8ee77cb321 [Windows] Return keyboard pressed state (flutter/engine#43998)
## Description

This PR updates the Windows engine in order to answer to keyboard pressed state queries from the framework (as implemented in https://github.com/flutter/flutter/pull/122885).

## Related Issue

Windows engine implementation for https://github.com/flutter/flutter/issues/87391.

Similar to:
- Linux: https://github.com/flutter/engine/pull/42346
- Android: https://github.com/flutter/engine/pull/42758
- macOS: https://github.com/flutter/engine/pull/42878

## Tests

Adds 2 tests.
2023-08-09 06:31:05 +00:00
Matan Lurey
e996c123d4 [Impeller] Plumb Paint.enableDithering to backend (flutter/engine#44522)
Closes https://github.com/flutter/flutter/issues/131450 and
https://github.com/flutter/flutter/issues/118073.

Example from https://github.com/flutter/flutter/issues/118073:

```diff
import 'package:flutter/material.dart';

void main() {
+ Paint.enableDithering = true;
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Container(
          width: double.infinity,
          decoration: const BoxDecoration(
              gradient: LinearGradient(
                  colors: <Color>[Color(0xffcccccc), Color(0xff333333)])),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              const Text(
                'You have pushed the button this many times:',
              ),
              Text(
                '$_counter',
                style: Theme.of(context).textTheme.headlineMedium,
              ),
            ],
          ),
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}
```

## Before

<img width="2028" alt="Screenshot 2023-08-08 at 5 15 40 PM"
src="https://github.com/flutter/engine/assets/168174/c58106bb-f588-4019-8cf0-3dd801f0b118">

## After

<img width="2028" alt="Screenshot 2023-08-08 at 5 15 01 PM"
src="https://github.com/flutter/engine/assets/168174/33c4fec8-db52-47c2-b215-c1988ce82416">
2023-08-08 18:05:33 -07:00
skia-flutter-autoroll
82fc1a6ba4 Roll Skia from 1fbe521b2c56 to e904a9f2010e (3 revisions) (flutter/engine#44520)
https://skia.googlesource.com/skia.git/+log/1fbe521b2c56..e904a9f2010e

2023-08-08 johnstiles@google.com Centralize HLSL compilation code.
2023-08-08 johnstiles@google.com Centralize GLSL compilation code.
2023-08-08 johnstiles@google.com Centralize SPIR-V, WGSL and MSL compilation 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,chinmaygarde@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-08 23:39:06 +00:00
Matan Lurey
91526aaded [Impeller] Add gradient dithering for Radial/Sweep/Conical gradients (flutter/engine#44331)
Partial work towards https://github.com/flutter/flutter/issues/131450
similar to https://github.com/flutter/engine/pull/44181.

---

Run the Playground locally:

```bash
$ENGINE/out/host_debug_unopt/impeller_unittests \
  --enable_playground \
  --gtest_filter="*CanRender*GradientWithDithering*"
```

## Radial

### Before

<img width="1014" alt="Screenshot 2023-08-03 at 10 08 53 AM"
src="https://github.com/flutter/engine/assets/168174/d53f2c0e-5c48-4ecb-8e67-d4ab28bfe488">

### After

<img width="1018" alt="Screenshot 2023-08-03 at 10 13 57 AM"
src="https://github.com/flutter/engine/assets/168174/3b6e6e65-3dd3-4cb3-9950-36e2ba5c1da2">

## Sweep

### Before

<img width="1019" alt="Screenshot 2023-08-03 at 10 27 35 AM"
src="https://github.com/flutter/engine/assets/168174/4e3bc82d-c0d5-43dd-952a-c11cb586fb65">

### After

<img width="1018" alt="Screenshot 2023-08-03 at 10 33 11 AM"
src="https://github.com/flutter/engine/assets/168174/7e526391-cfd7-4920-89ff-fe26793b24fc"

## Conical

### Before

<img width="1019" alt="Screenshot 2023-08-08 at 11 55 43 AM"
src="https://github.com/flutter/engine/assets/168174/944709f4-8163-4de3-bfc5-eaf30b978529">

### After

<img width="1016" alt="Screenshot 2023-08-08 at 1 11 40 PM"
src="https://github.com/flutter/engine/assets/168174/60ad67a4-b409-4136-a753-b8608f46fbf2">
2023-08-08 16:23:38 -07:00
skia-flutter-autoroll
c43e7a8f2b Roll Skia from 68b80f663be6 to 1fbe521b2c56 (2 revisions) (flutter/engine#44518)
https://skia.googlesource.com/skia.git/+log/68b80f663be6..1fbe521b2c56

2023-08-08 lovisolo@google.com [bazel] Add //gm/png_codec.cpp.
2023-08-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-base from be6bd0fc62ef to b026cfa16886

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,chinmaygarde@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-08 22:48:03 +00:00
Chris Bracken
551fe982eb [macOS] Improve engine retain cycle testing (flutter/engine#44509)
Adds testing that verifies that the engine is not retained via the FlutterTextureRegistry that is returned from the FlutterTextureRegistrar returned by the engine.

This also simplifies the existing test for a retain cycle via the FlutterBinaryMessenger by avoiding manually casting the binary messenger to a FlutterBinaryMessengerRelay, or knowing any of its implementation details.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-08 22:18:46 +00:00
Gray Mackall
8cce730f9b Fix name in description of 'create_cipd_packages.sh' (flutter/engine#44513)
The description uses an old name.

This PR also partly exists to spread awareness that this script exists, for whenever we need to upload [android versions to CIPD](https://chrome-infra-packages.appspot.com/p/flutter/android/sdk/all/mac-arm64/+/).

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-08 21:49:48 +00:00
gaaclarke
025925411e [Impeller] started std::moving Commands instead of copying (flutter/engine#44508)
Each Command is 440 B so copying them when adding them to the RenderPass adds up.  This change represents a 36% speedup in `TextContents::Render` when scrolling around on the main screen of the of the Flutter Gallery.

issue: https://github.com/flutter/flutter/issues/131787

## before
<img width="1217" alt="Screenshot 2023-08-08 at 1 11 30 PM" src="https://github.com/flutter/engine/assets/30870216/3545f9cd-b596-4a7c-bcf0-a20c7f7c40e8">

## after

<img width="1048" alt="Screenshot 2023-08-08 at 1 10 05 PM" src="https://github.com/flutter/engine/assets/30870216/3443ec70-5d4f-4022-b3e7-41b13c25cb00">

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-08 21:27:49 +00:00
skia-flutter-autoroll
a31c651ebb Roll Skia from 9fa8ebdfdbb8 to 68b80f663be6 (1 revision) (flutter/engine#44511)
https://skia.googlesource.com/skia.git/+log/9fa8ebdfdbb8..68b80f663be6

2023-08-08 nicolettep@google.com Add some nullchecks to GrTriangulator

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,chinmaygarde@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-08 21:21:36 +00:00
LongCatIsLooong
bd6dcc68c9 Disable HTML renderer paragraph input width flooring (flutter/engine#44478)
Hopefully the flooring will no longer be needed once the framework stops doing the rounding.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-08 21:07:53 +00:00
skia-flutter-autoroll
8be9a371ad Roll Skia from 5c8c7faf9131 to 9fa8ebdfdbb8 (2 revisions) (flutter/engine#44507)
https://skia.googlesource.com/skia.git/+log/5c8c7faf9131..9fa8ebdfdbb8

2023-08-08 lovisolo@google.com CommandLineFlags::StringArray: Add method parseAndValidate().
2023-08-08 kjlubick@google.com Partial revert of "Remove SK_GL #ifdefs from GrBackendSurface"

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,chinmaygarde@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-08 20:12:19 +00:00
skia-flutter-autoroll
f3b3e417fe Roll Skia from 6fa6fdd04783 to 5c8c7faf9131 (3 revisions) (flutter/engine#44506)
https://skia.googlesource.com/skia.git/+log/6fa6fdd04783..5c8c7faf9131

2023-08-08 herb@google.com Bentley-Ottmann EventQueue
2023-08-08 thakis@chromium.org Fix an unreachable code diag
2023-08-08 lovisolo@google.com [bazel] Add serve-bazel-test-undeclared-outputs.sh utility script.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,chinmaygarde@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-08 19:24:21 +00:00
Matt2D
d669ddd4f4 Flutter iOS Interactive Keyboard: Handle Pointer Up (flutter/engine#44457)
This PR address the movement aspect of the flutter interactive keyboard. It handles pointer up while a scroll view widget is visible, and the interactive behavior is chosen for keyboardDismissBehavior. This is a desired behavior of the keyboard that has not yet been implemented.
Design Document:
https://docs.google.com/document/d/1-T7_0mSkXzPaWxveeypIzzzAdyo-EEuP5V84161foL4/edit?pli=1

Issues Address:
https://github.com/flutter/flutter/issues/57609

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-08 19:09:44 +00:00
gaaclarke
77941b98d5 [Impeller] improved glyph hashing performance (flutter/engine#44502)
This change makes the glyph hash 39% faster (66ms vs 107ms).  The glyph hash function occupies the most CPU time on the raster thread when scrolling around the main screen for the Flutter Gallery

## before

<img width="1101" alt="Screenshot 2023-08-08 at 10 53 06 AM" src="https://github.com/flutter/engine/assets/30870216/2332323e-80cd-4f39-9ec1-95cb5662be7b">

## after
<img width="1097" alt="Screenshot 2023-08-08 at 10 52 51 AM" src="https://github.com/flutter/engine/assets/30870216/13bbc07b-7f56-40e8-ada5-32de77ddf614">

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-08 18:44:21 +00:00
skia-flutter-autoroll
c5159af2df Roll Skia from 30c0319e7e42 to 6fa6fdd04783 (2 revisions) (flutter/engine#44503)
https://skia.googlesource.com/skia.git/+log/30c0319e7e42..6fa6fdd04783

2023-08-08 kjlubick@google.com Move StrokeForGPUTest to ganesh test list
2023-08-08 bungeman@google.com [skunicode] Add temporary file for transition

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,chinmaygarde@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-08 18:38:37 +00:00
Caroline Liu
e493b1011e Remove GFX branches from Flutter engine (flutter/engine#44401)
This change does the following:
- Refactors `engine.cc`/`.h` and `component_v2.cc`/`.h` to remove GFX ctors and callbacks.
- Removes `gfx_external_view_embedder`, `gfx_platform_view`, `gfx_session_connection`, their tests, and any supporting testing infrastructure (e.g. `fake_session`) from the build. This change does not delete the source files themselves in order to keep the change size smaller (as all these file deletions together are about another ~8K lines worth of deletions.) A separate follow up change will delete these files.

Related bug: fxbug.dev/64206
2023-08-08 18:20:09 +00:00
Jason Simmons
2ae4942db0 Use the Clang unreachable code warning flag in the engine tree (flutter/engine#44458) 2023-08-08 17:40:03 +00:00
skia-flutter-autoroll
0e5a9ddf5f Roll Skia from 66ba512c613c to 30c0319e7e42 (3 revisions) (flutter/engine#44500)
https://skia.googlesource.com/skia.git/+log/66ba512c613c..30c0319e7e42

2023-08-08 johnstiles@google.com Remove unused 'virtual' in GLSLCodeGenerator.
2023-08-08 johnstiles@google.com Reject sequence-expressions containing arrays.
2023-08-08 kjlubick@google.com Add Fontations Jobs

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,chinmaygarde@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-08 16:57:21 +00:00
Chris Bracken
e43adf1acd [macOS] Fix engine/binaryMessenger retain cycle (flutter/engine#44471)
Previously, FlutterEngine.binaryMessenger returned the FlutterEngine
instance itself, which meant that channels/plugins could hold a strong
reference to the engine and thus cause a retain cycle, preventing the
engine from being deallocated.

We introduce FlutterBinaryMessengerRelay, which implements the
FlutterBinaryMessenger protocol, by delegating back to the engine, to
which it holds a weak reference, thus avoiding the retain cycle.

This also changes the FlutterBinaryMessengerRelay.parent property from
an assign property to a weak property since that code is compiled with
ARC enabled as of https://github.com/flutter/engine/pull/44395.

This patch also rearranges the headers to comply with our style guide:
related headers for this file, C headers, C++ headers, other Flutter
headers, in that order.

Fixes: https://github.com/flutter/flutter/issues/116445
2023-08-08 09:26:28 -07:00
skia-flutter-autoroll
875ee57aa1 Roll Skia from f7162d33afb2 to 66ba512c613c (8 revisions) (flutter/engine#44497)
https://skia.googlesource.com/skia.git/+log/f7162d33afb2..66ba512c613c

2023-08-08 kjlubick@google.com Move SkChromeRemoteGlyphCache.cpp to src/text/gpu
2023-08-08 johnstiles@google.com Revert "Use pointers to avoid static variable destruction."
2023-08-08 kjlubick@google.com Skip deleted test file
2023-08-08 kjlubick@google.com Add missing file to public.bzl
2023-08-08 johnstiles@google.com Disable MatrixScalarMath test on Mac ANGLE.
2023-08-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from c46d48f777b7 to cc5d2913cf83 (3 revisions)
2023-08-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 135a24fc3706 to f7d7be8d2ff0 (13 revisions)
2023-08-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 0e52994bf1b6 to 333a87d1ef8a (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,chinmaygarde@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-08 16:13:18 +00:00
Mouad Debbar
2b761a04f7 [web] Expose the benchmark callback through dart:ui_web (flutter/engine#44461)
Required by https://github.com/flutter/flutter/pull/132087
Part of https://github.com/flutter/flutter/issues/130175
Part of https://github.com/flutter/flutter/issues/126831
2023-08-08 16:09:14 +00:00
Zachary Anderson
90ee3f407f Excludes entity_pass.cc from clang-tidy due to timeouts (flutter/engine#44495)
For https://github.com/flutter/flutter/issues/132129
2023-08-08 15:33:48 +00:00
skia-flutter-autoroll
2bd0199443 Roll Fuchsia Linux SDK from 0Jd9VPJCX145RGnqr... to 9Pl8nd13UI8rrS3JD... (flutter/engine#44494)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC chinmaygarde@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-08 15:23:46 +00:00
Jason Simmons
0413e2710d Revert "[Impeller] DlCanvas implementation wrapping Aiks canvas" (flutter/engine#44466)
This reverts commit 1785eb5cb8cba53da249614158065d1d53f8f863.

See https://github.com/flutter/flutter/issues/132071
2023-08-07 23:59:47 +00:00
skia-flutter-autoroll
4417cf19fd Roll Skia from 5dd88a48f7e2 to b4a893827b2a (3 revisions) (flutter/engine#44470)
https://skia.googlesource.com/skia.git/+log/5dd88a48f7e2..b4a893827b2a

2023-08-07 brianosman@google.com Only skip (BitmapProcState) Init_hsw when building for AVX2+
2023-08-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 33af718d939e to c46d48f777b7 (5 revisions)
2023-08-07 johnstiles@google.com Disable CommaExpressionsAllowInlining in WebGL2.

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,jacksongardner@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-07 23:18:53 +00:00
Mouad Debbar
dc0147d3d3 [web] Silence pub get when it's successful (flutter/engine#44445)
In the spirit of keeping the happy path's output as clean as possible, let's hide the many lines printed by `pub get` even when it's successful.

If `pub get` fails, its output will be printed on the terminal.
2023-08-07 22:38:03 +00:00
skia-flutter-autoroll
b8bb3206ae Roll Skia from d1ada6624536 to 5dd88a48f7e2 (8 revisions) (flutter/engine#44465)
https://skia.googlesource.com/skia.git/+log/d1ada6624536..5dd88a48f7e2

2023-08-07 brianosman@google.com blit_row_color32 doesn't need to support separate src/dst pointers
2023-08-07 johnstiles@google.com Improve errors with ternary ops.
2023-08-07 lovisolo@google.com [bazel] //gm/gm.h: Add support for dynamically registered GMs.
2023-08-07 johnstiles@google.com Add WGSL polyfill for inverse intrinsic.
2023-08-07 brianosman@google.com Split out BlitMask opts into separate cpp files
2023-08-07 johnstiles@google.com Add WGSL support for matrix-op-scalar math.
2023-08-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-base from a8be3b12ad17 to be6bd0fc62ef
2023-08-07 drott@chromium.org [Fontations-backend] Build fontations-enabled viewer with GN

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,jacksongardner@google.com,kjlubick@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-07 22:32:03 +00:00
Brandon DeRosier
e8e4f8c118 [Impeller] Flutter GPU: Add GpuContext. (flutter/engine#44359)
Move the GpuContext to its new home. I added a `flutter_tester` test that just verifies an exception is gracefully thrown when Impeller isn't available.

In a later patch, I'll land a way to eagerly supply the Impeller context on the cpp side to enable testing through the playground (as mentioned in https://github.com/flutter/flutter/issues/127712).
2023-08-07 19:41:57 +00:00
ftsui
0cc053b836 Fix use-after-free crash in glfw embedder (flutter/engine#44358)
When setting up the paths to assets and ICU data, we were previously returning the underlying char* data in a temporary string returned by `std::filesystem::path::string()`. Since the return value of `string()` is never stored, there's no guarantee that the underlying data pointer is still valid later in the function. By storing the string in a local whose lifetime exceeds that of the running engine instance, we guarantee the string isn't freed until after the Flutter app terminates.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-07 19:11:24 +00:00
Yegor
fc753e1355 [web] remove leftover comments from semantics tester (flutter/engine#44350)
Remove commented out debug code from `expectSemanticsTree`.
2023-08-07 18:04:47 +00:00
skia-flutter-autoroll
357faa3756 Roll Skia from 77007f51bf81 to 9fbd7296de9a (4 revisions) (flutter/engine#44443)
https://skia.googlesource.com/skia.git/+log/77007f51bf81..9fbd7296de9a

2023-08-07 johnstiles@google.com Use pointers to avoid static variable destruction.
2023-08-07 brianosman@google.com Remove SkAutoGraphics
2023-08-07 brianosman@google.com Move Init_BitmapProcState call back to SkGraphics
2023-08-07 johnstiles@google.com Remove unused 'skia_enable_skvm' GN argument.

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,jacksongardner@google.com,jcgregorio@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-07 18:01:01 +00:00
skia-flutter-autoroll
1b46cf50e8 Roll Skia from f19578685d17 to 77007f51bf81 (1 revision) (flutter/engine#44440)
https://skia.googlesource.com/skia.git/+log/f19578685d17..77007f51bf81

2023-08-07 johnstiles@google.com Remove SK_ENABLE_SKSL_IN_RASTER_PIPELINE.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jacksongardner@google.com,jcgregorio@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-07 17:10:06 +00:00
skia-flutter-autoroll
6b26b6b0c9 Roll Skia from 359808ec2cb1 to f19578685d17 (1 revision) (flutter/engine#44439)
https://skia.googlesource.com/skia.git/+log/359808ec2cb1..f19578685d17

2023-08-07 brianosman@google.com Remove SkGraphics::AllowJIT completely

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,jacksongardner@google.com,jcgregorio@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-07 16:04:52 +00:00
skia-flutter-autoroll
ebe68a8088 Roll Skia from e327eb094605 to 359808ec2cb1 (2 revisions) (flutter/engine#44438)
https://skia.googlesource.com/skia.git/+log/e327eb094605..359808ec2cb1

2023-08-07 johnstiles@google.com Remove ES3 flag from new comma-expression test.
2023-08-07 johnstiles@google.com Remove GL backend bit from Layout.

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,jacksongardner@google.com,jcgregorio@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-07 15:12:08 +00:00
Jason Simmons
75f91264d1 Do not log exceptions from JNI lookups of APIs that are known to be unavailable on older devices (flutter/engine#44357)
These exceptions are benign but were being logged every time an app is launched on a device with an Android API level below 26.
2023-08-07 14:35:05 +00:00
skia-flutter-autoroll
18f22098ec Roll Skia from f4047f002891 to 7a98630e0de9 (1 revision) (flutter/engine#44436)
https://skia.googlesource.com/skia.git/+log/f4047f002891..7a98630e0de9

2023-08-07 johnstiles@google.com Add an EmptyExpression IR element to SkSL.

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,jacksongardner@google.com,jcgregorio@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-07 13:41:21 +00:00
skia-flutter-autoroll
e35df5ab5f Roll Skia from 9c4cfcd16529 to b7a1f4fdedc1 (2 revisions) (flutter/engine#44430)
https://skia.googlesource.com/skia.git/+log/9c4cfcd16529..b7a1f4fdedc1

2023-08-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 0e52994bf1b6 to c8d53e7227c9
2023-08-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from ed824b45206d to 0e52994bf1b6 (4 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,jacksongardner@google.com,jcgregorio@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-07 06:25:22 +00:00
skia-flutter-autoroll
192512edc6 Roll Fuchsia Linux SDK from 3uzA1Z-yaMQE_Cz5f... to QazMbN_0ttbJpf36s... (flutter/engine#44418)
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 jacksongardner@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-05 10:00:20 +00:00
skia-flutter-autoroll
2296c8190e Roll Dart SDK from 8a3277696c52 to 0816d590a220 (1 revision) (flutter/engine#44415)
https://dart.googlesource.com/sdk.git/+log/8a3277696c52..0816d590a220

2023-08-05 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-41.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,jacksongardner@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-08-05 05:01:21 +00:00