Commit Graph

22932 Commits

Author SHA1 Message Date
Jim Graham
ce4c7d3ffd move rtree and canvas_spy sources to Fuchsia sub-directory (flutter/engine#43615)
These sources have long been obsolete for most of the engine, except for the Fuchsia sources. They do not need to be built for any other platform so this PR moves them into a Fuchsia platform-specific build directory so that they are only present in the Fuchsia binaries.
2023-07-12 22:22:39 +00:00
skia-flutter-autoroll
a14900f889 Roll Skia from 68e3c0b3eea7 to 4e989b1564ee (6 revisions) (flutter/engine#43614)
https://skia.googlesource.com/skia.git/+log/68e3c0b3eea7..4e989b1564ee

2023-07-12 jamesgk@google.com [graphite] Use AnalyticRRectRenderStep AA outset for clipping
2023-07-12 jmbetancourt@google.com [skottie] move scalar slot tracking to bind call
2023-07-12 herb@google.com Reland "Reland "Update constants used by SkFloatingPoint.h""
2023-07-12 johnstiles@google.com Replace hand-computed lerp with mix.
2023-07-12 brianosman@google.com Only build SkXmp when necessary
2023-07-12 johnstiles@google.com Remove out-param helper functions from Metal.

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,kjlubick@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://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-07-12 21:56:27 +00:00
Ian Hickson
eaca35dd7c Document (and assert) that channel names can't contains nulls (flutter/engine#43593)
Fixes https://github.com/flutter/flutter/issues/116652
2023-07-12 21:44:31 +00:00
Srujan Gaddam
49e8ec8b0b Reland "Refactor JSNumber.toDart and Object.toJS" (flutter/engine#43363)
This reverts commit dce75ab4cf647eec6699f8a30ba2289a3738b307.

This also makes some small changes to make onBenchmark a
JSExportedDartFunction instead of a JSBoxedDartObject. This is for
changes in https://github.com/flutter/flutter/pull/129436 and to account
for the fact that flutter/packages provides an `allowInterop`'d
function. Benchmarks tests pass with this CL.

## 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.
- [ ] 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].
- [ ] All existing and new tests are passing.
2023-07-12 14:27:16 -07:00
LongCatIsLooong
3b27aa3e95 Add a flag to ParagraphBuilder for rounding hack migration (flutter/engine#43118)
The goal is to remove the rounding applied in skparagraph and in the framework: https://github.com/flutter/flutter/issues/31707

The plumbing is done via a new static variable `ParagraphBuilder.shouldDisableRoundingHack` that toggles the rounding behavior in skparagraph and the flag is read by framework code. Application code and test code can either use `ParagraphBuilder.setDisableRoundingHack` or `--dart-define="SKPARAGRAPH_REMOVE_ROUNDING_HACK=1"` to opt-in. 
Once the internal migration is finished the default value of the flag will be set to true.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-07-12 20:36:45 +00:00
John McCutchan
67399264f1 [Impeller] Fixes for asymmetric stencil descriptors (flutter/engine#43535)
Fixes for asymmetric stencil descriptors

- Fix GLES implementation to properly set back and front face options in
the case that they aren't identical.
- Add write_mask to hash function.

https://github.com/flutter/flutter/issues/129855
2023-07-12 12:57:45 -07:00
skia-flutter-autoroll
0f2f65f4aa Roll Skia from adeeb8d50f7c to 68e3c0b3eea7 (1 revision) (flutter/engine#43609)
https://skia.googlesource.com/skia.git/+log/adeeb8d50f7c..68e3c0b3eea7

2023-07-12 robertphillips@google.com Add new (internal) SkCanvas drawAsTiledImageRect virtual

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,kjlubick@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://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-07-12 18:43:40 +00:00
Jim Graham
d42609bd14 Add comment to use of 3x3 mapRect in TransformLayer (flutter/engine#43608)
Addresses comment in https://github.com/flutter/flutter/issues/130303#issuecomment-1632895439

No tests as this is just a comment.
2023-07-12 18:41:22 +00:00
skia-flutter-autoroll
95232a4379 Roll Skia from a251a36ea519 to adeeb8d50f7c (1 revision) (flutter/engine#43606)
https://skia.googlesource.com/skia.git/+log/a251a36ea519..adeeb8d50f7c

2023-07-12 robertphillips@google.com Change DrawImageRect* utils to not fallback to the non-tiled draw

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,kjlubick@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://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-07-12 17:56:44 +00:00
skia-flutter-autoroll
90a9eddcea Roll Skia from ebc149cff431 to a251a36ea519 (2 revisions) (flutter/engine#43604)
https://skia.googlesource.com/skia.git/+log/ebc149cff431..a251a36ea519

2023-07-12 brianosman@google.com Revert "Reland "Update constants used by SkFloatingPoint.h""
2023-07-12 michaelludwig@google.com [skif] Remove invalid Tile->Offset optimization

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,kjlubick@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://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-07-12 17:07:49 +00:00
Jonah Williams
9f11809bb7 [Impeller] Use new SkParagraph APIs for stroked text. (flutter/engine#41735)
~~Requires https://skia-review.googlesource.com/c/skia/+/692196~~ Landed

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

Looks correct on iOS, renders incorrectly on Android 🤷 . Might be related to all of our text bounds looking off.

### iOS

![flutter_03](https://github.com/flutter/engine/assets/8975114/50897fd0-47fd-4cad-b158-1662aa650092)

### Android

![flutter_04](https://github.com/flutter/engine/assets/8975114/bcefe843-71a0-4b98-956f-039918e9a4cc)
2023-07-12 16:29:13 +00:00
skia-flutter-autoroll
e0d567bc40 Roll Skia from ac4c113c071d to ebc149cff431 (4 revisions) (flutter/engine#43603)
https://skia.googlesource.com/skia.git/+log/ac4c113c071d..ebc149cff431

2023-07-12 herb@google.com Reland "Update constants used by SkFloatingPoint.h"
2023-07-12 aredulla@google.com [ssci] Added Shipped field to READMEs
2023-07-12 markbrand@google.com Check the result of descriptor.findEntry.
2023-07-12 kjlubick@google.com Roll Dawn from 17da531ab3fb to 75bc633f02db (16 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,kjlubick@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://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-07-12 15:54:15 +00:00
skia-flutter-autoroll
b68d930463 Roll Fuchsia Linux SDK from zTuZjXzI3bqscWmeo... to 1STsUj0X5YgpiSNEb... (flutter/engine#43602)
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 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-07-12 15:03:18 +00:00
skia-flutter-autoroll
9c2bdabea0 Roll Skia from 9038aec6a23a to ac4c113c071d (1 revision) (flutter/engine#43600)
https://skia.googlesource.com/skia.git/+log/9038aec6a23a..ac4c113c071d

2023-07-12 johnstiles@google.com Disable render-task reordering on Iris Xe on OpenGL.

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,kjlubick@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://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-07-12 13:51:29 +00:00
skia-flutter-autoroll
3a0058690f Roll Skia from 0ac60b2cecfe to 0fb595ccc6a7 (1 revision) (flutter/engine#43596)
https://skia.googlesource.com/skia.git/+log/0ac60b2cecfe..0fb595ccc6a7

2023-07-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 860d0cbba7e1 to c60298c2b806 (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,kjlubick@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://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-07-12 09:02:29 +00:00
Jim Graham
870fc78163 header file cleanup focusing on removing unnecessary SkPicture includes (flutter/engine#43589)
Most of the #include directives for SkPicture are removed except where they are still functional. Many comments rewritten to no longer be SkPicture-centric.

- DL unit tests still use it for consistency testing
- rasterizer/engine still use it for screen shot support
- Fuchsia still uses it extensively
2023-07-12 08:17:06 +00:00
Brandon DeRosier
fb1b34a38c [Impeller] Document ColorSourceContents (flutter/engine#43590)
Someday all the things will be documented and explained intuitively.
2023-07-12 01:09:33 -07:00
skia-flutter-autoroll
943e61fb35 Roll Skia from 7b0d85cff28a to 33cfa4fc2aeb (1 revision) (flutter/engine#43586)
https://skia.googlesource.com/skia.git/+log/7b0d85cff28a..33cfa4fc2aeb

2023-07-12 armansito@google.com [graphite][vello] Encode unsupported stroke styles as fills

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,kjlubick@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://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-07-12 03:50:27 +00:00
skia-flutter-autoroll
fa64be2899 Roll Skia from d0ecba6d753c to 7b0d85cff28a (1 revision) (flutter/engine#43585)
https://skia.googlesource.com/skia.git/+log/d0ecba6d753c..7b0d85cff28a

2023-07-12 armansito@google.com [graphite] ComputePathAtlas per DrawContext

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,kjlubick@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://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-07-12 03:05:18 +00:00
Chinmay Garde
3ac3578efc [Impeller] Remove un-actionable info log about validations. (flutter/engine#43575) 2023-07-12 02:42:04 +00:00
Chinmay Garde
5bee234c0f [Impeller] Create a resource manager that batch deallocates resources on a dedicated thread. (flutter/engine#43579)
This also sets up well for a unified resource pooling and deferred collection mechanism.
2023-07-12 02:42:02 +00:00
skia-flutter-autoroll
4182cba124 Roll Fuchsia Linux SDK from EnRnFf_eyS6SGqpHi... to zTuZjXzI3bqscWmeo... (flutter/engine#43583)
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 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-07-12 02:16:31 +00:00
skia-flutter-autoroll
96bf71f61c Roll Skia from c769464a8b79 to d0ecba6d753c (2 revisions) (flutter/engine#43582)
https://skia.googlesource.com/skia.git/+log/c769464a8b79..d0ecba6d753c

2023-07-12 brianosman@google.com Revert "Update constants used by SkFloatingPoint.h"
2023-07-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 03c816988bfd to 2a8992497955 (9 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,kjlubick@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://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-07-12 02:10:05 +00:00
Jason Simmons
2b231a05fd Release the mutex in the CanCreateConcurrentMessageLoop test before waking the latch (flutter/engine#43574)
If the wake happens while thread_ids_mutex is still held, then the test function may exit and destroy thread_ids_mutex before the pool thread task releases it.

Fixes https://github.com/flutter/flutter/issues/130344
2023-07-11 23:18:48 +00:00
skia-flutter-autoroll
726e36bc6c Roll Skia from 2998197ce4ca to c769464a8b79 (2 revisions) (flutter/engine#43577)
https://skia.googlesource.com/skia.git/+log/2998197ce4ca..c769464a8b79

2023-07-11 herb@google.com Update constants used by SkFloatingPoint.h
2023-07-11 armansito@google.com [graphite] Fix bug in AtlasShapeRenderStep module helper invocation

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,kjlubick@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://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-07-11 22:59:01 +00:00
Zachary Anderson
8e4206c239 Run linux_unopt on a machine with more cores (flutter/engine#43473)
The unit tests can run in parallel so running on a bigger machine gives a good speedup. This shaves ~10 minutes off of linux_unopt time. Some of the DisplayList unit tests go over the 120s limit, so this PR also bumps the default limit to 300s.
2023-07-11 22:56:05 +00:00
skia-flutter-autoroll
d73e8749ec Roll Skia from d2051446ee6b to 2998197ce4ca (1 revision) (flutter/engine#43572)
https://skia.googlesource.com/skia.git/+log/d2051446ee6b..2998197ce4ca

2023-07-11 herb@google.com Move index out of bounds to SkAssert.h

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,kjlubick@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://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-07-11 21:49:22 +00:00
Chinmay Garde
46a7ca0669 [Impeller] Fix WRITE_AFTER_WRITE hazard in ColorWheel/Vulkan. (flutter/engine#43570) 2023-07-11 21:03:02 +00:00
skia-flutter-autoroll
e06cd89b56 Roll Skia from 47a37395ee40 to d2051446ee6b (4 revisions) (flutter/engine#43569)
https://skia.googlesource.com/skia.git/+log/47a37395ee40..d2051446ee6b

2023-07-11 jlavrova@google.com Reland "Experimental SkParagraph API"
2023-07-11 herb@google.com Check that clang has the likely attribute
2023-07-11 michaelludwig@google.com [skif] Remove legacy DropShadow implementation
2023-07-11 herb@google.com Only use std::fma for fma

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,kjlubick@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://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-07-11 20:38:46 +00:00
Gwen Mittertreiner
91de8eabaa [fuchsia][cml] Mark Tracing as Optional (flutter/engine#43567)
Tracing is an optional component that is only included in eng builds, so the usage should be marked optional.

Bug: fxbug.dev/112433
2023-07-11 20:24:06 +00:00
skia-flutter-autoroll
bd3301747f Roll Skia from 68bcc4470230 to 47a37395ee40 (12 revisions) (flutter/engine#43568)
https://skia.googlesource.com/skia.git/+log/68bcc4470230..47a37395ee40

2023-07-11 michaelludwig@google.com [skif] Remove legacy Compose implementation
2023-07-11 jlavrova@google.com Making "abc" tests fail if there are no fonts
2023-07-11 herb@google.com Add bounds checking for TArray
2023-07-11 brianosman@google.com Prepare to extract SkXmp to a separate source list
2023-07-11 michaelludwig@google.com [skif] Add SkTileMode to SkCropImageFilter
2023-07-11 johnstiles@google.com Reject $pure functions with out parameters.
2023-07-11 johnstiles@google.com Move cover-bounds vertex step into Module code.
2023-07-11 robertphillips@google.com [graphite] Reenable tiled image cache size heuristic (take 3)
2023-07-11 johnstiles@google.com Move atlas-shape vertex step into Module code.
2023-07-11 johnstiles@google.com Move analytic-rrect coverage step into Module code.
2023-07-11 johnstiles@google.com Use inversesqrt when calculating rrect edge vectors.
2023-07-11 johnstiles@google.com Move analytic-rrect vertex step into Module 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,kjlubick@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://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-07-11 19:50:09 +00:00
Dan Field
af6a16e458 Remove stray semicolons from embedded_views.cc (flutter/engine#43566) 2023-07-11 18:54:08 +00:00
Brandon DeRosier
6eab15627e [Impeller] Apply color filters on the CPU for solid colors & gradients. (flutter/engine#43519)
Apply color filters on the CPU for solid colors and gradients. This
fixes https://github.com/flutter/flutter/issues/127232 for the purely
color-based color sources.

We still need to make the other special color blending paths respect the
geometry mask in order to fully resolve the underlying issue:
* SaveLayers (if they have an interesting matrix filter -- without a
matrix filter, it'll always work today)
* TiledTextureContents
* TextContents
* VerticesContents
* AtlasContents
2023-07-11 11:50:09 -07:00
Dan Field
9062f9858c Delete unused display list/SkPicture code (flutter/engine#43560)
This code no longer does anything.
2023-07-11 17:15:47 +00:00
David Worsham
122b633929 [fuchsia] Remove FIDL dart references (flutter/engine#43550)
fidlgen_dart was still referenced in the build rules. It is being
removed from the fuchsia SDK, so remove it from the build rules here.
2023-07-12 02:48:12 +10:00
skia-flutter-autoroll
7df6ed1a10 Roll Skia from 1f4ddedd7872 to 68bcc4470230 (4 revisions) (flutter/engine#43557)
https://skia.googlesource.com/skia.git/+log/1f4ddedd7872..68bcc4470230

2023-07-11 kjlubick@google.com Do not use paragraph fonts on Android NativeFonts tests
2023-07-11 kjlubick@google.com Reland "Make SkParagraph tests run on the CI"
2023-07-11 herb@google.com Move from using C math functions to C++.
2023-07-11 jvanverth@google.com [OpenGL] Ensure that framebuffer is valid when generating mipmaps.

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,kjlubick@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://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-07-11 16:13:17 +00:00
skia-flutter-autoroll
af68de680d Roll Skia from a788eeaa7ab6 to 1f4ddedd7872 (1 revision) (flutter/engine#43556)
https://skia.googlesource.com/skia.git/+log/a788eeaa7ab6..1f4ddedd7872

2023-07-11 johnstiles@google.com Fix Metal codegen for functions using sk_Vertex/InstanceID.

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,kjlubick@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://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-07-11 15:28:05 +00:00
skia-flutter-autoroll
8f20e87eac Roll Skia from 57cf27703ab7 to aba52937c5a2 (1 revision) (flutter/engine#43554)
https://skia.googlesource.com/skia.git/+log/57cf27703ab7..aba52937c5a2

2023-07-11 kjlubick@google.com Explicitly initialize cached canvas/image to nullptr

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,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-07-11 13:58:23 +00:00
skia-flutter-autoroll
a79ed90902 Roll Fuchsia Linux SDK from cgcxIe8D4wb8hQWCV... to EnRnFf_eyS6SGqpHi... (flutter/engine#43553)
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 aaclarke@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-07-11 13:28:48 +00:00
Jim Graham
b9835fa1b8 remove include of SkPicture files from non-Fuchsia sources (flutter/engine#43542)
Addresses most of https://github.com/flutter/flutter/issues/128060

Most of the uses of SkPicture and Recorder are removed from the engine sources. The few that remain are:

- DisplayList <-> Skia consistency testing code
- Legacy code only used from Fuchsia
- Dart CanvasKit uses which aren't actually using the local Skia sources or libraries

These are all comment and include file changes and so the testing is in the building.
2023-07-11 09:22:19 +00:00
skia-flutter-autoroll
f54b91d68b Roll Skia from 77267bf1e7b3 to eb1cdb6bd87f (2 revisions) (flutter/engine#43548)
https://skia.googlesource.com/skia.git/+log/77267bf1e7b3..eb1cdb6bd87f

2023-07-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 860d0cbba7e1 to 6a54798cc924
2023-07-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from d5207f6cef93 to 860d0cbba7e1 (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,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-07-11 06:37:09 +00:00
dependabot[bot]
1828df1d23 Bump actions/labeler from 4.2.0 to 4.3.0 (flutter/engine#43546)
Bumps [actions/labeler](https://github.com/actions/labeler) from 4.2.0 to 4.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/labeler/releases">actions/labeler's releases</a>.</em></p>
<blockquote>
<h2>v4.3.0</h2>
<h2>What's Changed</h2>
<p>In scope of this release, the ability to specify pull request number(s) was added by <a href="https://github.com/credfeto"><code>@​credfeto</code></a> in <a href="https://redirect.github.com/actions/labeler/pull/349">actions/labeler#349</a>.</p>
<p>Support for reading from the configuration file presented on the runner was added by <a href="https://github.com/lrstanley"><code>@​lrstanley</code></a> in <a href="https://redirect.github.com/actions/labeler/pull/394">actions/labeler#394</a>. It allows you to use a configuration file generated during workflow run or uploaded from a separate repository.</p>
<p>Please refer to the <a href="https://github.com/actions/labeler#inputs">action documentation</a> for more information.</p>
<p>This release also includes the following changes:</p>
<ul>
<li>Improved Error message for missing config file by <a href="https://github.com/Gornoka"><code>@​Gornoka</code></a> in <a href="https://redirect.github.com/actions/labeler/pull/475">actions/labeler#475</a></li>
<li>Early exit when no files are changed by <a href="https://github.com/nathanhammond"><code>@​nathanhammond</code></a> in <a href="https://redirect.github.com/actions/labeler/pull/456">actions/labeler#456</a></li>
<li>Add examples to match all repo files by <a href="https://github.com/MaksimZhukov"><code>@​MaksimZhukov</code></a> in <a href="https://redirect.github.com/actions/labeler/pull/600">actions/labeler#600</a></li>
<li>Fix a typo in the example about using the action outputs by <a href="https://github.com/MaksimZhukov"><code>@​MaksimZhukov</code></a> in <a href="https://redirect.github.com/actions/labeler/pull/606">actions/labeler#606</a></li>
<li>Bump eslint from 8.43.0 to 8.44.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/actions/labeler/pull/601">actions/labeler#601</a></li>
<li>Bump <code>@​typescript-eslint/parser</code> from 5.60.1 to 5.61.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/actions/labeler/pull/602">actions/labeler#602</a></li>
<li>Bump <code>@​typescript-eslint/eslint-plugin</code> from 5.60.1 to 5.61.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/actions/labeler/pull/604">actions/labeler#604</a></li>
<li>Bump tough-cookie from 4.1.2 to 4.1.3 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/actions/labeler/pull/609">actions/labeler#609</a></li>
<li>Bump <code>@​octokit/plugin-retry</code> from 5.0.4 to 5.0.5 by <a href="https://github.com/MaksimZhukov"><code>@​MaksimZhukov</code></a> in <a href="https://redirect.github.com/actions/labeler/pull/610">actions/labeler#610</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/credfeto"><code>@​credfeto</code></a> made their first contribution in <a href="https://redirect.github.com/actions/labeler/pull/349">actions/labeler#349</a></li>
<li><a href="https://github.com/lrstanley"><code>@​lrstanley</code></a> made their first contribution in <a href="https://redirect.github.com/actions/labeler/pull/394">actions/labeler#394</a></li>
<li><a href="https://github.com/nathanhammond"><code>@​nathanhammond</code></a> made their first contribution in <a href="https://redirect.github.com/actions/labeler/pull/456">actions/labeler#456</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/labeler/compare/v4...v4.3.0">https://github.com/actions/labeler/compare/v4...v4.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="ac9175f8a1"><code>ac9175f</code></a> Bump <code>@​octokit/plugin-retry</code> from 5.0.4 to 5.0.5 (<a href="https://redirect.github.com/actions/labeler/issues/610">#610</a>)</li>
<li><a href="7542ec79bb"><code>e436164</code></a> Bump tough-cookie from 4.1.2 to 4.1.3 (<a href="https://redirect.github.com/actions/labeler/issues/609">#609</a>)</li>
<li><a href="be13bbd1b7"><code>be13bbd</code></a> Early exit when no files are changed. (<a href="https://redirect.github.com/actions/labeler/issues/456">#456</a>)</li>
<li><a href="994304c5d5"><code>994304c</code></a> feat(config): support reading from local file if it exists (<a href="https://redirect.github.com/actions/labeler/issues/394">#394</a>)</li>
<li><a href="327d35fdca"><code>327d35f</code></a> Added ability to pass in an optional PR number as a parameter (<a href="https://redirect.github.com/actions/labeler/issues/349">#349</a>)</li>
<li><a href="65f306b6dd"><code>65f306b</code></a> Fix a typo in the example about using the action outputs (<a href="https://redirect.github.com/actions/labeler/issues/606">#606</a>)</li>
<li><a href="b669025b7c"><code>b669025</code></a> Bump <code>@​typescript-eslint/eslint-plugin</code> from 5.60.1 to 5.61.0 (<a href="https://redirect.github.com/actions/labeler/issues/604">#604</a>)</li>
<li><a href="52979ba0af"><code>52979ba</code></a> Bump <code>@​typescript-eslint/parser</code> from 5.60.1 to 5.61.0 (<a href="https://redirect.github.com/actions/labeler/issues/602">#602</a>)</li>
<li><a href="5bea1458bb"><code>5bea145</code></a> Bump eslint from 8.43.0 to 8.44.0 (<a href="https://redirect.github.com/actions/labeler/issues/601">#601</a>)</li>
<li><a href="a212485147"><code>a212485</code></a> Add examples to match all repo files (<a href="https://redirect.github.com/actions/labeler/issues/600">#600</a>)</li>
<li>Additional commits viewable in <a href="0967ca812e...ac9175f8a1">compare view</a></li>
</ul>
</details>
<br />

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

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

---

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

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

</details>
2023-07-11 06:14:58 +00:00
Dan Field
21bb71b627 [Impeller] Improve resolution of text scaling. (flutter/engine#43533)
This patch does a few things:

- Changes ownership of the LazyGlyphAtlas to ContentContext from Canvas. This means that drawings with multiple canvases (e.g. calls to DrawPicture) share the same lazy atlas.
- Moves the scale property from Font::Metrics to FontGlyphPair. Font::Metrics contains properties related to the font, whereas scale has to do with the properties of the drawing at render time and is independent of the font.
- Makes the lazy atlas manage FontGlyphPair::Set rather than vectors of TextFrames.
- Makes the determination of font scaling at EntityPass::Render rather than Canvas::DrawTextFrame. The scaling may be altered by calls to Canvas::DrawPicture by render time and otherwise get missed. This is done via a new method: Contents::PopulateGlyphAtlas, which is only implemented by TextContents in this patch.
- Fixes up some miscelleaneous bugs in Font::Metrics hashing and unused/dead code.

This improves over prior attempts: LazyGlyphAtlas ownership is now unambiguous, and glyph scaling happens correctly for all rendered glyphs regardless of the order of canvas operations in Aiks.

Fixes flutter/flutter#130142
2023-07-11 04:57:07 +00:00
skia-flutter-autoroll
e939f38a85 Roll Skia from d0991c6af2d6 to 6a5c4b0c0fcb (1 revision) (flutter/engine#43544)
https://skia.googlesource.com/skia.git/+log/d0991c6af2d6..6a5c4b0c0fcb

2023-07-11 penghuang@chromium.org graphite/dawn: support RGB_888x ct and BGRA8Unorm format combination

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,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-07-11 03:55:13 +00:00
Chinmay Garde
5400db6492 [Impeller] Refactor barriers and add documentation. (flutter/engine#43540)
Calling a pipeline barrier a transition seemed odd. Also, the members of the layout transition weren't documented and I always had a tough time remembering how barriers worked. It's hopefully clearer now.
2023-07-11 03:29:13 +00:00
skia-flutter-autoroll
d89d2d5631 Roll Skia from bbe71d71e576 to d0991c6af2d6 (1 revision) (flutter/engine#43543)
https://skia.googlesource.com/skia.git/+log/bbe71d71e576..d0991c6af2d6

2023-07-11 michaelludwig@google.com Revert "Experimental SkParagraph API"

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,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-07-11 03:05:03 +00:00
skia-flutter-autoroll
733495c5a4 Roll Skia from 76daa2a33fa5 to bbe71d71e576 (1 revision) (flutter/engine#43541)
https://skia.googlesource.com/skia.git/+log/76daa2a33fa5..bbe71d71e576

2023-07-11 michaelludwig@google.com [skif] Add SkTileMode to FilterResult::applyCropRect

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,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-07-11 02:17:01 +00:00
Jim Graham
77514c4f43 Use full 4x4 matrix transforms in TransformLayer (flutter/engine#43536)
Fixes: https://github.com/flutter/flutter/issues/82961
Fixes: https://github.com/flutter/flutter/issues/113346

The fix was a simple fallout from the previous work to add support for SkM44 throughout the DL and Diff mechanisms (see https://github.com/flutter/flutter/issues/82955, https://github.com/flutter/flutter/issues/116198, https://github.com/flutter/engine/pull/37394)

Tested with its own existing and new unit tests as well as the test case from https://github.com/flutter/flutter/issues/113346
2023-07-11 01:55:07 +00:00
Jonah Williams
f64349bfa8 [Impeller] Unconditionally cache swapchain msaa texture. (flutter/engine#43529)
Even on the Pixel 6 pro device which supports memoryless textures, I can observe creating the memoryless texture sometimes takes a few hundred microseconds, possibly due to stalls in the driver allocating the texture metadata. Lets just unconditionally cache this texture to avoid making the driver do more work.

Here is an example of this happening:

![image](https://github.com/flutter/engine/assets/8975114/a2d0fed7-7a25-4652-9932-2464b272d80c)

https://github.com/flutter/flutter/issues/129392
2023-07-11 01:44:08 +00:00
skia-flutter-autoroll
dbf987a9f5 Roll Skia from c3d39bed2830 to 76daa2a33fa5 (1 revision) (flutter/engine#43539)
https://skia.googlesource.com/skia.git/+log/c3d39bed2830..76daa2a33fa5

2023-07-11 jmbetancourt@google.com [skottie] expose SlotManager to public APIs

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,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-07-11 01:23:04 +00:00