22796 Commits

Author SHA1 Message Date
Mouad Debbar
647d4fca2b [web] Move web-only initialization APIs to dart:ui_web (flutter/engine#43111)
| Old API in `dart:ui` | New API in `dart:ui_web` |
|-|-|
| ~`webOnlyInitializePlatform`~ | ~`ui_web.initializePlatform`~ |
| `webOnlyWarmupEngine` | `ui_web.bootstrapEngine` |
| `debugEmulateFlutterTesterEnvironment` | `ui_web.debugEmulateFlutterTesterEnvironment` |
| `webOnlySetPluginHandler` | `ui_web.setPluginHandler` |

Part of https://github.com/flutter/flutter/issues/126831
2023-06-29 19:52:48 +00:00
skia-flutter-autoroll
b2ace50e6e Roll Skia from 8ada2c4b2947 to a4d0373cd414 (14 revisions) (flutter/engine#43338)
https://skia.googlesource.com/skia.git/+log/8ada2c4b2947..a4d0373cd414

2023-06-29 lovisolo@google.com [bazel] Rename skia_android_unit_test -> android_unit_test and reorganize code.
2023-06-29 michaelludwig@google.com Add SK_API to SkColorTable declaration
2023-06-29 bungeman@google.com Fix DirectWrite port COLRv1 clang warnings
2023-06-29 armansito@google.com Roll vello from 12e764d5 to 44353989
2023-06-29 jzern@google.com update libwebp to v1.3.1
2023-06-29 johnstiles@google.com Simplify appendInstruction.
2023-06-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from b5fa16ad27df to 7ded50742b4c (3 revisions)
2023-06-29 johnstiles@google.com Provide a semicolon when invoking the declareFunction callback.
2023-06-29 kjlubick@google.com Remove conditional compilation of SkJpegSourceMgr.cpp
2023-06-29 nicolettep@google.com [graphite] Populate most of Vulkan pipeline layout & creation structs.
2023-06-29 kjlubick@google.com Reland "Remove SkCanvas::flush() from Skia-proper and remove other gpu-specific code"
2023-06-29 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 4765e38cdc27 to 49af09d96379 (32 revisions)
2023-06-29 johnstiles@google.com Rename Graphite's MtlTestContext.mm to fix libtool warning.
2023-06-29 bungeman@google.com Move SkPathEnums.h to src/core

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,jimgraham@google.com,nicolettep@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-06-29 19:19:07 +00:00
skia-flutter-autoroll
88997b281e Roll Fuchsia Linux SDK from fxCNy4QivAngZXkvM... to nboAFpQUzwtrESDVo... (flutter/engine#43334)
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 jimgraham@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-06-29 17:31:04 +00:00
Martin Kustermann
d6f96120e9 Prepare for utf8.encode() to return more precise Uint8List type (flutter/engine#43335)
To avoid analyzer warnings when utf8.encode() will return the more
precise Uint8List type, we use const Utf8Encoder().convert() which
already returns Uint8List

See https://github.com/dart-lang/sdk/issues/52801
2023-06-29 19:27:49 +02:00
Jason Simmons
0f55317632 [Impeller] Ensure that the auto-release pool is available when the GoldenPlaygroundTestImpl is destructed (flutter/engine#43322) 2023-06-29 09:33:26 -07:00
Emircan Uysaler
d69d614045 [fuchsia] Remove strict equality check for SkMatrix comparison for Fl… (flutter/engine#43309)
Flatland version of
010e710512

Bug: fxb/126648
2023-06-29 12:01:12 -04:00
Jason Simmons
eb4725c362 [Impeller] Add an autorelease pool to the GoldenTests fixture (flutter/engine#43323) 2023-06-29 15:11:47 +00:00
skia-flutter-autoroll
4dfe901363 Roll Skia from 2b30565d0173 to 0c320b3d5b64 (2 revisions) (flutter/engine#43331)
https://skia.googlesource.com/skia.git/+log/2b30565d0173..0c320b3d5b64

2023-06-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 96ae8b91855e to 1761cfde4cbe
2023-06-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from ca7f5660896c to 96ae8b91855e (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,jimgraham@google.com,nicolettep@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-06-29 07:01:19 +00:00
skia-flutter-autoroll
8045b8824d Roll Skia from 26fa4b343fd3 to 21feae4f3d8b (17 revisions) (flutter/engine#43329)
https://skia.googlesource.com/skia.git/+log/26fa4b343fd3..21feae4f3d8b

2023-06-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 5e35b0b24e12 to b5fa16ad27df (6 revisions)
2023-06-28 armansito@google.com Roll vello from ef2630ad to 12e764d5
2023-06-28 johnstiles@google.com Remove Win10 + ANGLE + IrisXe test and perf jobs.
2023-06-28 robertphillips@google.com Fail wrapping a protected AHardwareBuffer within an unprotected context
2023-06-28 michaelludwig@google.com Implement normalize as sqrt + divide instead of invsqrt + multiply
2023-06-28 kjlubick@google.com Mark some methods on Runtime Builders as const
2023-06-28 kjlubick@google.com Remove gSkBlobAsSlugTesting
2023-06-28 robertphillips@google.com [graphite] Enable manual image tiling GMs (take 2)
2023-06-28 johnstiles@google.com Add extra parentheses as required by WGSL spec.
2023-06-28 johnstiles@google.com Fix logical-xor operator in WGSL.
2023-06-28 jlavrova@google.com Improve justification algorithm
2023-06-28 johnstiles@google.com Add GM test slide to reproduce Perlin noise issue.
2023-06-28 johnstiles@google.com Add peephole optimization for merge_condition_mask.
2023-06-28 johnstiles@google.com Remove set_current_stack SkRP op.
2023-06-28 johnstiles@google.com Add SkRP builder methods for instruction handling.
2023-06-28 herb@google.com Add builtin_expect to SkASSERT_RELEASE
2023-06-28 nicolettep@google.com [graphite] Improve Vulkan descriptor set lifetime mgmnt.

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,jimgraham@google.com,nicolettep@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-06-29 04:37:57 +00:00
Jason Simmons
a636ee22cf [Impeller] Add a missing method to the Context mock (flutter/engine#43326) 2023-06-28 19:11:58 -07:00
gaaclarke
4f5dfc63c5 [Impeller] Collapse DrawRects into clear colors optimization (flutter/engine#43168)
design doc: https://docs.google.com/document/d/1Lqf1BRn4uCcUfv9dZlDyAgdSMeQ3FTnPgPjKF9yQ3MI/edit

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-29 00:37:02 +00:00
Chinmay Garde
0098a0b154 [Impeller] Add trace events to Vulkan texture and buffer lifecycle events. (flutter/engine#43321) 2023-06-29 00:32:05 +00:00
Brandon DeRosier
5533ea8e5c [Impeller] Fix advanced CPU blend modes (flutter/engine#43294)
Resolves https://github.com/flutter/flutter/issues/128606.

All CPU blends now match the behavior of Impeller's GPU blends, which (after https://github.com/flutter/engine/pull/43283) closely matches Skia's blends! Now we can finally use these.

https://github.com/flutter/engine/assets/919017/f9dc7323-fd14-4cdc-ba8b-930622be4206
2023-06-28 22:34:26 +00:00
skia-flutter-autoroll
2bab49e2f6 Roll Fuchsia Linux SDK from 10hNrVMjnCypybnz2... to fxCNy4QivAngZXkvM... (flutter/engine#43314)
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 jimgraham@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-06-28 21:43:05 +00:00
skia-flutter-autoroll
7c7a9c5211 Roll Skia from 0b4f472a8c44 to 26fa4b343fd3 (2 revisions) (flutter/engine#43306)
https://skia.googlesource.com/skia.git/+log/0b4f472a8c44..26fa4b343fd3

2023-06-28 fmalita@chromium.org [skwindow] Relocate WindowContext out of sk_app
2023-06-28 drott@chromium.org [Fontations] Remove static initializer for typeface registration

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,jimgraham@google.com,nicolettep@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-06-28 21:39:20 +00:00
Jonah Williams
0d33dc9e2e [Impeller] remove redundant highp modifiers in vertex shaders. (flutter/engine#43305)
Since we've let all vertex shaders opt into highp by default I believe these are redundant (though lets wait for malioc diff to confirm).
2023-06-28 17:10:55 +00:00
skia-flutter-autoroll
a2bd9b2c43 Roll Skia from 5209dc7702d0 to 0b4f472a8c44 (58 revisions) (flutter/engine#43304)
Roll Skia from 5209dc7702d0 to 0b4f472a8c44 (58 revisions)

https://skia.googlesource.com/skia.git/+log/5209dc7702d0..0b4f472a8c44

2023-06-28 jsimmons@google.com Remove unnecessary SkUnicodeHardCodedCharProperties destructor declaration
2023-06-28 jamesgk@google.com [graphite] Do partial dst copies
2023-06-28 robertphillips@google.com Remove SkCanvasPriv::DeviceClipBounds
2023-06-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d5b636f780eb to 5e35b0b24e12 (2 revisions)
2023-06-28 robertphillips@google.com [graphite] Enable manual image tiling GMs
2023-06-28 robertphillips@google.com Clean up TiledTextureUtils
2023-06-28 michaelludwig@google.com Use a patterned source image in FilterResultTest
2023-06-28 armansito@google.com [graphite] AtlasShapeRenderStep support for inverse fills
2023-06-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 122b292d96c9 to ed391dae33e6 (7 revisions)
2023-06-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from 9e529172240d to 44d18bcca074
2023-06-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from d5f800d73318 to ca7f5660896c (3 revisions)
2023-06-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from afd97bf1e914 to 47b5898a4fa7 (1 revision)
2023-06-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from ed70ac0399fc to 4765e38cdc27 (17 revisions)
2023-06-28 lehoangquyen@chromium.org graphite-dawn: use memoryless for MSAA & depth stencil textures.
2023-06-28 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 5897d0f765da to d5b636f780eb (4 revisions)
2023-06-28 jvanverth@google.com [graphite] Remove unused Device asyncRescaleAndRead methods.
2023-06-28 michaelludwig@google.com [skif] Take dst bounds into account for layer fills in FilterResult
2023-06-28 michaelludwig@google.com Add SkRectPriv::ClosestDisjointEdge utility function
2023-06-28 herb@google.com Add skia_use_safe_libcxx
2023-06-27 brianosman@google.com Revert "Fix link errors when XML (expat) is not included"
2023-06-27 armansito@google.com [graphite] Support atlas draws
2023-06-27 brianosman@google.com Fix link errors when XML (expat) is not included
2023-06-27 jmbetancourt@google.com [skottie] implement text slot tracking for SlotManager
2023-06-27 jvanverth@google.com [graphite] One more revision of the asyncReadPixelsYUV420 API.
2023-06-27 sunnyps@chromium.org graphite: Reset UniformDataCache on recording snap
2023-06-27 michaelludwig@google.com Add SkTileMode support to FilterResultTest harness
2023-06-27 michaelludwig@google.com Reorganize crop_imagefilter GM to be easier to interpret
2023-06-27 lovisolo@google.com [bazel] Add BazelGMRunner.cpp.
2023-06-27 jvanverth@google.com [graphite] Add more Recorder support to async yuv GMs.
2023-06-27 armansito@google.com [graphite] Rename text/AtlasManager to text/TextAtlasManager
2023-06-27 johnstiles@google.com Remove DUMP_SRC_IR macro from WGSL code generator.
2023-06-27 jlavrova@google.com Fixing CanvasKit build
2023-06-27 kjlubick@google.com Add CanvasKit Bazel Build job to the CQ
2023-06-27 kjlubick@google.com Remove SkEncodedImageFormat::kUnknown
2023-06-27 kjlubick@google.com Reland "Remove SkRuntimeEffect::makeImage"
2023-06-27 robertphillips@google.com [graphite] Implement new tiled API for Graphite
2023-06-27 michaelludwig@google.com Reland "[skif] Remove dedicated SkDropShadowImageFilter implementation"
2023-06-27 jvanverth@google.com [graphite] Get asyncReadPixelsYUV420 working.
2023-06-27 herb@google.com Remove unused private variables from DashOp
2023-06-27 jlavrova@google.com Extending SkUnicode API to avoid code duplication
2023-06-27 johnstiles@google.com Enable all shared tests in WGSL.
2023-06-27 johnstiles@google.com Implement array-cast constructors in WGSL.
2023-06-27 kjlubick@google.com Make context methods on SkCanvas const
2023-06-27 johnstiles@google.com Add WGSL support for ES2 geometric intrinsics.
2023-06-27 michaelludwig@google.com [skif] Remove legacy Lighting filter implementations
2023-06-27 kjlubick@google.com Remove slug-related #ifdefs from src/core
...
2023-06-28 16:07:54 +00:00
skia-flutter-autoroll
3b8e71d838 Roll Fuchsia Linux SDK from Bvv7TyHm_VHUkndFx... to 10hNrVMjnCypybnz2... (flutter/engine#43297)
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 jimgraham@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-06-28 07:33:28 +00:00
Jason Simmons
ff3ce46a4d Include the SkRTreeFactory headers in the skwasm picture recorder (flutter/engine#43292) 2023-06-28 00:45:38 +00:00
Brandon DeRosier
09246795b0 [Impeller] Correct advanced blending behavior. (flutter/engine#43283)
Investigated as part of
https://github.com/flutter/flutter/issues/127232.

This took some time to work out, but:
* The amount of blending applied to the source color needs to be
weighted by the destination alpha, which is pretty sensible behavior.
This is in addition to applying source-over behavior with the resulting
blended color.
* All of the blend functions assume that the color is already
premultiplied, so remove the unpremultiply/premultiply surrounding the
blend call.

All of the blend modes now visually match up with the [Flutter
docs](https://api.flutter.dev/flutter/dart-ui/BlendMode.html), except
for ColorBurn and Saturation, which appear to have a slight
miscalculation going on with the red channel.
2023-06-27 16:04:41 -07:00
Srujan Gaddam
fe300ba3c6 Revert "Refactor JSNumber.toDart and Object.toJS" (flutter/engine#43286)
Reverts flutter/engine#43149

Reason for reverting: Broke the roll into the framework.
2023-06-27 22:31:17 +00:00
Jim Graham
7d44b42d7a Update skia includes to be more specific (flutter/engine#43284)
Update flutter engine includes to be more specific about use of Skia includes.

These changes are required to unblock the Skia roller that has new streamlined include files.
2023-06-27 21:33:59 +00:00
Yegor
007bc8126e [web:a11y] introduce primary role responsible for ARIA roles (flutter/engine#43159)
This PR fixes https://github.com/flutter/flutter/issues/128468 by changing the relationship between semantics nodes and their roles from this:

```
SemanticsNode one-to-many RoleManager
```

To this:

```
SemanticsNode one-to-one PrimaryRoleManager one-to-many RoleManager
```

Previously a node would simply have multiple role managers, some of which would be responsible for setting the `role` attribute. It wasn't clear which role manager should be doing this. It also wasn't clear which role managers were safe to reuse across multiple types of nodes. This led to the unfortunate situation in https://github.com/flutter/flutter/issues/128468 where `LabelAndValue` ended up overriding the role assigned by `Checkable`.

With this PR, a `SemanticsNode` has exactly one `PrimaryRoleManager`. A primary role manager is responsible for setting the `role` attribute, and importantly, it's the _only_ thing responsible for it. It's _not safe_ to share primary role managers across different kinds of nodes. They are meant to provide very specific functionality for the widget's main role. OTOH, a non-primary `RoleManager` provides a piece of functionality that's safe to share.

A `Checkable` is a `PrimaryRoleManager` and is the only thing that decides on the `role` attribute. `LabelAndValue` is now a `RoleManager` that's not responsible for setting the role. It's only responsible for `aria-label`. No more confusion.

This also drastically simplifies the logic for role assignment. There's no more [logical soup](d4889c682d/lib/web_ui/lib/src/engine/semantics/semantics.dart (L1340)) attempting to find a good subset of roles to assign to a node. [Finding](93df91df95/lib/web_ui/lib/src/engine/semantics/semantics.dart (L1477)) and [instantiating](93df91df95/lib/web_ui/lib/src/engine/semantics/semantics.dart (L1498)) primary roles are very linear steps, as is [assigning a set of secondary roles](93df91df95/lib/web_ui/lib/src/engine/semantics/image.dart (L16)).
2023-06-27 20:49:03 +00:00
skia-flutter-autoroll
8eeb3843c0 Roll ANGLE from 9faf7059f9ef to 113f847be69f (2 revisions) (flutter/engine#43278)
9faf7059f9..113f847be6

2023-06-27 steven@uplinklabs.net centralize basic OS/platform detection functions
2023-06-27 abdolrashidi@google.com Vulkan: Move device OOM tests to new test suite

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

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

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-06-27 20:23:30 +00:00
Jackson Gardner
3a44bbda74 Initialize skwasm codecs before handing them back to the user. (flutter/engine#43274)
Benchmarks were failing because the code was reading the `frameCount` and `repetitionCount` before reading any frames out of the codec. The codec gets implicitly initialized when you read a frame, but we should return it to the user initialized so that `frameCount` and `repetitionCount` work even if you haven't read a frame yet. This is consistent with how CanvasKit's codec works.

Also, modified our unit tests so that they exercise the codecs in this way.
2023-06-27 20:17:30 +00:00
Victoria Ashworth
06457c8cae Update Xcode to 14.3.1 (flutter/engine#42930)
Engine part of https://github.com/flutter/flutter/issues/129019.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-27 18:21:30 +00:00
Jonah Williams
7a937cfb61 [Impeller] Add Vulkan allocator traces. (flutter/engine#43215)
I suspect this is where we're blocking on the texture uploads right now.
2023-06-27 18:18:06 +00:00
skia-flutter-autoroll
2192b1172d Roll Fuchsia Linux SDK from bj_X2Se1zObk_l_CC... to Bvv7TyHm_VHUkndFx... (flutter/engine#43270)
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 jimgraham@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-06-27 18:18:04 +00:00
Chinmay Garde
7ea00141cf [Impeller] Report pipeline creation feedback to logs and traces. (flutter/engine#43227)
Piping the feedback to logs is disabled by default but can be enabled by patching the source for now. If reading from logs gets to be useful, we can move it behind a flag. In traces, enabled by default, pipeline cache hits and misses will be shown via counters. The time taken to create a pipeline variant is already covered by existing traces.

This patch also sets up infrastructure in the impeller::CapabilitiesVK to quickly enable optional device extensions.

Pipeline feedback will only be reported if the device supports `VK_EXT_pipeline_creation_feedback`.

Example of logs:

```
E/flutter ( 2011): >>>>>>
E/flutter ( 2011): Pipeline 'GaussianBlurAlphaDecal Pipeline' Time: 48.60ms Cache Hit: 0 Base Accel: 0 Thread: 481449901232
E/flutter ( 2011):  Stage 1: Time: 12.91ms Cache Hit: 0 Base Accel: 0 Thread: 481449901232
E/flutter ( 2011):  Stage 2: Time: 15.10ms Cache Hit: 0 Base Accel: 0 Thread: 481449901232
E/flutter ( 2011): <<<<<<
```
2023-06-27 18:10:59 +00:00
Jonah Williams
ac3ce651f3 [Impeller] Give Impeller a dedicated raster priority level worker loop. (flutter/engine#43166)
We'd like to (or already are) using the concurrent message loop for high priority rendering tasks like PSO construction and render pass encoding. The default priority level for the engine managed concurrent message loop is 2, which is a significantly lower priority than the raster thread at -5. This is almost certainly causing priority inversion.

We must move back to dedicated runners so we can adjust thread priorities.
2023-06-27 18:08:49 +00:00
Jason Simmons
6504962164 [Impeller] Fixes for GLES color mask setup (flutter/engine#43225)
* Always set the color mask even if blending is disabled
* Fix a typo in the check of the mask against each color bit
2023-06-27 10:44:44 -07:00
David Iglesias
af5ad81ca7 [web] Removes patchCanvasKitModule. (flutter/engine#42941)
**This must land _after_ https://github.com/flutter/flutter/pull/129032**

Flutter web uses requireJS in `debug` mode to assemble a DDC-compiled app from a bunch of small files ("modules").

This caused that `canvaskit.js` (then, but probably all other modules that used a browserify-like loading header) didn't work because it attempted to use the `define` function provided by Flutter's instance of `requireJS` (which kept the defined modules private, rather than as globals on the page, as the users of the JS expected).

A [fix](https://github.com/flutter/engine/pull/27342) was added to `flutter/engine` to trick loaders into *not* using the `requireJS` module loader, but a recent change in the fix's js-interop layer *subtly* changed its JS output on the page (objects went from `undefined` to `null`), causing this:

* https://github.com/flutter/flutter/issues/126131 (and others)

After flutter/flutter#129032, the engine fix shouldn't be required anymore, so this PR removes it.

## Issues

* Fixes https://github.com/flutter/flutter/issues/126131 (and possibly others)

## Testing

* Manually tested with some test apps, and miscellanous JS scripts as reported by users.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-27 00:01:21 +00:00
Brandon DeRosier
083d8dd6d4 [Impeller] Fix CPU Porter-Duff blends (flutter/engine#43217)
Part of https://github.com/flutter/flutter/issues/128606.

* Fix all of the Porter-Duff blends (virtually all of the blends were
wrong). Still working on getting all of the advanced/color blends fixed
up.
* Fill in missing ops for arithmetic types/remove Vector4 conversions.
* Remove the original GeometryTest in favor of the much clearer goldens.
Once we have all of the CPU blends matching up properly with the GPU
blends, we can think about constructing a more intentional test that
covers a select number of important cases with accompanying explanation.

Top rectangles = GPU blends
Bottom rectangles = CPU blends
2023-06-26 16:37:52 -07:00
skia-flutter-autoroll
b62a3603c1 Roll Skia from c1effc01211e to 370132bcadb1 (2 revisions) (flutter/engine#43221)
https://skia.googlesource.com/skia.git/+log/c1effc01211e..370132bcadb1

2023-06-26 jvanverth@google.com Restore the correct colorspace for asyncread GMs.
2023-06-26 brianosman@google.com Add support for BGRX_8888 textures to Ganesh

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,jsimmons@google.com,nicolettep@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-06-26 23:32:09 +00:00
skia-flutter-autoroll
0dad3f0ec6 Roll Skia from 4ae209493390 to c1effc01211e (4 revisions) (flutter/engine#43218)
https://skia.googlesource.com/skia.git/+log/4ae209493390..c1effc01211e

2023-06-26 jvanverth@google.com [graphite] Add support to async_yuv_no_scale GM.
2023-06-26 kjlubick@google.com Add staging GNI filegroup
2023-06-26 robertphillips@google.com Move Device::drawImageQuadPossiblyTiled to TiledTextureUtils_Ganesh
2023-06-26 bungeman@google.com Roll FreeType from d857bd53 to e4586d96 (102 commits)

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,jsimmons@google.com,nicolettep@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-06-26 22:26:57 +00:00
Srujan Gaddam
a4ed4a8536 Refactor JSNumber.toDart and Object.toJS (flutter/engine#43149)
JSNumber.toDart will now be two functions: toDartDouble and toDartInt.
Note that some code that looks like `toDart.toInt()` was kept as
`toDartDouble.toInt()` instead of `toDartInt`, since `toDartInt` throws
if the value is not an integer.

Object.toJS is now Object.toJSBox. An actual box is introduced on all
backends now, and is unwrapped in JSBoxedDartObject.toDart. There are
many usages of toJSAnyShallow that we should modify, but that's for a
later CL.

This is to help land this CL:
https://dart-review.googlesource.com/c/sdk/+/309082

https://dart-review.googlesource.com/c/sdk/+/309081 is the CL that added
the new methods.

## 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].
- [x] All existing and new tests are passing.
2023-06-26 15:10:50 -07:00
Jonah Williams
8b6c071526 [Impeller] Treat SubOptimalKHR as rotated. (flutter/engine#43214)
If we don't follow the guidelines at https://developer.android.com/games/optimize/vulkan-prerotation , then any presentations while the screen is rotated will result in suboptimalKHR. Use a change in state across presentations from sucess -> suboptimal or suboptimal -> sucess to detect whether the swapchain needs to be recreated.

Fixes https://github.com/flutter/flutter/issues/129459 (mostly)
2023-06-26 21:34:54 +00:00
skia-flutter-autoroll
c31c3936c3 Roll Skia from 632fa401098d to 4ae209493390 (3 revisions) (flutter/engine#43212)
https://skia.googlesource.com/skia.git/+log/632fa401098d..4ae209493390

2023-06-26 brianosman@google.com Suppress divide-by-zero errors in cubic-to-quads code
2023-06-26 brianosman@google.com Suppress divide-by-zero error in SkContourMeasureIter construction
2023-06-26 nicolettep@google.com Manual roll Dawn from 8278361fbbef to cadd0c0eec3f (7 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC brianosman@google.com,jsimmons@google.com,nicolettep@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-06-26 21:14:27 +00:00
Tamir Duberstein
da738cb44d Avoid channel clone (flutter/engine#43181)
Use fdio_fd_transfer instead of fdio_fd_clone.
2023-06-26 12:04:46 -07:00
fzyzcjy
7d5a34cf72 ParagraphStyle uses the wrong bit mask (flutter/engine#43070)
For example, `_encodeParagraphStyle` says:

```dart
  if (locale != null) {
    result[0] |= 1 << 12;
    // Passed separately to native.
  }
```

We know `1<<12` is 4096.

On the other hand, the old code uses `0x800`, which is 2048.

And the strutStyle field is missing.

*Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.*

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

*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-06-26 18:58:47 +00:00
skia-flutter-autoroll
445da3df4a Roll Skia from 46dcf29e5dfe to 632fa401098d (5 revisions) (flutter/engine#43204)
https://skia.googlesource.com/skia.git/+log/46dcf29e5dfe..632fa401098d

2023-06-26 kjlubick@google.com Remove GrSurfaceCharacterization example
2023-06-26 robertphillips@google.com Split Ganesh drawImageQuad into tiling and non-tiling variants
2023-06-26 kjlubick@google.com Revert "Remove SkRuntimeEffect::makeImage"
2023-06-26 kjlubick@google.com Remove shim headers used in migrations
2023-06-26 penghuang@chromium.org Add kBGR_888X color type support for graphite dawn

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,jsimmons@google.com,nicolettep@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-06-26 17:15:52 +00:00
godofredoc
c83c6e2898 Revert "Remove master mirroring workflow." (flutter/engine#43206)
Reverts flutter/engine#42681
2023-06-26 17:12:51 +00:00
Jonah Williams
7e71a4dab9 [Impeller] opt srgb to linear into f16 (flutter/engine#43182)
Update Filter to use f16.
2023-06-26 17:11:08 +00:00
Jonah Williams
1075745251 [Impeller] use default precision specifiers. (flutter/engine#43183)
Instead of adding precision mediump float to all shaders that import types.glsl, let vertex shaders be highp by default. Opt rrect blur into highp and all other fragment shaders into mediump. For reasons I don't understand, the default for fragment shaders is being treated as highp without any specifiers.

Fixes https://github.com/flutter/flutter/issues/128284
2023-06-26 16:12:09 +00:00
skia-flutter-autoroll
1583d7a32b Roll Skia from 6d89bc1acb7e to 46dcf29e5dfe (2 revisions) (flutter/engine#43197)
https://skia.googlesource.com/skia.git/+log/6d89bc1acb7e..46dcf29e5dfe

2023-06-26 kjlubick@google.com Remove SkRuntimeEffect::makeImage
2023-06-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a276baf8372d to 5361da56b817 (3 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,jsimmons@google.com,nicolettep@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-06-26 12:59:46 +00:00
Matej Knopp
6988e291e1 Implement union and intersection for DlRegion (flutter/engine#42620)
Fixes https://github.com/flutter/flutter/issues/128412

Adds 
- `DlRegion DlRegion::MakeUnion(const Region &, const DlRegion &)`
- `DlRegion DlRegion::MakeIntersection(const Region &, const DlRegion
&)`
- `bool DlRegion::intersects(const DlRegion &)`
- `bool DlRegion::intersects(const SkIRect &)`

Instead of per span line vector all spans are stored in continuous
buffer.

Complete benchmarks:
```
-----------------------------------------------------------------------------------------------
Benchmark                                                     Time             CPU   Iterations
-----------------------------------------------------------------------------------------------
BM_DlRegion_IntersectsSingleRect/Tiny                      2688 ns         2687 ns       258580
BM_SkRegion_IntersectsSingleRect/Tiny                     85889 ns        85877 ns         8092
BM_DlRegion_IntersectsSingleRect/Small                     4814 ns         4813 ns       142874
BM_SkRegion_IntersectsSingleRect/Small                   101102 ns       101102 ns         6833
BM_DlRegion_IntersectsSingleRect/Medium                    2329 ns         2329 ns       302911
BM_SkRegion_IntersectsSingleRect/Medium                   60436 ns        60183 ns        11156
BM_DlRegion_IntersectsSingleRect/Large                     1243 ns         1243 ns       565209
BM_SkRegion_IntersectsSingleRect/Large                     2813 ns         2813 ns       252187
BM_DlRegion_IntersectsRegion/Tiny                          38.9 ns         38.9 ns     17913855
BM_SkRegion_IntersectsRegion/Tiny                           203 ns          203 ns      3480855
BM_DlRegion_IntersectsRegion/Small                          306 ns          306 ns      2295413
BM_SkRegion_IntersectsRegion/Small                         1057 ns         1057 ns       660826
BM_DlRegion_IntersectsRegion/Medium                        8.83 ns         8.83 ns     79128233
BM_SkRegion_IntersectsRegion/Medium                        43.3 ns         43.3 ns     16076912
BM_DlRegion_IntersectsRegion/Large                         6.96 ns         6.96 ns    101646676
BM_SkRegion_IntersectsRegion/Large                         31.8 ns         31.8 ns     22121517
BM_DlRegion_IntersectsRegion/TinyAsymmetric                54.2 ns         54.2 ns     12890870
BM_SkRegion_IntersectsRegion/TinyAsymmetric                4575 ns         4574 ns       155368
BM_DlRegion_IntersectsRegion/SmallAsymmetric                190 ns          189 ns      3748547
BM_SkRegion_IntersectsRegion/SmallAsymmetric               6157 ns         6157 ns       114403
BM_DlRegion_IntersectsRegion/MediumAsymmetric              20.9 ns         20.9 ns     33523941
BM_SkRegion_IntersectsRegion/MediumAsymmetric              3247 ns         3247 ns       214694
BM_DlRegion_IntersectsRegion/LargeAsymmetric               8.97 ns         8.97 ns     76827676
BM_SkRegion_IntersectsRegion/LargeAsymmetric                154 ns          154 ns      4757924
BM_DlRegion_Operation/Union_Tiny                           26.3 us         26.3 us        24534
BM_SkRegion_Operation/Union_Tiny                           37.9 us         37.9 us        17973
BM_DlRegion_Operation/Union_Small                          64.4 us         64.4 us        10657
BM_SkRegion_Operation/Union_Small                           105 us          105 us         6278
BM_DlRegion_Operation/Union_Medium                         22.0 us         22.0 us        31631
BM_SkRegion_Operation/Union_Medium                         64.8 us         64.8 us        10744
BM_DlRegion_Operation/Union_Large                          1.00 us         1.00 us       697406
BM_SkRegion_Operation/Union_Large                          1.29 us         1.29 us       547089
BM_DlRegion_Operation/Union_TinyAsymmetric                 10.3 us         10.3 us        68647
BM_SkRegion_Operation/Union_TinyAsymmetric                 20.6 us         20.6 us        33282
BM_DlRegion_Operation/Union_SmallAsymmetric                14.0 us         14.0 us        49944
BM_SkRegion_Operation/Union_SmallAsymmetric                34.4 us         34.4 us        19618
BM_DlRegion_Operation/Union_MediumAsymmetric               5.24 us         5.24 us       134097
BM_SkRegion_Operation/Union_MediumAsymmetric               12.7 us         12.7 us        55069
BM_DlRegion_Operation/Union_LargeAsymmetric               0.376 us        0.376 us      1808589
BM_SkRegion_Operation/Union_LargeAsymmetric               0.533 us        0.532 us      1283674
BM_DlRegion_Operation/Intersection_Tiny                    8.13 us         8.13 us        87199
BM_SkRegion_Operation/Intersection_Tiny                    31.8 us         31.8 us        21864
BM_DlRegion_Operation/Intersection_Small                   55.9 us         55.9 us        11888
BM_SkRegion_Operation/Intersection_Small                   98.4 us         98.3 us         6963
BM_DlRegion_Operation/Intersection_Medium                  40.0 us         40.0 us        17667
BM_SkRegion_Operation/Intersection_Medium                  69.8 us         69.8 us         9910
BM_DlRegion_Operation/Intersection_Large                   1.06 us         1.06 us       650957
BM_SkRegion_Operation/Intersection_Large                   1.26 us         1.26 us       559624
BM_DlRegion_Operation/Intersection_TinyAsymmetric          2.62 us         2.62 us       264565
BM_SkRegion_Operation/Intersection_TinyAsymmetric          15.3 us         15.3 us        45528
BM_DlRegion_Operation/Intersection_SmallAsymmetric         7.15 us         7.15 us        93482
BM_SkRegion_Operation/Intersection_SmallAsymmetric         27.5 us         27.5 us        24450
BM_DlRegion_Operation/Intersection_MediumAsymmetric        2.95 us         2.95 us       235133
BM_SkRegion_Operation/Intersection_MediumAsymmetric        10.5 us         10.5 us        65925
BM_DlRegion_Operation/Intersection_LargeAsymmetric        0.165 us        0.165 us      4016433
BM_SkRegion_Operation/Intersection_LargeAsymmetric        0.409 us        0.409 us      1719716
BM_DlRegion_Operation/Intersection_SingleRect_Tiny        0.105 us        0.105 us      7403099
BM_SkRegion_Operation/Intersection_SingleRect_Tiny         10.8 us         10.8 us        64185
BM_DlRegion_Operation/Intersection_SingleRect_Small       0.410 us        0.410 us      1724524
BM_SkRegion_Operation/Intersection_SingleRect_Small        16.2 us         16.2 us        43707
BM_DlRegion_Operation/Intersection_SingleRect_Medium      0.458 us        0.458 us      1540049
BM_SkRegion_Operation/Intersection_SingleRect_Medium       7.54 us         7.54 us        93407
BM_DlRegion_Operation/Intersection_SingleRect_Large       0.175 us        0.175 us      3984926
BM_SkRegion_Operation/Intersection_SingleRect_Large       0.351 us        0.351 us      1931946
BM_DlRegion_FromRects/Tiny                                  154 us          154 us         4383
BM_SkRegion_FromRects/Tiny                                69429 us        69419 us           10
BM_DlRegion_FromRects/Small                                 369 us          369 us         1932
BM_SkRegion_FromRects/Small                              117584 us       117578 us            6
BM_DlRegion_FromRects/Medium                                475 us          475 us         1477
BM_SkRegion_FromRects/Medium                              21611 us        21610 us           33
BM_DlRegion_FromRects/Large                                1329 us         1329 us          533
BM_SkRegion_FromRects/Large                                1409 us         1409 us          501
BM_DlRegion_GetRects/Tiny                                  39.2 us         39.2 us        18030
BM_SkRegion_GetRects/Tiny                                  84.2 us         84.2 us         9971
BM_DlRegion_GetRects/Small                                 88.9 us         88.9 us         7873
BM_SkRegion_GetRects/Small                                  212 us          212 us         3598
BM_DlRegion_GetRects/Medium                               0.845 us        0.813 us       881224
BM_SkRegion_GetRects/Medium                                3.10 us         3.09 us       223483
BM_DlRegion_GetRects/Large                                0.120 us        0.120 us      5954761
BM_SkRegion_GetRects/Large                                0.337 us        0.336 us      2068656
```

## 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.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-06-26 12:08:44 +02:00
skia-flutter-autoroll
d6248ee508 Roll Skia from a20d58872fbe to 5ea08db08587 (1 revision) (flutter/engine#43193)
https://skia.googlesource.com/skia.git/+log/a20d58872fbe..5ea08db08587

2023-06-26 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 74755bf0105b to 64063dd24912 (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 brianosman@google.com,jsimmons@google.com,nicolettep@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-06-26 06:19:08 +00:00
Robert Ancell
2e4569257b Allow event channels to reuse names (flutter/engine#41837)
https://github.com/flutter/flutter/issues/126209

## 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-06-26 14:05:34 +12:00
Brandon DeRosier
c85223dc95 [Impeller] Supply surface cull rect for Vulkan & GLES dispatchers (flutter/engine#43152)
Similar to Metal, have the DL cull entities early that lie entirely
outside the surface texture.
2023-06-24 15:46:14 -07:00
Brandon DeRosier
03816b412c [Impeller] Disable blending for Source blend mode (flutter/engine#43162)
All of the backends already respect this property for the first color
attachment in the pipeline. ~~Our Vulkan backend disables blending for a
whole pipeline if the first color attachment has blending turned off.~~
This has been under our nose but I haven't checked it until now.

HSR might not be working on some Vulkan & OpenGLES drivers because of
this.
2023-06-24 10:30:12 -07:00