23739 Commits

Author SHA1 Message Date
skia-flutter-autoroll
9cd820c20b Roll Skia from 8206402f3c35 to 7d0e33e32427 (2 revisions) (flutter/engine#45440)
https://skia.googlesource.com/skia.git/+log/8206402f3c35..7d0e33e32427

2023-09-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from ebf1e7163216 to e691a4edb19a (3 revisions)
2023-09-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 959bb251c386 to f5590cb5133d (1 revision)

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 aaclarke@google.com,armansito@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://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-09-05 07:36:40 +00:00
skia-flutter-autoroll
aad1c31bf4 Roll Dart SDK from 671cf059e4b6 to 43d4b1373788 (2 revisions) (flutter/engine#45435)
https://dart.googlesource.com/sdk.git/+log/671cf059e4b6..43d4b1373788

2023-09-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-134.0.dev
2023-09-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-133.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 aaclarke@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://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-09-04 23:55:27 +00:00
Robert Ancell
e0006ade23 Fix building on Pango 1.49.4 (flutter/engine#45098)
This version added the autoptr macros which we no longer need to define.

https://github.com/flutter/flutter/issues/132881
2023-09-05 08:03:28 +12:00
skia-flutter-autoroll
ee1a541fd7 Roll Skia from 15f77147a3ec to 4d0501380011 (1 revision) (flutter/engine#45421)
https://skia.googlesource.com/skia.git/+log/15f77147a3ec..4d0501380011

2023-09-04 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 2b76b0e00861 to 959bb251c386 (2 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 aaclarke@google.com,armansito@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://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-09-04 05:33:32 +00:00
Tong Mu
f0eb04206a Remove --disable-service-auth-codes (flutter/engine#45356)
Discovered by a leakage as described in https://github.com/flutter/flutter/issues/133824, this arg has likely been removed by Dart. Removing this arg eliminates the leakage warning.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-02 06:06:10 +00:00
Brandon DeRosier
7f84662294 [Impeller] Import cstring for memcpy. (flutter/engine#45408)
Fixes builds against some STLs (detected in impeller-cmake [ubuntu
build](https://github.com/bdero/impeller-cmake/actions/runs/6020031888/job/16330726595)).
2023-09-01 22:11:02 -07:00
skia-flutter-autoroll
47500f589f Roll Dart SDK from cdf1ce0c6d7e to a5c7102af509 (1 revision) (flutter/engine#45412)
https://dart.googlesource.com/sdk.git/+log/cdf1ce0c6d7e..a5c7102af509

2023-09-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-131.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 aaclarke@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://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-09-02 04:42:22 +00:00
Tong Mu
a443c671d0 Remove deprecated MOCK_METHODx calls (flutter/engine#45307)
The issue that blocks these mocking methods have been resolved.

However, there is [one more mention of this issue in `run_tests.py`](1410d8beaa/testing/run_tests.py (L400)) and I have no idea why it was marked so. It was originally added [here](https://github.com/flutter/engine/pull/19033/files#diff-521d7c59c3f721b259f094c760c2613e16e889b0f24702280924466109e3b0b0R137).

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-02 01:42:21 +00:00
Jonah Williams
17b261d8f5 [Impeller] Better demonstrate blur and draw picture? (flutter/engine#45388)
The current goldens are changing a lot, this should be stabler. though not sure if it looks quite right.
2023-09-02 01:01:06 +00:00
Jonah Williams
be8bb23633 [Impeller] Make paths externally immutable, update all tests to use PathBuilder to create Path. (flutter/engine#45393)
This is a design problem in the Flutter API, that in general you can't assume a Path hasn't changed from the last time you used it. We're so close, so just move the mutation methods to PathBuilder :)

Fixes https://github.com/flutter/flutter/issues/133880
2023-09-02 01:01:04 +00:00
Jim Graham
00c1242837 Cull the RTree bounds when they are forwarded in DrawDisplayList (flutter/engine#45358)
Fixes https://github.com/flutter/flutter/issues/133437

With this fix, the [benchmarks](https://github.com/flutter/flutter/pull/133434) for pictures with huge bounds become runnable under more conditions. Currently those benchmarks only run on platforms where we don't run into this issue. The performance on those platforms/conditions will not change much, but with this fix we can run them on Impeller and add a variant that has a platform view on the display.
2023-09-02 00:53:19 +00:00
skia-flutter-autoroll
3cf7d6052c Roll Skia from fedff79a6afc to 2d8849f9f0cc (3 revisions) (flutter/engine#45407)
https://skia.googlesource.com/skia.git/+log/fedff79a6afc..2d8849f9f0cc

2023-09-01 armansito@google.com [graphite][compute] Dynamically assemble resource declarations from snippets
2023-09-01 armansito@google.com [graphite][compute] Combined "SampledTexture" resource
2023-09-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 15007d22798e to 8643aba2c123 (2 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 aaclarke@google.com,brianosman@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://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-09-02 00:23:20 +00:00
Jonah Williams
26d612bbf4 [impeller] premultiply vertices colors. (flutter/engine#45406)
Lost this after the transition.

### After

![image](https://github.com/flutter/engine/assets/8975114/cec40045-581a-4bc4-8470-fbc201a0773b)

### Before

![image](https://github.com/flutter/engine/assets/8975114/23229175-54db-4aac-8605-cfe8568be436)
2023-09-02 00:18:05 +00:00
skia-flutter-autoroll
26ce6e9354 Roll ANGLE from 6a09e41ce6ea to 962fdf7b7882 (224 revisions) (flutter/engine#45400)
Roll ANGLE from 6a09e41ce6ea to 962fdf7b7882 (224 revisions)

6a09e41ce6..962fdf7b78

2023-09-01 cclao@google.com Add templated BinaryOutputStream::writeVector and writeStruct
2023-09-01 mark@lunarg.com Tests: Limit CapturedTest to Vulkan backend
2023-09-01 romanl@google.com Traces: temporary patch to log zlib message on failure
2023-09-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from a745d5c29c56 to 385ae8bed1f9 (7 revisions)
2023-09-01 romanl@google.com Revert "Gold tests: add temporary logging of angledata hashes"
2023-09-01 romanl@google.com Revert "Traces: add temporary debug info to LoadBinaryData"
2023-09-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 988fe1c529b0 to 15007d22798e (6 revisions)
2023-09-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from f59e85c23631 to 613933d34730 (499 revisions)
2023-09-01 lexa.knyazev@gmail.com Validate missing fragment outputs for dual-source blending
2023-09-01 cclao@google.com Add more test for GL_SRGB8 format
2023-08-31 ynovikov@chromium.org Skip 2 DrawCallPerfBenchmark tests on Pixel 6
2023-08-31 angle-autoroll@skia-public.iam.gserviceaccount.com Manual roll vulkan-deps from a446c6320b6b to 988fe1c529b0 (28 revisions)
2023-08-31 syoussefi@chromium.org Move transform feedback buffer mode to program state
2023-08-31 angle-autoroll@skia-public.iam.gserviceaccount.com Manual roll Chromium from 90200ab2e92a to f59e85c23631 (744 revisions)
2023-08-31 syoussefi@chromium.org Clean up InfoLog usage during link
2023-08-31 jiawei.shao@intel.com D3D11: Fix register index of read-only storage images
2023-08-31 syoussefi@chromium.org Remove link results from program hash
2023-08-31 ynovikov@chromium.org Don't sync reclient on linux arm64
2023-08-31 romanl@google.com Cleanup: remove tests.csv
2023-08-31 steven@uplinklabs.net d3d11: avoid exit-time-destructor warning
2023-08-31 geofflang@chromium.org Handle Qualcomm's Windows vendor ID.
2023-08-31 jiawei.shao@intel.com D3D11: Fix the compilation of vertex shader with storage image
2023-08-31 romanl@google.com Tests: EGLMakeCurrentPerfTest loads GLES
2023-08-31 zzyiwei@chromium.org Vulkan: disallow pbo copies when offset is incompatible with vulkan
2023-08-30 cclao@google.com Add GL_RGBX8_SRGB_ANGLEX and GL_BGRX8_SRGB_ANGLEX formats
2023-08-30 geofflang@chromium.org Check that postTask is non-null before calling it.
2023-08-30 sokcevic@chromium.org [DEPS] Use Var instead of {} in DEPS
2023-08-30 jonahr@google.com Metal: Fix dropped out arguments from functions with many args.
2023-08-30 m.maiya@samsung.com Vulkan: Support EGL_EXT_gl_colorspace_bt2020
2023-08-30 phanquangminh217@gmail.com Add support for EGL_MESA_platfrom_surfaceless extension
2023-08-30 phanquangminh217@gmail.com egl: Fix device fallback if native display eglInitialize fails
2023-08-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from e2ad2e99dc98 to 90200ab2e92a (420 revisions)
2023-08-30 syoussefi@chromium.org Move pre-link program state to ProgramState
2023-08-30 lexa.knyazev@gmail.com Validate active draw buffers for dual-source blending
2023-08-30 syoussefi@chromium.org Vulkan: Stop passing both ProgramExecutable and ...Vk around
2023-08-30 syoussefi@chromium.org Metal: Move program state to ProgramExecutableMtl
2023-08-30 syoussefi@chromium.org GL: Move program state to ProgramExecutableGL
2023-08-30 syoussefi@chromium.org Move left over link state to ProgramExecutable
2023-08-29 geofflang@chromium.org Return the vendor string as hex when it is unknown.
2023-08-29 mikes@lunarg.com Add build overrides for Vulkan Utility Libraries
2023-08-29 syoussefi@chromium.org D3D: Move program state to ProgramExecutableD3D
2023-08-29 m.maiya@samsung.com EGL: Update EGL headers
2023-08-29 syoussefi@chromium.org Make ProgramExecutableImpl managed by ProgramExecutable
2023-08-29 angle-autoroll@skia-public.iam.gserviceaccount.com Manual roll Chromium from 2f13938f5894 to e2ad2e99dc98 (165 revisions)
2023-08-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d213632452c2 to a446c6320b6b (9 revisions)
2023-08-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 92b28610c8f3 to 2f13938f5894 (510 revisions)
...
2023-09-01 23:57:51 +00:00
skia-flutter-autoroll
b6ad1bc8a5 Roll Skia from 22ae23891e8e to fedff79a6afc (1 revision) (flutter/engine#45405)
https://skia.googlesource.com/skia.git/+log/22ae23891e8e..fedff79a6afc

2023-09-01 johnstiles@google.com Move assertion about samplers out of SPIRVCodeGenerator.

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 aaclarke@google.com,brianosman@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://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-09-01 23:37:06 +00:00
gaaclarke
d23968a976 [Impeller] turned on validations for all debug builds (flutter/engine#45350)
fixes https://github.com/flutter/flutter/issues/133794

This adds the following shared libraries to the flutter.jar for debug builds on arm64:
```
lib/arm64-v8a/libVkLayer_khronos_validation.so
lib/arm64-v8a/libc++_shared.so
```

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-01 23:29:22 +00:00
skia-flutter-autoroll
48966a7f06 Roll Skia from 2c0405489966 to 22ae23891e8e (1 revision) (flutter/engine#45402)
https://skia.googlesource.com/skia.git/+log/2c0405489966..22ae23891e8e

2023-09-01 johnstiles@google.com Enforce backend flags on push_constant 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 aaclarke@google.com,brianosman@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://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-09-01 22:52:38 +00:00
Loïc Sharma
2bec12f0b4 [Windows] Update vsync on raster thread (flutter/engine#45310)
## Background

If the Windows system compositor is enabled, the Windows embedder disables the swap interval so that presenting to a surface does not block until the v-blank. If the Windows system compositor is disabled (which is possible on Windows 7), the Windows embedder enables swap interval to prevent screen tearing.

Updating the swap interval requires making the GL surface current, which we currently do on the platform thread. However, the raster thread also needs the GL surface for rendering. Our current version of ANGLE allows making a GL surface current on multiple threads. However, the latest version of ANGLE errors if a GL context is made current on multiple threads. This is causing the ANGLE roll to fail ([example](https://ci.chromium.org/ui/p/flutter/builders/try/Windows%20Engine%20Drone/203788/overview)).

## Solution

There's two fixes:

1. The GL context is released once the swap interval is updated. This allows the platform thread to set the initial swap interval at start up, before the raster thread is started. This fixes the ANGLE roll.
3. When the system compositor changes, the Windows embedder now switches to the raster thread before updating the swap interval. This ensures that the GL surface is only made current on the raster thread once the raster thread has started. I updated unit tests to cover this scenario and tested this manually on a Windows 7 machine.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-01 22:33:01 +00:00
skia-flutter-autoroll
d58cef0f45 Roll Skia from f3f6c733c7e6 to 2c0405489966 (1 revision) (flutter/engine#45396)
https://skia.googlesource.com/skia.git/+log/f3f6c733c7e6..2c0405489966

2023-09-01 kjlubick@google.com Reland "Roll Dawn from beaf20f90f1b to b9afa50913de (668 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 aaclarke@google.com,brianosman@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://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-09-01 21:06:47 +00:00
skia-flutter-autoroll
4712ec69ef Roll Skia from 02fa14799c6c to f3f6c733c7e6 (1 revision) (flutter/engine#45394)
https://skia.googlesource.com/skia.git/+log/02fa14799c6c..f3f6c733c7e6

2023-09-01 kjlubick@google.com Revert "Roll Dawn from beaf20f90f1b to b9afa50913de (668 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 aaclarke@google.com,brianosman@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://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-09-01 20:23:57 +00:00
skia-flutter-autoroll
48d41d0aa3 Roll Skia from d5d3b0d4ee77 to 02fa14799c6c (2 revisions) (flutter/engine#45392)
https://skia.googlesource.com/skia.git/+log/d5d3b0d4ee77..02fa14799c6c

2023-09-01 kjlubick@google.com Fix unintentional cpu_sync=true and deprecate sk_sp<SkSurface> APIs
2023-09-01 johnstiles@google.com Enforce matching pixel-format when passing texture2D arguments.

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 aaclarke@google.com,brianosman@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://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-09-01 19:40:02 +00:00
hellohuanlin
ef55ffaa9b [ios][ios17][text_input]fix text input system highlight in iOS 17 Beta 7 with firstRectForRange (flutter/engine#45303)
Design doc with more details: https://docs.google.com/document/d/1sM3HMv-SQin39yX1aPUU7vtGv7Hcef1Quc3QhRXBl6A/edit?resourcekey=0-SFYD8vmOIkXiXCZvB1Wlcw#heading=h.tul5o3hopauh

Just to be safe, for now we only change for iOS 17. However, the same logic should apply to older iOS as well. So will update in a separate PR. 

Basically we were using `firstRectForRange` incorrectly. According to [the API doc](https://developer.apple.com/documentation/uikit/uitextinput/1614570-firstrectforrange), `firstRectForRange` should return **the rect for the queried range, or a subrange through the end of line, if the range encompasses multiple lines**.

For LTR language: 

```
0,  1,  2,  3
4,  5,  6,  7
```
Query: `[1, 2, 3, 4]`
Returns the following rect denoted by `[ ]`: 
```
0,  [1,  2,  3]
4,  5,   6,   7
```

Similarly, for RTL language (Arabic): 

```
 3,   2,   1,   0
 7,    6,   5,   4
```

Query: `[1, 2, 3, 4]`
Returns the following rect denoted by `[ ]`: 
```
[3,  2,  1],  0
 7,   6,  5,   4
```

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

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

*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
2023-09-01 19:03:48 +00:00
skia-flutter-autoroll
78f1c64cb8 Roll Skia from d6266ef14a7e to d5d3b0d4ee77 (2 revisions) (flutter/engine#45389)
https://skia.googlesource.com/skia.git/+log/d6266ef14a7e..d5d3b0d4ee77

2023-09-01 johnstiles@google.com Require that texture2D function parameters include a pixel format.
2023-09-01 kjlubick@google.com Roll Dawn from beaf20f90f1b to b9afa50913de (668 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 aaclarke@google.com,brianosman@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://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-09-01 18:21:14 +00:00
skia-flutter-autoroll
cc05cef18d Roll Dart SDK from 0c121a6431cc to a2ea759c16cc (1 revision) (flutter/engine#45384)
https://dart.googlesource.com/sdk.git/+log/0c121a6431cc..a2ea759c16cc

2023-09-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-129.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 aaclarke@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://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-09-01 17:32:04 +00:00
Matan Lurey
a330c4ff97 Update (flipping the default from false -> true) and deprecate Paint.enableDithering. (flutter/engine#44705)
Update: Blocked on https://github.com/flutter/engine/pull/44912 landing,
and merging into google3.

---

Partial work towards https://github.com/flutter/flutter/issues/112498.

_**tl;dr**: In Impeller's backend we intend to _always_ dither
gradients, and never allow any changes long-term (i.e., write your own
shader if you want different behavior) with the assumption that dithered
gradients look better most of the time, and don't typically hurt
elsewhere._

Note that, at the time of this writing, I couldn't find a single case of
this being set explicitly to `true` inside Google, and there are between
[100 and 200 publicly accessible on
GitHub](https://github.com/search?q=%22Paint.enableDithering%22+language%3ADart&type=code&l=Dart),
of which virtually all are setting it explicitly to `true`.

There are some (valid) concerns this would cause a lot of golden-file
image diffs, so I'm going to seek explicit approval from the Google
testing team as well as someone from the framework team before landing
this commit.
2023-09-01 10:19:59 -07:00
Jonah Williams
baa288096b [Impeller] EntityPass::Clone needs to clone harder (flutter/engine#45313)
Fixes https://github.com/flutter/flutter/issues/133731
2023-09-01 17:19:03 +00:00
Chris Yang
b3fc48b91b Reland "ios: remove shared_application and support app extension build #44732" (flutter/engine#45351)
Relands https://github.com/flutter/engine/pull/44732 with fix. 

The original PR returns nil when the assets is not reachable, in some cases, the assets are not loaded yet but will be loaded later, so we should return the asset URL regardless. 

Also added a fallback to main bundle to match the previous implementation. 

The original PR was failed in internal tests in b/297654739
Now with the fix, all tests passed: cl/561449914

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-01 16:56:49 +00:00
Brian Osman
19d37a310c Migrate Fuchsia VK calls of GrBackend* (flutter/engine#45380)
Follow-up to https://github.com/flutter/engine/pull/45325

No functional change.
2023-09-01 15:41:43 +00:00
Bruno Leroux
1dc91d901e [Linux] Fix channel buffers control commands error handling (flutter/engine#45056)
## Description

This PR fixes a mistake I made on https://github.com/flutter/engine/pull/44636 where the error handling code wrongly relied on `fl_method_channel_invoke_method_finish` instead of  `fl_binary_messenger_send_on_channel_finish`.
The error handling code was not called when running the tests added in https://github.com/flutter/engine/pull/44636 so this mistake did not pop up.

@robert-ancell I added a test that simulates an error response and I had to rely on `g_idle_add` to make it works. Is this approach ok?

## Related Issue

Linux implementation for https://github.com/flutter/flutter/issues/132386

## Tests

Adds one test.
2023-09-01 07:40:25 +00:00
skia-flutter-autoroll
47242f91e0 Roll Skia from e585fdc18134 to 2916365d0fa6 (1 revision) (flutter/engine#45366)
https://skia.googlesource.com/skia.git/+log/e585fdc18134..2916365d0fa6

2023-09-01 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 4d381b7718fd to 2b76b0e00861 (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 aaclarke@google.com,brianosman@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://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-09-01 05:29:47 +00:00
Jonah Williams
bad97b052b [Impeller] use correct blend mode for performance overlay (flutter/engine#45365)
Man this is a sharp 🔪 

I literally pointed this out in the review and failed to notice the wrong parameter had the blend mode.
2023-09-01 03:47:52 +00:00
skia-flutter-autoroll
83ece1f3e3 Roll Skia from 818f20f3f653 to e585fdc18134 (1 revision) (flutter/engine#45363)
https://skia.googlesource.com/skia.git/+log/818f20f3f653..e585fdc18134

2023-09-01 michaelludwig@google.com [skif] Implement BlurImageFunctor for Graphite

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC aaclarke@google.com,brianosman@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://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-09-01 02:25:57 +00:00
skia-flutter-autoroll
748ef893b0 Roll Dart SDK from 9f9bd8cddfb0 to 0c121a6431cc (1 revision) (flutter/engine#45362)
https://dart.googlesource.com/sdk.git/+log/9f9bd8cddfb0..0c121a6431cc

2023-09-01 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-128.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 aaclarke@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://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-09-01 02:22:47 +00:00
Jonah Williams
ff37fcdf5a [Impeller] copy data out of DlVertices. (flutter/engine#45355)
The implementation of DLVerticesGeometry is holding onto a raw ptr that it doesn't own nor does it know that the lifecycle is deterministic. My bad!

This mostly worked (ehhh) until the stopwatch visualizer change. I've confirmed that going back to copying the data fixes the issue with the stopwatch visualizer.
2023-08-31 23:58:04 +00:00
skia-flutter-autoroll
8d106930d6 Roll Skia from e1b27dcecd0a to 818f20f3f653 (2 revisions) (flutter/engine#45353)
https://skia.googlesource.com/skia.git/+log/e1b27dcecd0a..818f20f3f653

2023-08-31 robertphillips@google.com Check for a valid ProxyCache in ResourceCache::purgeResources
2023-08-31 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 557268622720 to 90907540b014 (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 aaclarke@google.com,brianosman@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://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-31 22:59:18 +00:00
Stephen Adams
182847ec84 [web] More efficient fallback font selection (flutter/engine#44526)
The PR improves the code size and runtime performance of fallback font selection.

### Performance improvements

Initialization of the data structures to support fallback font selection has been moved from creating the FallbackFontManager (first frame) to the first use, i.e. the first frame actually needing a fallback font.

The numbers reported below are for a lightly edited version of the counter demo that appends to the counter about ~300 missing code points that need ~25 fallback fonts to cover the missing code points. Timings taken from a few profiles on my performance workstation.

|  |  Before | After  | 
| --- | ---: | ---: |
| FallbackFontManager() |~100ms | <2ms |
| First need | 0ms | 12ms |
| Subsequent need | 20-30ms | <1ms |

### Size improvements

|  |  Before | After  | Δ |
| --- | ---: | ---: | ---: |
| main.dart.js | 1586405 | 1477319 | -109086 (-6.87%) |
| brotli -9 | 427304 | 401611 | -25693 (-6.01%) |

### Algorithm notes

#### Startup

The old algorithm built an interval tree from the code point ranges of the ~140 fallback fonts and uses the interval tree to build a list of fonts that support each missing code point. The new algorithm uses a binary search map that directly produces the list of fonts. There are fewer binary search ranges (~22k) than the aggregate ranges for all the fonts (~26k).
Most of the startup time gain comes from using a data unpacks directly into a useful form rather than needing processing to build an interval tree (~12ms vs ~100ms).

#### Running

The runtime for font selection is greatly improved for several reasons

- The code point space is partitioned into components so that code point counting can be batched.
- When a font is selected, the counts are updated incrementally rather than being recomputed.
- The counts are held in fields of the NotoFont and component objects rather than in Maps or Sets.

Batching, incremental update and avoiding hash tables are roughly multiplicative in effect.

## Issues

- https://github.com/flutter/flutter/issues/131440

*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
2023-08-31 22:42:20 +00:00
Ian Hickson
4366aa7092 Avoid saying exactly who can give test exemptions (flutter/engine#45343) 2023-08-31 21:46:04 +00:00
Zachary Anderson
a5bc143d64 Revert "Reland "Build iOS unittest target in unopt builds" (#44356)"" (flutter/engine#45346)
Reverts flutter/engine#44821

clang-tidy failures
https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20Production%20Engine%20Drone/137227/overview
2023-08-31 14:05:21 -07:00
Jim Graham
8cbaba6a03 Lazily allocate RasterCacheItems only when caching is enabled (flutter/engine#45211)
Fixes https://github.com/flutter/flutter/issues/133377

The default allocation of RasterCacheItems in the layer tree was showing up in profiles of apps running on Impeller which don't actually use the raster cache.

In order to eliminate the overhead of those allocations, RasterCacheItems are now lazily allocated only when the layers encounter an actual raster_cache during the Preroll phase.
2023-08-31 20:32:06 +00:00
skia-flutter-autoroll
e92e5cd6a9 Roll Skia from 8ff4fd208c26 to 5d08dadd2ef4 (3 revisions) (flutter/engine#45340)
https://skia.googlesource.com/skia.git/+log/8ff4fd208c26..5d08dadd2ef4

2023-08-31 jvanverth@google.com Revert "[graphite] Remove GRAPHITE_TEST_UTILS from Recorder"
2023-08-31 robertphillips@google.com Add missing SK_API to Raster MakeWithFilter declaration
2023-08-31 kjlubick@google.com Add DateTime alias to SkPDFDocument

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 aaclarke@google.com,brianosman@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://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-31 20:10:49 +00:00
Chris Yang
238fda902d Reland "Build iOS unittest target in unopt builds" (#44356)" (flutter/engine#44821)
Relands https://github.com/flutter/engine/pull/44301

The original PR was reverted in https://github.com/flutter/engine/pull/44356

The `assert flutter_dylib_time <= ios_test_lib_time, final_message` check is reverted in 0d8aebd040, so we are safe to land this again. 

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-31 20:05:34 +00:00
Hossein Yousefi
5409eadd3c Update comment const_finder.dart (flutter/engine#45180)
The arguments no longer seem to be all required and non-null. Updated the doc comment to reflect this.
2023-08-31 20:04:53 +00:00
Tong Mu
6207fce970 Replace an unnecessary util function with PostSync (flutter/engine#45190)
Fix an unnecessary util function that I created not knowing there's already `PostSync`.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-31 19:36:57 +00:00
skia-flutter-autoroll
2ca0d97895 Roll Skia from cda0cfaadfd7 to 8ff4fd208c26 (3 revisions) (flutter/engine#45337)
https://skia.googlesource.com/skia.git/+log/cda0cfaadfd7..8ff4fd208c26

2023-08-31 armansito@google.com [graphite][dawn] Enable compute unit tests on Dawn
2023-08-31 johnstiles@google.com Disallow `texture2D` without readonly/writeonly qualifier.
2023-08-31 johnstiles@google.com Change meaning of `texture2D` to refer to read-write textures.

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 aaclarke@google.com,brianosman@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://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-31 19:23:09 +00:00
skia-flutter-autoroll
05ff4f8858 Roll Dart SDK from 0cea73a8d3c3 to ac3bc9f6351a (4 revisions) (flutter/engine#45336)
https://dart.googlesource.com/sdk.git/+log/0cea73a8d3c3..ac3bc9f6351a

2023-08-31 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-126.0.dev
2023-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-125.0.dev
2023-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-124.0.dev
2023-08-30 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.2.0-123.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 aaclarke@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://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-31 18:57:52 +00:00
Chris Bracken
9bf9453e26 [macOS] Link __availability_version_check (flutter/engine#45333)
Links in an implementation of _availability_version_check on macOS.                
This is required due to an upstream compiler builtin (runtime) change              
that marked this function as weakly-linked via `__attribute__((weak import))`   
As such, no linking failure occurs when the function is unavailable at             
link time.                                                                         
                                                                                   
By providing an implementation, the linker picks up our implementation,            
which looks up symbol in question at runtime (via dlsym) on the first              
invocation, caches it for later invocations, then invokes it. This is,             
in fact, precisely what the original clang builtin implementation did.             
                                                                                   
Upstream clang change: https://reviews.llvm.org/D150397                            
                                                                                   
Issue: https://github.com/flutter/flutter/issues/133777 

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-31 18:41:00 +00:00
skia-flutter-autoroll
e2b30eb181 Roll Skia from 8c05d5103d6b to cda0cfaadfd7 (3 revisions) (flutter/engine#45334)
https://skia.googlesource.com/skia.git/+log/8c05d5103d6b..cda0cfaadfd7

2023-08-31 michaelludwig@google.com Further increase over-sampling in blurs
2023-08-31 johnstiles@google.com Eliminate makeSampler2D() intrinsic.
2023-08-31 armansito@google.com [graphite][dawn] Support encoding compute dispatch commands

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 aaclarke@google.com,brianosman@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://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-31 18:36:03 +00:00
Zachary Anderson
b308156778 Adds an --rbe option to tools/gn that works on Linux hosts (flutter/engine#45271)
This PR lands changes to `tools/gn` to use Flutter's RBE instance
instead of Goma. It is initially supported only for builds from a Linux
host.

1. Authenticate with `gcloud`
```
engine/src$ ./buildtools/linux-x64/gcloud/bin/gcloud auth application-default login --disable-quota-project
```

2. GN
```
engine/src$ ./flutter/tools/gn --android --android-cpu arm64 --no-lto --runtime-mode debug --rbe
```

3. Build
```
engine/src$ ninja -C out/android_debug_arm64 -j200
```
2023-08-31 11:31:17 -07:00
Brian Osman
c11672e29a Migrate VK calls of GrBackend* (flutter/engine#45325)
In https://skia-review.googlesource.com/c/skia/+/742797 Skia refactored
GrBackend* to not require #ifdefs. This changes
callsites in Flutter to use static functions instead of methods that
were conditionally compiled on those classes.

There should be no functional change.
2023-08-31 14:15:17 -04:00
Zachary Anderson
aad0b0f680 Revert dl split (flutter/engine#45326)
Reverting for https://github.com/flutter/flutter/issues/133525
fixes: https://github.com/flutter/engine/pull/45326
2023-08-31 17:46:12 +00:00