37844 Commits

Author SHA1 Message Date
skia-flutter-autoroll
d7bbc0f302 Roll Dart SDK from 7af8c4882e07 to eda9ae15367e (2 revisions) (flutter/engine#55417)
https://dart.googlesource.com/sdk.git/+log/7af8c4882e07..eda9ae15367e

2024-09-25 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-276.0.dev
2024-09-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-275.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-25 02:04:04 +00:00
Brandon DeRosier
e496b1ed26 [Flutter GPU] Add CullMode. (flutter/engine#55409)
Part of https://github.com/flutter/flutter/issues/155636.

New golden `flutter_gpu_test_cull_mode` will draw a red triangle if the CullMode isn't working:
![flutter_gpu_test_cull_mode](https://github.com/user-attachments/assets/cbdf804e-1608-4352-9aa1-d5d9223f3c1a)
2024-09-25 00:52:11 +00:00
skia-flutter-autoroll
9f1cee211c Roll Skia from 2e92f0b443f4 to 3541cdf2fae6 (1 revision) (flutter/engine#55412)
https://skia.googlesource.com/skia.git/+log/2e92f0b443f4..3541cdf2fae6

2024-09-24 bungeman@google.com [pdf] Give up on embedding CFF

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-25 00:38:00 +00:00
Jonah Williams
79e371517d [Impeller] fix Impeller on windows. (flutter/engine#55323)
Fixes https://github.com/flutter/flutter/issues/141482

Since the introduction of the flutter compositor, the windows embedder will create an offscreen framebuffer and then blit this to the onscreen framebuffer. Therefore, the onscreen framebuffer should not be constructed as a multisample framebuffer - and the EGL config can match skia.

Also cleans up selection of the impeller PixelFormat, which might not have matched the selected compositor format because it was hardcoded to RGBA_8888
2024-09-24 23:38:52 +00:00
Jonah Williams
dd7948b2fe [Impeller] add basic culling checks during text frame dispatcher. (flutter/engine#55168)
Fixes https://github.com/flutter/flutter/issues/155133

Dl dispatching still relies on cull rects computed during that dispatch process. Make sure that the text frame dispatcher doesn't populate text frames that are way offscreen.

This culling is more conservative than the rendering dispatcher. We'd need to do some refactoring so the logic isn't repeated multiple times.
2024-09-24 23:37:06 +00:00
Matan Lurey
d68ee6e60e Move each dart GN rule to a standalone file. (flutter/engine#55404)
We plan to add more rules in the near future, i.e. `dart_executable`, `dart_test`.

It would be nice to have a several thousand line scary file, and a few smaller, somewhat less scary, files.

_At a meta level, part of https://github.com/flutter/flutter/issues/147013._
2024-09-24 23:27:12 +00:00
skia-flutter-autoroll
3ead22b7fc Roll Skia from 118914b760cb to 2e92f0b443f4 (1 revision) (flutter/engine#55406)
https://skia.googlesource.com/skia.git/+log/118914b760cb..2e92f0b443f4

2024-09-24 alecmouri@google.com Update BRD to support getAndroidGainmap

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-24 23:12:22 +00:00
Jonah Williams
4d64108247 [Impeller] Pack impeller:Path into 2 vecs instead of 3. (flutter/engine#55028)
This better aligns impeller::Path with how Skia::Path works, and probably gives us a route to a faster Skia path to Impeller::Path conversion (since dart:ui Path will be a Skia path for a long time).

We used 3 vectors to separately store:
1. Path points
2. Path Verbs
3. Path contours (index lookups for contour starts).

This gave us almost O(1) access for path points based on the verb. However, we don't ever actually use the lookup except for in tests. In all real scenarios we iterate through all path verbs, which means this iterators can simply increment the offset into the path points array. Finally, we can store the contour information in the path points array as well by representing the bool is_closed with another Point value :) (for easier alignment).
2024-09-24 23:00:54 +00:00
John McDole
14caa2fe19 Disallow time traveling frame times (flutter/engine#55310)
Address bad developer experience in
https://github.com/flutter/flutter/issues/106277

Leave as an error log and hope for more repro reports


```mermaid
sequenceDiagram
  Animator ->> Animator: AwaitVSync
  Animator ->> VsyncWaiter: AsyncWaitForVsync(callback)
  VsyncWaiter -> VsyncWaiterAndroid: AwaitVSync
  note over VsyncWaiterAndroid: GetUITaskRunner
  VsyncWaiterAndroid -> Choreographer: PostFrameCallback
  Choreographer -> NDK: AChoreographer_postFrameCallback64
  note over Choreographer,NDK: The time that the frame is being<br/>rendered as nanoseconds in the <br/>CLOCK_MONOTONIC time base
  NDK --> Choreographer: callback(nanos)
  Choreographer -> VsyncWaiterAndroid: callback
  note over VsyncWaiterAndroid: // Rollback suspicion<br/>if (frame_time > now) frame_time = now;
  VsyncWaiterAndroid -> VsyncWaiterAndroid: OnVsyncFromNDK(frame_nanos)
  VsyncWaiterAndroid -> VsyncWaiter: FireCallback(\n  frame_start_time,\n  target_time)
  VsyncWaiter -> Animator: callback(frame_timings_recorder)

  Animator -> Animator: BeginFrame(frame_timings_recorder)
  Animator -> Shell: OnAnimatorBeginFrame
  Shell -> Engine: BeginFrame(frame_time, frame_number)
  Engine -> RuntimeController: BeginFrame(frame_time, frame_number)
  RuntimeController -> PlatformConfiguration: BeginFrame(frame_time, frame_number)
  PlatformConfiguration -> hooks.dart: begin_frame_
```
2024-09-24 15:33:45 -07:00
Jason Simmons
d333cf4224 [Impeller] Delete command pools held by the CommandPoolRecyclerVK after decoding an image on the IO thread (flutter/engine#55398)
In the Vulkan backend, the CommandPoolRecyclerVK stores command pools that can be reused while rendering a frame.  For each frame, SurfaceContextVK::AcquireNextSurface calls CommandPoolRecyclerVK::Dispose to clear the cached pools.

However, the CommandPoolRecyclerVK's cache of pools is placed in thread-local storage.  So command pools used on the IO thread will not be cleaned up if frame rendering calls Dispose on the raster thread.

This PR adds a Context API that the IO thread can call after using a command pool in order to ensure that cached resources are disposed.

Fixes https://github.com/flutter/flutter/issues/155519
2024-09-24 22:16:37 +00:00
skia-flutter-autoroll
d8edec8449 Roll Skia from cf28f9dd411d to 118914b760cb (1 revision) (flutter/engine#55405)
https://skia.googlesource.com/skia.git/+log/cf28f9dd411d..118914b760cb

2024-09-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ab526a2539cd to 3368b0fc9442 (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 bdero@google.com,brianosman@google.com,bungeman@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-24 21:34:14 +00:00
Brandon DeRosier
c4514370d7 [Flutter GPU] Add pipeline stencil config. (flutter/engine#55272)
Also adds a golden that depends on https://github.com/flutter/engine/pull/55270.
Resolves https://github.com/flutter/flutter/issues/142731.

Allow setting the stencil compare function, pass/fail operations, and read/write masks.

Flutter GPU has light "shader object" style programs, so all of the stencil configuration state can be set on the `RenderPass` at any time.

New simple golden that exercises stencil ops:
![flutter_gpu_test_triangle_stencil](https://github.com/user-attachments/assets/acc98cd9-41fc-4988-97a2-afb898a8fc0c)
2024-09-24 21:26:29 +00:00
skia-flutter-autoroll
2e633e3f30 Roll Skia from 6e5ff9253147 to cf28f9dd411d (1 revision) (flutter/engine#55399)
https://skia.googlesource.com/skia.git/+log/6e5ff9253147..cf28f9dd411d

2024-09-24 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 4f0cdf482175 to 77184aa49df6 (8 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 bdero@google.com,brianosman@google.com,bungeman@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-24 20:14:52 +00:00
Jonah Williams
6cc61132fa [Impeller] delete expensive trace event. (flutter/engine#55400)
The trace event in the blit pass is firing potentially hundreds of times per frame when we incremental update the glyph atlas. This takes significantly more time than the blit itself.
2024-09-24 20:10:56 +00:00
Harry Terkelsen
81f281b72d Revert "[canvaskit] Further improve overlay optimization by splitting pictures" (flutter/engine#55401)
Reverts flutter/engine#54878

Crashes on real example app with many platform views
2024-09-24 13:06:08 -07:00
Harry Terkelsen
31cde4f8d3 [canvaskit] Further improve overlay optimization by splitting pictures (flutter/engine#54878)
This enhances the overlay optimization by delaying combining pictures to get tighter bounds for the pictures that make up the scene, enabling more sophisticated optimization since we can determine if they intersect with platform views on a per-picture basis.

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

On a Macbook in Chrome in an example app with an infinite scrolling grid of platform views, this brings the ratio of dropped frames from 93% to 55% (roughly 4 fps to 30 fps).

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-24 19:39:10 +00:00
Jonah Williams
a800331240 [Impeller] fix OES texture usage. (flutter/engine#55331)
Fixes https://github.com/flutter/flutter/issues/141636 by ensuring that oes textures create a tiled texture contents. This needs a real test though. probably an intergration test with camera.
2024-09-24 19:25:04 +00:00
skia-flutter-autoroll
2c82447739 Roll Dart SDK from 24ed9af6a961 to 7af8c4882e07 (1 revision) (flutter/engine#55397)
https://dart.googlesource.com/sdk.git/+log/24ed9af6a961..7af8c4882e07

2024-09-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-274.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-24 18:53:16 +00:00
Mahmut Taşkıran
92cc1aac8a Add a check for the surface if it is valid (flutter/engine#55277)
Fixes an issue where the Surface is not valid and the `draw` method is crashing.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-24 18:43:06 +00:00
Brandon DeRosier
7242297f80 [Flutter GPU] Add setStencilReference to RenderPass. (flutter/engine#55270) 2024-09-24 11:27:25 -07:00
Jonah Williams
428565f27a [Impeller] finish wiring up external textures for macOS embedder. (flutter/engine#55347)
Fixes https://github.com/flutter/flutter/issues/135898

Note that the macOS embedder is still using the apple texture cache object from the SkiaMetalContext. it can't initialize an equivalent ImpellerMetalContext without creating a second copy of the content context and all that jazz, so I'm leaving that as is for now.
2024-09-24 18:26:51 +00:00
gaaclarke
fe5be148d8 Added assert for host buffer allocation. (flutter/engine#55395)
fixes https://github.com/flutter/flutter/issues/155555

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-24 17:33:36 +00:00
skia-flutter-autoroll
d14216802d Roll Skia from 3cdb1850e24c to 6e5ff9253147 (1 revision) (flutter/engine#55394)
https://skia.googlesource.com/skia.git/+log/3cdb1850e24c..6e5ff9253147

2024-09-24 jamesgk@google.com [graphite] Dynamically size buffer allocations

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-24 16:24:23 +00:00
zijiehe@
cbaf3f8fbc [Fuchsia] Remove deprecated and unnecessary parameters from fuchsia*archive (flutter/engine#55324)
This is a precondition to use more high-level templates in fuchsia-gn-sdk to replace build rules in flutter.
Meanwhile fuchsia-gn-sdk does not use pm anymore and this change is also helpful to get rid of the use of pm.

Briefly, it removes all cmx_file parameters and avoids specifying duplicated parameters (binary / target_name / default cml file).

Bug: http://b/353729557, http://b/40935282

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-24 15:44:56 +00:00
Mouad Debbar
d99ff74d1a [web] Fix keyboard not showing up when iOS input has decoration text (flutter/engine#55152)
In certain situations, semantics elements get assigned `pointer-events: none` when they aren't supposed to.

One such situation is when a text field has a [decoration error text](https://api.flutter.dev/flutter/material/InputDecoration/errorText.html). The semantics node become a container, and we always set `pointer-events: none` on container nodes.

This PR introduces an `acceptsPointerEvents` getter on `SemanticRole` and `SemanticBehavior` to control when `pointer-events` should be `all` or `none`.

Fixes https://github.com/flutter/flutter/issues/141975
2024-09-24 15:03:00 +00:00
skia-flutter-autoroll
845eb2cf79 Roll Skia from cffb3d74282a to 3cdb1850e24c (1 revision) (flutter/engine#55391)
https://skia.googlesource.com/skia.git/+log/cffb3d74282a..3cdb1850e24c

2024-09-24 robertphillips@google.com Readd mipmap sharpening control to GrContextOptions

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-24 14:54:26 +00:00
skia-flutter-autoroll
be7af42655 Roll Dart SDK from 07fd0b51a4a6 to 24ed9af6a961 (1 revision) (flutter/engine#55390)
https://dart.googlesource.com/sdk.git/+log/07fd0b51a4a6..24ed9af6a961

2024-09-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-273.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-24 14:27:10 +00:00
skia-flutter-autoroll
5504748258 Roll Dart SDK from 29dabfa9d635 to 07fd0b51a4a6 (1 revision) (flutter/engine#55387)
https://dart.googlesource.com/sdk.git/+log/29dabfa9d635..07fd0b51a4a6

2024-09-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-272.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-24 10:18:41 +00:00
skia-flutter-autoroll
cabfbe4a68 Roll Skia from 80ea638c60a8 to cffb3d74282a (8 revisions) (flutter/engine#55386)
https://skia.googlesource.com/skia.git/+log/80ea638c60a8..cffb3d74282a

2024-09-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 1e74ce33a56c to b563ede4e672 (5 revisions)
2024-09-24 drott@chromium.org [Fontations] Prune subtrees in COLRv1 bounds computation
2024-09-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 685cc1e1e3d5 to ab526a2539cd (5 revisions)
2024-09-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skottie-base from 2814735474b8 to b1e534c0b156
2024-09-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 803ff2bdaf8e to 4f0cdf482175 (7 revisions)
2024-09-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll shaders-base from 0417970a971e to 50fae2cd87dc
2024-09-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll jsfiddle-base from dadc8978c6e9 to 38bd0b71717f
2024-09-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-base from ebfa46371f66 to c48a419da832

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-24 08:31:18 +00:00
skia-flutter-autoroll
a34179563d Roll Skia from 7b0669f89aef to 80ea638c60a8 (1 revision) (flutter/engine#55383)
https://skia.googlesource.com/skia.git/+log/7b0669f89aef..80ea638c60a8

2024-09-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from a2950260d0fb to b6f29eefb704 (5 revisions)

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-24 06:13:06 +00:00
skia-flutter-autoroll
8fa5a96269 Roll Dart SDK from 419aef963b5a to 29dabfa9d635 (1 revision) (flutter/engine#55382)
https://dart.googlesource.com/sdk.git/+log/419aef963b5a..29dabfa9d635

2024-09-24 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.6.0-271.0.dev

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-24 06:05:04 +00:00
skia-flutter-autoroll
12be4e8974 Roll Fuchsia GN SDK from ALNKvSVWQSpw1uxPy... to em2Jr5ylJrKKI86rU... (flutter/engine#55379)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-gn-sdk-flutter-engine
Please CC chinmaygarde@google.com,chrome-fuchsia-engprod@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-24 05:21:16 +00:00
skia-flutter-autoroll
9c5dfd03bf Roll Fuchsia Test Scripts from 5dqcFlKzRjJb6V95W... to Itifj1g1iG3RWRIzM... (flutter/engine#55380)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-test-scripts-flutter-engine
Please CC chinmaygarde@google.com,chrome-fuchsia-engprod@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-24 05:17:23 +00:00
Robert Ancell
53b8ece3c8 Use GTask integer return APIs and fix documentation on return value on error. (flutter/engine#55353) 2024-09-24 13:25:15 +12:00
skia-flutter-autoroll
ab030d2c39 Roll Skia from 7174ab7a984d to 7b0669f89aef (1 revision) (flutter/engine#55371)
https://skia.googlesource.com/skia.git/+log/7174ab7a984d..7b0669f89aef

2024-09-23 bungeman@google.com Android NDK SkFontMgr

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-23 22:50:05 +00:00
Jonah Williams
4f041d3da3 [Impeller] Fix GLES gaussian implementation. (flutter/engine#55329)
Fixes https://github.com/flutter/flutter/issues/142355

problems: no uniform structs, no int uniforms, buffer bindings dont work when the struct type doesn't match the uniform name 😓
2024-09-23 22:07:24 +00:00
gaaclarke
164c50b500 Made YAML version of vscode workspace to avoid redundancy (flutter/engine#55322)
In https://github.com/flutter/engine/pull/55291 we added a vscode workspace to help with running tests and sharing settings.  However, VSCode does not support a config format that has the ability to reduce redundancy and it will get quite unwieldy as we add in all of the engines test runners.  To combat that I've added instead a YAML config that can converted to JSON for VSCode.

This also adds 2 more test runners: display_list_unittests and impeller_golden_tests

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-23 21:24:05 +00:00
skia-flutter-autoroll
9a97bc3e77 Roll Skia from acb93a9f241f to 7174ab7a984d (6 revisions) (flutter/engine#55369)
https://skia.googlesource.com/skia.git/+log/acb93a9f241f..7174ab7a984d

2024-09-23 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from da2fa97fb603 to 803ff2bdaf8e (6 revisions)
2024-09-23 bungeman@google.com Implement SkTypeface_fontconfig::onGetKerningPairAdjustments
2024-09-23 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from c50de8d86157 to da2fa97fb603 (6 revisions)
2024-09-23 jvanverth@google.com Revert "[graphite] Add updated purge() method to DrawAtlas."
2024-09-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 54e834b2bf55 to 685cc1e1e3d5 (3 revisions)
2024-09-23 jvanverth@google.com Revert "[graphite] Increase delay before we purge plots in DrawAtlas."

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-23 21:20:24 +00:00
Jonah Williams
ed4555fc0b [Impeller] add triangle fan support and remove drawVertices copying. (flutter/engine#55236)
Vulkan and GLES backends support triangle fans, so only "un-fan" these geometries when necessary. Now that dispatch gives the vertices geometry as a shared_ptr, we can hold onto that directly without performing another copy.
2024-09-23 19:21:01 +00:00
Jason Simmons
ddbf1fa2b9 Copy Dart SDK vm_shared sources into the sky_engine package (flutter/engine#55158)
Fixes https://github.com/flutter/flutter/issues/151171
2024-09-23 18:41:46 +00:00
Jonah Williams
d3235504c1 [Impeller] use BufferSubData to update gles device buffer. (flutter/engine#55330)
Measures as substantially faster on windows. See the bufferSubData docs:

> When replacing the entire data store, consider using glBufferSubData rather than completely recreating the data store with glBufferData. This avoids the cost of reallocating the data store.

Tracks invalidated ranges and only updates those ranges using the Flush API.

Fixes https://github.com/flutter/flutter/issues/104447
2024-09-23 18:40:08 +00:00
Jonah Williams
4b1e309dbe [Impeller] remove usage of VBB when allocating vertices of a fixed size. (flutter/engine#55235)
The VertexBufferBuilder (VBB) always does a heap allocation of its vertices before copying them into the host buffer. This is unecessary when uploading a fixed set of vertices, like many filters do. Instead create a helper function that uploads from a  std::array. In most cases this is the same or less code.

We could go template madness to emplace directly but that doesnt seem necessary.
2024-09-23 18:40:05 +00:00
zijiehe@
44d801da6e [fuchsia] Update fuchsia instruction in Compiling-the-engine.md (flutter/engine#55365)
Behavior of `gclient config --custom-var` got changed, modifying the instruction to edit the raw `.gclient` file to avoid unexpected gclient behavior.

Rich diff: https://github.com/flutter/engine/pull/55365/files?short_path=355a854#diff-355a854159c6f6da4e4e296d0cceb1e7e32ef26af1598aa6cdfaafbdbc656b57
Or rendered md: b375b805f9/docs/contributing/Compiling-the-engine.md (compiling-for-fuchsia)

Bug: http://b/368770157

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-23 18:27:04 +00:00
Jonah Williams
7e62bd4a14 [iOS] sprinkle some null checks on BringLayersIntoView. (flutter/engine#55334)
A user reported hitting a null check error in this code. Add some null checks.
2024-09-23 18:19:12 +00:00
gaaclarke
9f66178386 Reland: Update Color to do all calculations with floating point components (flutter/engine#55231)
Reason for revert: Broke customer tests
Reland depends on https://github.com/flutter/flutter/issues/155113

This transforms the rest of Color to use the floating point parameters.  This will likely break existing tests very subtly.  For example, colors will be slightly different in golden tests if `lerp` was ever used.

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

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-23 17:43:52 +00:00
skia-flutter-autoroll
eae1ed7b92 Roll Skia from c20cce6273fb to acb93a9f241f (2 revisions) (flutter/engine#55361)
https://skia.googlesource.com/skia.git/+log/c20cce6273fb..acb93a9f241f

2024-09-23 jvanverth@google.com [graphite] Adjust rrect clipping to better match Ganesh.
2024-09-23 jvanverth@google.com Revert "[graphite] Bump purge flush count up to 8."

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-23 16:58:41 +00:00
Jenn Magder
e94959852e Remove Linux orchestrator builds that only kick off one other build and wait (flutter/engine#55186)
"Orchestrator" builders are top-level builds that can perform some caching, kick off "drone" sub-builds, and then do things with those build artifacts like run tests, or "generators" that do work on those artifacts.  See more details in https://flutter.dev/go/engine-build-definition-language.

Some orchestrators in [`ci/builders`](a2faed00c7/ci/builders) _only_ kick off one sub-build.  This is suboptimal because:
1. The orchestrator uses a bot that does nothing except essentially idle.
2. The orchestrator has some overhead, so the orchestrator + single drone sub-build takes longer than just the sub-build run alone.
3. The "drone" sub-build often has a generic name like "Linux Engine Drone" which makes it difficult to keep track of which build is which.

This PR:
1. Hoists a few of these Linux builds into [`ci/builders/standalone`](a2faed00c7/ci/builders/standalone) which are run as individual builds, and removes the orchestrator.  
2. Swaps the recipe from `engine_v2/engine_v2` (orchestrator) to `engine_v2/builder` (standalone).  
3. Moves the `drone_dimensions` from the orchestrator build json into .ci.yaml.

| Builder    | Before | After |
| -------- | ------- | ------- |
| `Linux clangd`  | [9m & 2 Linux bots](https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20clangd/6272/overview)  ([drone build](https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20Engine%20Drone/2689993/overview))  | [6m & 1 Linux bot](https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20clangd/6292/overview) |
| `Linux linux_android_emulator_skia_tests_34`  | [29m & 2 Linux bots](https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20linux_android_emulator_skia_tests_34/663/overview) ([drone build](https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20Engine%20Drone/2690008/overview))  | [25m & 1 Linux bot](https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20linux_android_emulator_skia_tests_34/678/overview) |

Part of https://github.com/flutter/flutter/issues/155041

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-09-23 16:27:54 +00:00
skia-flutter-autoroll
5bccb6f4d3 Roll Skia from a402d3c60c16 to c20cce6273fb (1 revision) (flutter/engine#55359)
https://skia.googlesource.com/skia.git/+log/a402d3c60c16..c20cce6273fb

2024-09-23 drott@chromium.org Simplify SkRect from SkIRect construction in DW ScalerContext

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

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-23 15:40:24 +00:00
skia-flutter-autoroll
25bcfd921c Roll Skia from 864aadba7862 to a402d3c60c16 (1 revision) (flutter/engine#55356)
https://skia.googlesource.com/skia.git/+log/864aadba7862..a402d3c60c16

2024-09-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from b682d8102f5c to 1e74ce33a56c (15 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,bungeman@google.com,chinmaygarde@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-23 08:25:05 +00:00
skia-flutter-autoroll
87515309e4 Roll Skia from ec0ed4afabf4 to 864aadba7862 (2 revisions) (flutter/engine#55354)
https://skia.googlesource.com/skia.git/+log/ec0ed4afabf4..864aadba7862

2024-09-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 2f8a3a248b77 to a2950260d0fb (6 revisions)
2024-09-23 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from f4340f83b2e5 to c50de8d86157 (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,bungeman@google.com,chinmaygarde@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-09-23 06:40:20 +00:00