Jonah Williams
02591dca4d
[Impeller] fix missing assignment of embedder render target. ( flutter/engine#42630 )
...
Otherwise we can't render ð
2023-06-07 19:57:57 +00:00
Jonah Williams
50626db959
[Impeller] Add buffer to texture blit for Vulkan. ( flutter/engine#41706 )
...
Work towards https://github.com/flutter/flutter/issues/123468
In order to support the usage of BufferView, I generalized the tracked buffer type from DeviceBuffer to Buffer. Should be mostly safe!
I confirmed that this runs correctly under moltenvk but I'm uncertain if there are additional ways to validate.
2023-06-07 19:32:48 +00:00
Chris Bracken
e7a44a64a7
[macOS] Add platformview creation parameter support ( flutter/engine#42607 )
...
Previously, when creating native platform views on macOS, we ignored any parameters passed via the framework side "params" argument in the "create" method call, and instead always passed a nil value to the FlutterPlatformViewFactory. This made it impossible for users of macOS platform views to pass constructor arguments to the NSView subclass implementing the platform view.
We now decode the arguments data using the codec specified by the `FlutterPlatformViewFactory` and pass them through to the `[FlutterPlatformViewFactory createWithIdentifier:arguments:]` method where the platform view author can make use of them.
Fixes: https://github.com/flutter/flutter/issues/124723
This is a part of the broader macOS platform view support effort: https://github.com/flutter/flutter/issues/41722
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-07 19:16:56 +00:00
gaaclarke
01f6db8882
[Impeller] Added a switch to turn on vulkan ( flutter/engine#42585 )
...
fixes https://github.com/flutter/flutter/issues/128286
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-07 19:08:04 +00:00
Jackson Gardner
6fdcec7af7
Bump Chrome version to 114 for testing ( flutter/engine#42623 )
2023-06-07 17:55:20 +00:00
skia-flutter-autoroll
aaad533dda
Roll Skia from d607cbb0db78 to 773765ca1dd2 (7 revisions) ( flutter/engine#42624 )
...
https://skia.googlesource.com/skia.git/+log/d607cbb0db78..773765ca1dd2
2023-06-07 drott@chromium.org [Fontations] Support makeClone() for variations
2023-06-07 johnstiles@google.com Demonstrate function-parameter assignment issue in unit test.
2023-06-07 johnstiles@google.com Add unit tests to WGSL that rely on dead-return synthesis.
2023-06-07 johnstiles@google.com Add trailing `return` to functions that lack an unconditional return.
2023-06-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from c520912239f0 to 5c35de42bbc6 (2 revisions)
2023-06-07 johnstiles@google.com Fix test disable for OutParamsDoubleSwizzle.
2023-06-07 kjlubick@google.com Remove some spaces from the gainmap sksl
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC borenet@google.com ,brianosman@google.com,jacksongardner@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-07 17:43:26 +00:00
J-P Nurmi
42b7de838e
[Linux][a11y] implement AtkText::get_text/string_at_offset() ( flutter/engine#38144 )
...
This PR implements `AtkText::get_string_at_offset()` (and the deprecated `AtkText::get_text_at_offset()` still used by e.g. Orca) for `FlAccessibleTextField` to allow Orca to read out loud the current character while moving the text cursor around.
### Before (unmute to hear the screen reader)
[textfield-a11y-before.webm](https://user-images.githubusercontent.com/140617/206556644-fb4f4df8-acca-4d97-86d5-7120f0a4871d.webm )
### After (unmute to hear the screen reader)
[textfield-a11y-after.webm](https://user-images.githubusercontent.com/140617/206556678-4fbf9112-291e-4518-a258-e9ca33469430.webm )
Fixes : flutter/flutter#113049
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-07 17:18:04 +00:00
skia-flutter-autoroll
c69ef0e6e7
Roll Skia from ee90e9ae2e62 to d607cbb0db78 (1 revision) ( flutter/engine#42618 )
...
https://skia.googlesource.com/skia.git/+log/ee90e9ae2e62..d607cbb0db78
2023-06-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from b8f3bbf465f8 to b54c2bdc9713 (10 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 borenet@google.com ,brianosman@google.com,jacksongardner@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-07 14:53:23 +00:00
Tong Mu
fdadd4c99e
Revert "[Android] Return keyboard pressed state" ( flutter/engine#42616 )
...
Reverts flutter/engine#41695 due to internal bug report b/284945818.
cc @bleroux let's investigate some day.
2023-06-07 01:38:45 -07:00
skia-flutter-autoroll
a7ba47faac
Roll Fuchsia Linux SDK from lpbkSRJBMkPs0FM7_... to sEHtHM1iFt79roP-x... ( flutter/engine#42613 )
...
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC jacksongardner@google.com ,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2023-06-07 07:20:25 +00:00
Brandon DeRosier
72a1fea6e2
[Impeller] Reland 2: Add Impeller Metal support in the embedder API ( #42411 ) ( flutter/engine#42597 )
...
This reverts commit
8d6f091751
+ fixes bugs.
Reworked the surface wrapping to use a valid descriptor when wrapping
the drawable.
2023-06-06 23:02:02 -07:00
skia-flutter-autoroll
0974bef6df
Roll Skia from 521b8c4bb011 to a01f49f539ab (4 revisions) ( flutter/engine#42608 )
...
https://skia.googlesource.com/skia.git/+log/521b8c4bb011..a01f49f539ab
2023-06-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 521ddd00b973 to c520912239f0 (4 revisions)
2023-06-06 johnstiles@google.com Allow WGSL code with warnings to compile successfully.
2023-06-06 johnstiles@google.com Change WGSL indentation level to 2 spaces.
2023-06-06 johnstiles@google.com Add WGSL support for do-while loops.
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 borenet@google.com ,brianosman@google.com,jacksongardner@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-07 05:05:05 +00:00
skia-flutter-autoroll
306354e4a2
Roll Skia from cef18d10b363 to 521b8c4bb011 (1 revision) ( flutter/engine#42605 )
...
https://skia.googlesource.com/skia.git/+log/cef18d10b363..521b8c4bb011
2023-06-06 robertphillips@google.com Revert "Add unit test for large images"
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 borenet@google.com ,brianosman@google.com,jacksongardner@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-07 03:08:49 +00:00
Jason Simmons
92064621b7
Convert pixel formats for animated PNG frames using the source blend mode ( flutter/engine#42581 )
...
The destination buffer format may not exactly match the source format. In particular, the alpha type of the source may need to be converted to the alpha type of the destination.
Fixes https://github.com/flutter/flutter/issues/128102
2023-06-07 00:02:03 +00:00
skia-flutter-autoroll
a30e718193
Roll Skia from 4065e92bf577 to cef18d10b363 (18 revisions) ( flutter/engine#42600 )
...
https://skia.googlesource.com/skia.git/+log/4065e92bf577..cef18d10b363
2023-06-06 robertphillips@google.com Add unit test for large images
2023-06-06 johnstiles@google.com Rename OutParamsTricky to OutParamsDoubleSwizzle.
2023-06-06 herb@google.com Do not return infinities as roots
2023-06-06 cmumford@google.com Revert "[infra] temporarily remove RadeonHD8870M-x86_64-Debug-All-Graphite_Metal from CQ"
2023-06-06 johnstiles@google.com Remove out-param helper functions from WGSL.
2023-06-06 rmistry@google.com Revert "Whitespace change to test GitWatcher"
2023-06-06 cmumford@google.com Revert "[infra] temp remove Release-All-Graphite_Metal from CQ"
2023-06-06 johnstiles@google.com Fix ternary paren-handling code.
2023-06-06 michaelludwig@google.com Revert "Rename ColorTable in public.bzl"
2023-06-06 kjlubick@google.com Remove old GrRectanizer file
2023-06-06 kjlubick@google.com Rename ColorTable in public.bzl
2023-06-06 johnstiles@google.com Remove special case for inverse-hyperbolic intrinsic tests.
2023-06-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 3c250b5ab450 to 521ddd00b973 (1 revision)
2023-06-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from b8f3bbf465f8 to 0daeddfa6f24
2023-06-06 drott@chromium.org [Fontations] Variations support for fontations backend
2023-06-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 4ff41604e769 to 721c15efaa70 (3 revisions)
2023-06-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from ac4876bcdcc3 to b8f3bbf465f8 (9 revisions)
2023-06-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from f44e26b8163c to 3e5c6411ba05 (11 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 borenet@google.com ,brianosman@google.com,jacksongardner@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-06 22:02:19 +00:00
Mouad Debbar
1574da58fb
[web] Remove /#/ from home page URL ( flutter/engine#42598 )
...
To make the `HashUrlStrategy` a bit cleaner (at least for the home page), let's get rid of the notorious `/#/` when the app is in the home page.
Non-home pages continue to have a hash in them. After this PR, here are some example URL changes:
- `http://domain.com/#/ ` => `http://domain.com/ `
- `http://domain.com/#/page1 ` => (remains the same)
This change is backwards compatible, i.e. if you write `http://domain.com/#/ ` in the address bar, the app will load and open the home page correctly; and flutter will automatically change the URL to `http://domain.com/ `.
Fixes https://github.com/flutter/flutter/issues/127608
2023-06-06 21:33:34 +00:00
Casey Hillers
1baefb4e90
[labeler] Add engine workflow ( flutter/engine#42566 )
...
https://github.com/flutter/flutter/issues/126002
2023-06-06 19:39:40 +00:00
Jackson Gardner
1f3fc87375
Use proper sampling options in Skwasm's drawAtlas. ( flutter/engine#42595 )
...
Make Skwasm consistent with the CanvasKit backend's sampling options in `drawAtlas`. Also, fix the atlas rendering tests so the sprites don't bleed into each other.
2023-06-06 18:23:54 +00:00
Zachary Anderson
8d6f091751
Revert "[Impeller] Reland: Add Impeller Metal support in the embedder API ( #42411 )" ( flutter/engine#42593 )
...
Reverts flutter/engine#42545
Not sure if this is needed, but getting a revert started for the
regression noted here:
https://github.com/flutter/engine/pull/42545#issuecomment-1579034704 .
2023-06-06 10:57:57 -07:00
Zachary Anderson
a4677d34f6
Fix raster cache optional value check logic ( flutter/engine#42592 )
...
Possible fix for https://github.com/flutter/flutter/issues/128308
2023-06-06 09:35:50 -07:00
ColdPaleLight
ef42a7d173
[Impeller] Fix the rendering issue when the tile mode of gradient is set to 'decal' ( flutter/engine#42591 )
...
fix issue https://github.com/flutter/flutter/issues/128327
without patch

with patch

2023-06-06 16:31:17 +00:00
skia-flutter-autoroll
a208719197
Roll Skia from e8a71c76b88f to 4065e92bf577 (1 revision) ( flutter/engine#42587 )
...
https://skia.googlesource.com/skia.git/+log/e8a71c76b88f..4065e92bf577
2023-06-06 michaelludwig@google.com Add SkColorTable to share memory for SkColorFilters::Table
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 borenet@google.com ,brianosman@google.com,jonahwilliams@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-06 16:28:30 +00:00
skia-flutter-autoroll
3235ab593e
Roll Fuchsia Linux SDK from vAwdggqMrL1yoH_Zn... to lpbkSRJBMkPs0FM7_... ( flutter/engine#42590 )
...
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 jonahwilliams@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-06 16:27:52 +00:00
ColdPaleLight
56a384d9da
[Impeller] Make conical gradient work as expected ( flutter/engine#42567 )
...
fix https://github.com/flutter/flutter/issues/128012
In many instances (https://github.com/flutter/flutter/issues/128012#issuecomment-1577029031 ), the current implementation of conical gradient in impeller produces incorrect results. This pull request proposes to migrate the conical gradient algorithm from skia to impeller.
Please see ddf987d2ab/src/sksl/sksl_graphite_frag.sksl (L541-L666)
Test result

2023-06-06 03:55:39 +00:00
Matej Knopp
5ef190cc5c
[macOS] Force clipping to path when platform view clip rect is rotated ( flutter/engine#42539 )
...
Normally when platform view is clipped to a simple rect we rely on
clipping to container layer bounds. However when the clip rect is
rotated the container layer is expanded accordingly and clipping to path
must be used instead.
Fixes https://github.com/flutter/flutter/issues/128175
2023-06-05 18:14:16 -07:00
skia-flutter-autoroll
c4ebcfb931
Roll Skia from 7db361be474b to e8a71c76b88f (4 revisions) ( flutter/engine#42582 )
...
https://skia.googlesource.com/skia.git/+log/7db361be474b..e8a71c76b88f
2023-06-05 johnstiles@google.com Remove compound-constructor helper functions from WGSL.
2023-06-05 johnstiles@google.com Remove mat2-to-vec4-cast helper function from WGSL.
2023-06-05 johnstiles@google.com Remove matrix-resize helper functions from WGSL.
2023-06-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 0dbc9230a24f to 3c250b5ab450 (1 revision)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC borenet@google.com ,brianosman@google.com,jonahwilliams@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-06 00:06:22 +00:00
Michael Goderbauer
bb8e656444
Remove onSemanticsAction ( flutter/engine#42579 )
...
Follow-up to https://github.com/flutter/engine/pull/42493 .
The framework has been migrated to the new onSemanticsActionEvent callback.
2023-06-05 23:12:53 +00:00
godofredoc
e421d5485a
Use the arm64 dsymutil on Mac M1 machines ( flutter/engine#42533 )
...
Use the right binary architectures on scripts running dsymutil.
This is to fix the problem of bad architecture binary for builds running on dart internal: https://github.com/flutter/flutter/issues/128098
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-05 22:12:13 +00:00
skia-flutter-autoroll
5af0dd3985
Roll Skia from a226cfbd6cc7 to 7db361be474b (14 revisions) ( flutter/engine#42578 )
...
https://skia.googlesource.com/skia.git/+log/a226cfbd6cc7..7db361be474b
2023-06-05 herb@google.com Use the new quadratic root code in RootsReal
2023-06-05 armansito@google.com [graphite][compute] Crude size reduction for vello bump buffers
2023-06-05 armansito@google.com [graphite][compute] Minor VelloScene changes for atlasing
2023-06-05 ccameron@chromium.org SkGainmapInfo: Include Adobe Gain Map license notice
2023-06-05 cmumford@google.com [infra] bump Radeon Vega drivers to 1002:1636-31.0.14057.5006
2023-06-05 johnstiles@google.com Remove matrix-equality helper functions from WGSL.
2023-06-05 johnstiles@google.com Remove diagonal-matrix helper functions from WGSL.
2023-06-05 michaelludwig@google.com Rename src/codec/SkColorTable to src/codec/SkColorPalette
2023-06-05 johnstiles@google.com Add WGSL support for break, continue, and nop statements.
2023-06-05 kjlubick@google.com Make SkShaders a namespace and move SkPerlinNoiseShader functions into it
2023-06-05 michaelludwig@google.com [skif] Apply decal at layer resolution
2023-06-05 kjlubick@google.com Enforce IWYU on GrBackendSurface and reduce inclusions of it in headers
2023-06-05 rmistry@google.com Whitespace change to test GitWatcher
2023-06-05 johnstiles@google.com Implement WGSL support for swizzled lvalues.
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 borenet@google.com ,brianosman@google.com,jonahwilliams@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-05 22:04:49 +00:00
Brandon DeRosier
fba5e2b514
[Impeller] Reland: Add Impeller Metal support in the embedder API ( #42411 ) ( flutter/engine#42545 )
...
This reverts commit
45dd178414 .
Original PR: https://github.com/flutter/engine/pull/42411
Part of https://github.com/flutter/flutter/issues/112230 .
2023-06-05 14:51:43 -07:00
Casey Hillers
e730874b21
Run dependabot in off peak hours ( flutter/engine#42572 )
...
https://github.com/flutter/flutter/issues/126002
2023-06-05 20:48:22 +00:00
Jim Graham
5cdf77f921
fix bounds of inverted rendered rectangles ( flutter/engine#42556 )
...
Fixes: https://github.com/flutter/flutter/issues/128159
In diagnosing test failures for https://github.com/flutter/engine/pull/42330 we discovered that the DisplayList code was not always backwards compatible with computing the bounds of inverted rectangles (where left > right or top > bottom). Historically such rectangles were always rendered as if they were sorted (i.e. `SkRect::makeSorted()`), but we computed bounds as if the bounds only mattered if the supplied rectangle was ordered. So, we would sometimes render a rectangle for which we mis-computed the bounds.
This would rarely surface in the current code as most rendered rectangles would pass through `SkMatrix::mapRect()` which implicitly orders the rectangle as it transforms it, but any attributes applied to the bounds before that method may have been applied "in the wrong direction" - such as:
- stroke width padding
- mask blur padding
- image filter padding
2023-06-05 18:53:04 +00:00
Kevin Lubick
0f09000dea
Add missing #include of SkCFObject.h ( flutter/engine#42573 )
...
Another follow-on to http://review.skia.org/704942 which removed some
#includes that Flutter had been transitively depending on.
Note that SkCFObject is mac-only, so I included it the appropriate
#ifdef in embedder.cc, but the other two files are already mac-only so
they do not need that guard.
## 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].
- [ ] 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.
- [ ] 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-05 14:44:46 -04:00
Matej Knopp
eb1f10ea00
Improve getting non-overlapping rectangles from RTree ( flutter/engine#42399 )
...
Fixes https://github.com/flutter/flutter/issues/116070
Fixes https://github.com/flutter/flutter/issues/126202
Introduces `DlRegion` class which implements subset of `SkRegion`
required to get non-overlapping rectangles from region.
The implementation is different and faster than `SkRegion` for this
particular use-case (`display_list_region_benchmarks`):
Edit: Updated benchmark to latest revision and natively (initial run
went through rosetta)
```
----------------------------------------------------------------------------
Benchmark Time CPU Iterations
----------------------------------------------------------------------------
BM_RegionBenchmarkDlRegion/Tiny 616 us 616 us 908
BM_RegionBenchmarkSkRegion/Tiny 70559 us 70557 us 10
BM_RegionBenchmarkDlRegion/Small 1315 us 1314 us 537
BM_RegionBenchmarkSkRegion/Small 121736 us 121717 us 6
BM_RegionBenchmarkDlRegion/Medium 1079 us 1079 us 650
BM_RegionBenchmarkSkRegion/Medium 22039 us 22035 us 32
BM_RegionBenchmarkDlRegion/Large 399 us 399 us 1763
BM_RegionBenchmarkSkRegion/Large 1510 us 1510 us 466
```
## 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-05 20:41:21 +02:00
Matej Knopp
72876573ef
Fix clang tidy error and crash ( flutter/engine#42564 )
...
Clang tidy checks for https://github.com/flutter/engine/pull/42399 are
failing for `formats_mtl.mm` and `context_mtl.mm`. Weirdly this happens
even though none of these files where modified in the branch.
For `context_mtl.mm` the fix is straightforward, just a missing
`std::move`.
For `formats_mtl.mm` clang-tidy actually crashes on the assignments to
`des.depthCompareFunction` and `des.depth_write_enabled`. The crash
doesn't happen if the assignment is done through a temporary variable.
I'm not sure if we should have a workaround for the crash or disable
clang-tidy on the file completely (FLUTTER_NOLINT).
## 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-05 19:37:12 +02:00
skia-flutter-autoroll
b9dbdc4c9d
Roll Fuchsia Linux SDK from gp1k1agqxQIz0oTXV... to vAwdggqMrL1yoH_Zn... ( flutter/engine#42570 )
...
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 jonahwilliams@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-05 16:54:50 +00:00
Zachary Anderson
7230cf065f
Revert Dart SDK to 3.1.0-163.0.dev for branch alignment ( flutter/engine#42569 )
...
3.1.0-163.0.dev is the most recent version in g3 that has successfully
rolled to the framework. This PR rolls the engine back to this last
known good version of Dart.
2023-06-05 09:34:28 -07:00
Zachary Anderson
af94169054
Check more optional accesses ( flutter/engine#42528 )
...
Related https://github.com/flutter/flutter/issues/127701
2023-06-05 08:38:32 -07:00
Kevin Lubick
14d8bae027
Add missing includes of GrBackendSurface.h ( flutter/engine#42563 )
...
In https://skia-review.googlesource.com/c/skia/+/704942 , Skia removed
some unnecessary #includes which parts of Flutter had been depending on
implicitly. This adds those includes in explicitly.
## 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].
- [ ] 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.
- [ ] 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-05 10:32:41 -04:00
dependabot[bot]
c93b82ec3b
Bump github/codeql-action from 2.3.5 to 2.3.6 ( flutter/engine#42561 )
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 2.3.5 to 2.3.6.
<details>
<summary>Commits</summary>
<ul>
<li><a href="83f0fe6c49 "><code>83f0fe6</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/1713 ">#1713</a> from github/update-v2.3.6-96f284028</li>
<li><a href="5c8f4be0e9 "><code>5c8f4be</code></a> Update changelog for v2.3.6</li>
<li><a href="96f2840282 "><code>96f2840</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/1711 ">#1711</a> from github/henrymercer/improve-supported-versions-u...</li>
<li><a href="89c4c9e65c "><code>89c4c9e</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/1678 ">#1678</a> from github/henrymercer/default-setup-safeguarding</li>
<li><a href="26f16a5e63 "><code>26f16a5</code></a> Rephrase the still supported calculation to make it clearer</li>
<li><a href="955f8596ae "><code>955f859</code></a> Fix sign error</li>
<li><a href="e7cff66ce1 "><code>e7cff66</code></a> Fix push</li>
<li><a href="afdba76326 "><code>afdba76</code></a> Wait a week before dropping support for end of life GHES versions</li>
<li><a href="07e43a2208 "><code>07e43a2</code></a> Open PR with gh CLI</li>
<li><a href="9632771630 "><code>9632771</code></a> Address review comments</li>
<li>Additional commits viewable in <a href="0225834cc5...83f0fe6c49 ">compare view</a></li>
</ul>
</details>
<br />
[](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-06-05 10:13:07 +00:00
skia-flutter-autoroll
0622ce60c5
Roll Skia from 210ad9cde42b to a10e944601cf (3 revisions) ( flutter/engine#42560 )
...
https://skia.googlesource.com/skia.git/+log/210ad9cde42b..a10e944601cf
2023-06-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 1a1ee2126222 to 4ff41604e769 (6 revisions)
2023-06-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 4dbecc7c97a2 to ac4876bcdcc3 (10 revisions)
2023-06-05 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from ef390b9d1236 to f44e26b8163c (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 borenet@google.com ,brianosman@google.com,jonahwilliams@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-05 09:09:10 +00:00
skia-flutter-autoroll
a81c2bf3e4
Roll Fuchsia Linux SDK from Bb9z8SjSCzRN6SVee... to 839LDf0p1Q4wyszA5... ( flutter/engine#42544 )
...
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 jonahwilliams@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-04 07:06:48 +00:00
skia-flutter-autoroll
7df51d8c82
Roll Skia from 0e80a97ccee3 to 611132d6ab8c (2 revisions) ( flutter/engine#42542 )
...
https://skia.googlesource.com/skia.git/+log/0e80a97ccee3..611132d6ab8c
2023-06-03 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 29695c7318da to 040f7d085c7f (2 revisions)
2023-06-03 johnstiles@google.com Fix WGSL global-variable initialization.
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 ,jonahwilliams@google.com,rmistry@google.com,robertphillips@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-03 22:52:19 +00:00
skia-flutter-autoroll
f96d8f46cd
Roll Skia from 98da8d7a299d to 0e80a97ccee3 (1 revision) ( flutter/engine#42541 )
...
https://skia.googlesource.com/skia.git/+log/98da8d7a299d..0e80a97ccee3
2023-06-03 johnstiles@google.com Add WGSL support for comma-expressions.
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 ,jonahwilliams@google.com,rmistry@google.com,robertphillips@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-03 19:44:09 +00:00
skia-flutter-autoroll
777270efe7
Roll Fuchsia Linux SDK from VtLnfLmVda1_h1AtM... to Bb9z8SjSCzRN6SVee... ( flutter/engine#42538 )
...
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 jonahwilliams@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-03 14:28:07 +00:00
skia-flutter-autoroll
a9856b98af
Roll Skia from daf2219fec54 to 656de7fc6994 (23 revisions) ( flutter/engine#42534 )
...
https://skia.googlesource.com/skia.git/+log/daf2219fec54..656de7fc6994
2023-06-02 johnstiles@google.com Revert "Allow trivial non-constant expressions to use SpvOpSelect."
2023-06-02 johnstiles@google.com Add WGSL support for indexed-swizzle lvalues.
2023-06-02 johnstiles@google.com Implement WGSL vector-component lvalues.
2023-06-02 michaelludwig@google.com [skif] Consolidate mapping/layerspace code
2023-06-02 cmumford@google.com [infra] Change RadeonVega6 version to 1002:1636-31.0.12027.9001
2023-06-02 johnstiles@google.com Allow trivial non-constant expressions to use SpvOpSelect.
2023-06-02 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from d39a400f98d7 to ef390b9d1236 (5 revisions)
2023-06-02 johnstiles@google.com Implement WGSL index- and field-access lvalues.
2023-06-02 jvanverth@google.com [graphite] Check for Vulkan depth-stencil support before initSampleCounts.
2023-06-02 johnstiles@google.com Add LValue class to WGSL code generator.
2023-06-02 cmumford@google.com [infra] temp remove Release-All-Graphite_Metal from CQ
2023-06-02 herb@google.com Add a low level quadratic root solver
2023-06-02 herb@google.com Handle subnormal properly in close_to_linear
2023-06-02 drott@chromium.org [Fontations] Roll Fontations
2023-06-02 jvanverth@google.com [graphite] Add PromiseTextureFromYUVA
2023-06-02 jvanverth@google.com [graphite] Remove redundant Image constructor to match Image_YUVA.
2023-06-02 jvanverth@google.com [graphite] Add Vulkan "renderpass" tracking
2023-06-02 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from b9c50f622521 to 41f544a49cb1 (5 revisions)
2023-06-02 jvanverth@google.com [graphite] Add Vulkan support for bindDrawBuffers().
2023-06-02 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll ANGLE from 0ea8e55a6f06 to 1a1ee2126222 (3 revisions)
2023-06-02 brianosman@google.com SkVx: Go back to memcpy, rather than sk_unaligned_store
2023-06-02 jamesgk@google.com Add ignore rule for BlendRequiringDstReadWithLargeCoordinates on Mali400
2023-06-02 bungeman@google.com Update gn_to_cmake.py for Python 3
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 ,jonahwilliams@google.com,rmistry@google.com,robertphillips@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-03 04:05:50 +00:00
Brandon DeRosier
45dd178414
Revert "[Impeller] Add Impeller Metal support in the embedder API ( #42411 )" ( flutter/engine#42532 )
...
This reverts commit 666563a5544cf2a98a51c6b24e7bc03e265eedb0.
Expected to resolve https://github.com/flutter/flutter/issues/128145
2023-06-02 18:11:00 -07:00
Jonah Williams
567f166b13
[Impeller] Fix 1-d grid computation for compute ( flutter/engine#42516 )
...
Note that the 2d grid case is still incorrect. Consider: the grid size should be the number of compute units required, but the threadgroup size is a minimum number of compute units.
If I need to process a 50x50 image, I should be able to set a grid size of 50x50. Since the minimum threadgroup size is probably bigger (say 1024), this should turn into one dispatch of size (1, 1, 1). However with the current implementation, we will make a dispatch of (50, 50, 1), which essentially squares the amount of work - doing one thread group per unit of compute.
The correct implementation for 2d compute should take the mod of each grid dimension with the threadgroup size in that dimension. I did not fix this case as we do not have a use for 2d compute yet.
2023-06-03 00:04:04 +00:00
skia-flutter-autoroll
6a05401418
Roll Fuchsia Linux SDK from PuYA-6NVHeHPlkCdk... to VtLnfLmVda1_h1AtM... ( flutter/engine#42529 )
...
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 jonahwilliams@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-02 23:43:09 +00:00
Chris Bracken
49e25a2dee
[macOS] Top-left origin for PlatformView container ( flutter/engine#42523 )
...
For consistency with Flutter (and all other platforms), Flutter views in the macOS embedder set `isFlipped` to ensure a co-ordinate system with the origin in the top-left, with y co-ordinates increasing towards the bottom edge of the view.
Previously, we were using a stock NSView as the container, which uses a bottom-left origin by default. Instead we extract the PlatformView container view as its own class with `isFlipped` true.
This doesn't correct the issue of the view anchorpoint/position but does correct rotation direction.
This also applies the transform back to origin prior to other transforms when adjusting the platformview position rather than after.
Issue: https://github.com/flutter/flutter/issues/124490
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-02 23:35:43 +00:00