Jim Graham
d04690cbe0
[Impeller] Add Rect::GetNormalizingTransform to handle UV coordinate conversion ( flutter/engine#47775 )
...
Three places in the code were manually computing the UV coordinates relative to a texture coverage rectangle while also transforming the points. This change will make it easier both to compute the UV conversion matrix and also to consolidate it with the transform that was already being applied to streamline the total computations.
2023-11-08 04:37:19 +00:00
Yegor
1aecccf6c5
[web] fix clicks on merged semantic nodes (attempt #2 ) ( flutter/engine#47360 )
...
This relands https://github.com/flutter/engine/pull/43620 with a fix for nested tappable nodes. The first PR introduced this regression: https://github.com/flutter/flutter/issues/134842 .
This PR includes the original PR and a fix for the regression. The fix is to call `stopPropagation` on the "click" event so that it is not handled by the ancestor if the child has already decided to send a `SemanticsAction.tap` to the framework. This ensures that there cannot be more than one `SemanticsAction.tap` sent to the framework.
Fixes https://github.com/flutter/flutter/issues/134842
2023-11-08 04:23:05 +00:00
skia-flutter-autoroll
37d07dd14e
Roll Skia from 0f78e5f765d3 to b4fa927468e6 (1 revision) ( flutter/engine#47788 )
...
https://skia.googlesource.com/skia.git/+log/0f78e5f765d3..b4fa927468e6
2023-11-08 sunnyps@chromium.org graphite: Fixes for enabling storage buffers for Dawn backend
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,fmalita@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
2023-11-08 03:19:12 +00:00
Jia Hao
2156a17b9a
Fix narrowing conversion lint ( flutter/engine#47740 )
...
Internally we have a lint that surfaces this as a warning. Googlers, please refer to go/al-rule/NarrowingConversion.
Related: b/309552840
When we do:
```
coords.toolMajor = (float) (double) coordsList.get(3) * density;
```
`coordsList.get(3)` is casted to a `double`, then a `float`, before the multiplication happens.
I don't think this is intentional. The intention of the code here seems to be:
- Cast to a `double`: `coordsList` is a `List<Object>` so the cast narrows the value
- Cast to a `float`: To fit the resulting value into [`coords.toolMajor`](https://developer.android.com/reference/android/view/MotionEvent.PointerCoords#toolMajor ), which is a `float`.
As such, add parenthesis to address this.
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-08 01:41:25 +00:00
Chris Bracken
7a923cd1d9
[macOS] Bail out of tests if engine not running ( flutter/engine#47771 )
...
In engine tests where we require a running engine to proceed with the
test, immediately fail if the engine isn't running rather than carrying
on with the test. In most cases, the fixture test proceeds to block the
main thread on a latch until it's released from the UI thread, so this
results in quicker test failures.
## 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 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
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[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-11-07 17:27:14 -08:00
Chris Bracken
229331bcff
[testing] Extract StreamCapture test utility ( flutter/engine#47774 )
...
Factors out an RAII-based class that can be used to capture std::cout, std::cerr, or technically any other std::ostream, though that's unlikely to be useful.
This makes the logic reusable but more importantly, ensures the capture is cleaned up at the end of the test.
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-08 01:18:16 +00:00
auto-submit[bot]
b82cf7549f
Reverts "Promote fuchsia build v2 to prod." ( flutter/engine#47779 )
...
Reverts flutter/engine#47729
Initiated by: bdero
This change reverts the following previous change:
Original Description:
The current failure in staging is because the service account does not have write access to the release bucket.
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-08 01:04:18 +00:00
Alexander Aprelev
62c7eb298f
Include updated locations for dart third_party components into license ignore-list. ( flutter/engine#47770 )
...
Incoming dart roll with
https://dart.googlesource.com/sdk/+/4d308f39115a2969fb9908055b37a93969d4fc8d
moves `runtime/third_parry` in dart to `third_party`, so license script
ignore-list have to be updated to accommodate new location.
Once the roll lands, old locations should be cleaned up from the
ignore-list.
2023-11-07 16:37:59 -08:00
skia-flutter-autoroll
6933a28f56
Roll Skia from 030e21befbc9 to f91d39395e85 (6 revisions) ( flutter/engine#47769 )
...
https://skia.googlesource.com/skia.git/+log/030e21befbc9..f91d39395e85
2023-11-07 jvanverth@google.com Fix colorspace transform with multitexture color text.
2023-11-07 nscobie@google.com Revert "Migrate many direct and indirect uses of SkFontMgr to use TestFontMgr"
2023-11-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from e98bb78ac013 to 4da518531bee
2023-11-07 egdaniel@google.com [Graphite] Add support for SkTraceMemoryDump for gpu Resources.
2023-11-07 michaelludwig@google.com [graphite] Skip calling getMostRecentDraw() for draws that don't need it for sorting
2023-11-07 kjlubick@google.com Migrate many direct and indirect uses of SkFontMgr to use TestFontMgr
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,fmalita@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
2023-11-07 22:24:55 +00:00
Chinmay Garde
9e7b63b085
[Impeller] Support static thread safety analysis with condition variables. ( flutter/engine#47763 )
...
Fixes https://github.com/flutter/flutter/issues/134843
2023-11-07 21:27:43 +00:00
godofredoc
5f8dd1ed6d
Promote fuchsia build v2 to prod. ( flutter/engine#47729 )
...
The current failure in staging is because the service account does not have write access to the release bucket.
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-07 21:27:42 +00:00
Loïc Sharma
9b3d3b0231
[Windows] Reduce warnings produced by unit tests ( flutter/engine#47724 )
...
This PR contains no functional changes but improves existing unit tests to reduce the number of warnings output when the tests are ran:
1. Replaced `ON_CALL` with `EXPECT_CALL` for expected method calls
2. Added some missing mocks
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-07 21:13:33 +00:00
Jim Graham
9a968220c3
[Impeller] Make IsEmpty methods on Rect and Size NaN-aware ( flutter/engine#47725 )
...
Removes unused or redundant overloads and fixes the IsEmpty method on Size to be both simpler (2 comparisons vs. 4) and NaN-aware. Rect automatically uses the new code via delegation to the Size object.
2023-11-07 21:10:13 +00:00
auto-submit[bot]
57780e74c3
Reverts "[Impeller] Add support for specialization constants redux." ( flutter/engine#47762 )
...
Reverts flutter/engine#47678
Initiated by: jonahwilliams
This change reverts the following previous change:
Original Description:
Reland of https://github.com/flutter/engine/pull/47432
Also includes:
* https://github.com/flutter/engine/pull/47617
* https://github.com/flutter/engine/pull/47637
Fixes the performance on iOS by removing blocking on compilation of shaders. From local testing this has identical before/after numbers. Additional, ensures that we don't unecessarily specialize vertex shaders and notes this restriction in the documentation.
----
Adds support for Specialization constants to Impeller for our usage in the engine. A motivating example has been added in the impeller markdown docs.
Fixes https://github.com/flutter/flutter/issues/136210
Fixes https://github.com/flutter/flutter/issues/119357
2023-11-07 20:44:36 +00:00
gaaclarke
aab5af3615
[Impeller] added tests for matrices ( flutter/engine#47754 )
...
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-07 19:39:40 +00:00
Chris Yang
5c12a78db9
[ios] making objective-C smart pointers support ARC ( flutter/engine#47612 )
...
Moving the implementation from https://codereview.chromium.org/1855483004 into the code base, including:
- scoped_nsobject, scoped_nsprotocol, scoped_block will support both mrc and arc
- Added parent class scoped_typeref for shared code between scoped_block and scoped_nsobject
- moving OwnershipPolicy to its own file
The implementation of the smart pointers are almost identical to https://codereview.chromium.org/1855483004 besides some syntax preference differences between chromium and flutter.
This PR also migrated [VsyncWaiterIosTest.mm](https://github.com/flutter/engine/pull/47612/files#diff-c98ce1a2aca65c29bbc444523b66921a53ecce5ff39a420b4eda7dbfe8ca1cc7 ) to ARC with scoped_nsobject
fixes https://github.com/flutter/flutter/issues/137802
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-07 19:25:45 +00:00
Zachary Anderson
e24e3b5746
Don't use Skia BUILD.gn files ( flutter/engine#47677 )
...
The new `BUILD.gn` files in the Engine tree can't go under
`build/secondary` because Skia still has its own, and they'd be selected
first. So, this PR puts the new `BUILD.gn` files under `flutter/skia`.
2023-11-07 11:12:29 -08:00
Jonah Williams
2a4a3ec9ea
[Impeller] Add support for specialization constants redux. ( flutter/engine#47678 )
...
Reland of https://github.com/flutter/engine/pull/47432
Also includes:
* https://github.com/flutter/engine/pull/47617
* https://github.com/flutter/engine/pull/47637
Fixes the performance on iOS by removing blocking on compilation of shaders. From local testing this has identical before/after numbers. Additional, ensures that we don't unecessarily specialize vertex shaders and notes this restriction in the documentation.
----
Adds support for Specialization constants to Impeller for our usage in the engine. A motivating example has been added in the impeller markdown docs.
Fixes https://github.com/flutter/flutter/issues/136210
Fixes https://github.com/flutter/flutter/issues/119357
2023-11-07 19:08:48 +00:00
skia-flutter-autoroll
9ed9f17fab
Roll Skia from 51b8c1cc715a to 62fc1374cc5d (1 revision) ( flutter/engine#47755 )
...
https://skia.googlesource.com/skia.git/+log/51b8c1cc715a..62fc1374cc5d
2023-11-07 michaelludwig@google.com [graphite] Add upper bound to grid size for Grid/HybridBoundsManagers
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,fmalita@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
2023-11-07 18:54:46 +00:00
skia-flutter-autoroll
439f0f1500
Roll Skia from 058145c1e5b5 to 51b8c1cc715a (1 revision) ( flutter/engine#47752 )
...
https://skia.googlesource.com/skia.git/+log/058145c1e5b5..51b8c1cc715a
2023-11-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skcms from e9cc5993398f to b60ffc00fe5c (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 bdero@google.com ,brianosman@google.com,fmalita@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
2023-11-07 17:36:17 +00:00
skia-flutter-autoroll
487526647b
Roll Skia from 3ac7216f1f6d to 71d865c5211e (1 revision) ( flutter/engine#47746 )
...
https://skia.googlesource.com/skia.git/+log/3ac7216f1f6d..71d865c5211e
2023-11-07 johnstiles@google.com Fix skcms roll issues with IWYU.
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,fmalita@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
2023-11-07 14:18:31 +00:00
skia-flutter-autoroll
a9d8eb25ad
Roll Fuchsia Linux SDK from NaQb_BU6PSbKXSAoU... to VcFEJiUUTYwkhEAlJ... ( flutter/engine#47745 )
...
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 bdero@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://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
2023-11-07 13:53:13 +00:00
Jia Hao
847c0f704b
Fix ImmutableEnum lint ( flutter/engine#47739 )
...
This was introduced in https://github.com/flutter/engine/pull/47315 . Internally, this lint breaks the build with the following error:
```
shell/platform/android/io/flutter/embedding/android/KeyData.java:78: Error: DeviceType is an enum, which should be immutable, but field DeviceType.value is not final [ImmutableEnum]
private long value;
~~~~~~~~~~~~~~~~~~~
```
See also https://errorprone.info/bugpattern/ImmutableEnumChecker .
Fixes: b/309552840
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-07 07:21:23 +00:00
skia-flutter-autoroll
28407c40c1
Roll Skia from 7e3119240ae4 to 9106e374e08d (1 revision) ( flutter/engine#47732 )
...
https://skia.googlesource.com/skia.git/+log/7e3119240ae4..9106e374e08d
2023-11-07 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skcms from 42030a771244 to e9cc5993398f (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 ,fmalita@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://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
2023-11-07 02:15:24 +00:00
skia-flutter-autoroll
81659b67b0
Roll Fuchsia Linux SDK from _vGlgDiKOrtlKrZAP... to NaQb_BU6PSbKXSAoU... ( flutter/engine#47728 )
...
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC rmistry@google.com ,zra@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://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
2023-11-07 01:00:35 +00:00
skia-flutter-autoroll
ac472b8e62
Roll Skia from bd5f57c9bd1a to 7e3119240ae4 (10 revisions) ( flutter/engine#47726 )
...
https://skia.googlesource.com/skia.git/+log/bd5f57c9bd1a..7e3119240ae4
2023-11-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 122ddb782c61 to 8390e1121511 (1 revision)
2023-11-06 jamesgk@google.com [ganesh] Fix dashed circle calculations near 2*pi
2023-11-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-base from 1747ffa9b114 to 78b8bb631267
2023-11-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SK Tool from f9ad0db84cbc to e98bb78ac013
2023-11-06 drott@chromium.org [Fontations] Roll Fontations libraries
2023-11-06 ccameron@chromium.org SkExif: Add support for common tags
2023-11-06 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update SKP version
2023-11-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skcms from d0d3db899486 to 42030a771244 (2 revisions)
2023-11-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll skottie-base from f97385e8c26a to 65712802736e
2023-11-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll shaders-base from 445a3a5c87f5 to acfbe8ab8855
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 ,fmalita@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://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
2023-11-07 00:39:03 +00:00
Greg Spencer
0f880e9200
Add KeyEventDeviceType to KeyData ( flutter/engine#47315 )
...
## Description
Before we deprecate the `RawKeyEvent` code, it needs to provide parity in functionality. One thing that is missing is the `eventSource` field from the `RawKeyEventDataAndroid` class, which provides the device type for the event.
See https://developer.android.com/reference/android/view/InputDevice#SOURCE_KEYBOARD for an example.
This PR implements that support, and sets the source to `KeyEventDeviceType.keyboard` for platforms that don't provide this information. The main thing it does is add the enum `KeyEventDeviceType`, and a new field `KeyData.deviceType`.
## Related Issues
- https://github.com/flutter/flutter/issues/136419
## Tests
- Updated tests to also read/write/verify this property.
2023-11-06 22:58:24 +00:00
skia-flutter-autoroll
3b8f3d0ba6
Roll Skia from 2b218381e226 to bd5f57c9bd1a (2 revisions) ( flutter/engine#47719 )
...
https://skia.googlesource.com/skia.git/+log/2b218381e226..bd5f57c9bd1a
2023-11-06 fmalita@chromium.org [skottie] Use the specified locale for font iteration
2023-11-06 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 558f0dfed768 to 46e9e4cbfdfc (21 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 ,fmalita@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://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
2023-11-06 22:27:12 +00:00
skia-flutter-autoroll
2487dc7a72
Roll Skia from 77aeee3b81a5 to 2b218381e226 (1 revision) ( flutter/engine#47715 )
...
https://skia.googlesource.com/skia.git/+log/77aeee3b81a5..2b218381e226
2023-11-06 egdaniel@google.com Check for failed buffer creation before removing scratch key.
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 ,fmalita@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://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
2023-11-06 21:14:16 +00:00
gaaclarke
441b71872c
[Impeller] scales blur coverage to match rendered output ( flutter/engine#47621 )
...
in pursuit of: https://github.com/flutter/flutter/issues/131580
I'm starting to write tests for the new blur, but I wanted to make tests for the old blur to make sure I understood the coverage rules. I decided to check this in separately while I work on the other blur.
Even though the goal is to delete this class eventually. Most of this work transfers over to the new blur.
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-06 19:56:30 +00:00
Jonah Williams
f821ed1550
[Impeller] Fix EntityPassTarget::Flip with implict MSAA. ( flutter/engine#47701 )
...
This allows backdrop filters to work with GLES and MSAA.
The swap implementation was only swapping out the resolve texture. But with implicit msaa resolve, the resolve texture and msaa texture are the same - so both need to be swapped.
Fixes https://github.com/flutter/flutter/issues/137301
2023-11-06 18:56:07 +00:00
Jonah Williams
5d563c9e54
[Impeller] fix drawVertices dest fast path to apply alpha. ( flutter/engine#47695 )
...
Part of https://github.com/flutter/flutter/issues/118914
When drawing vertices with a destination blend mode, we need to make sure to forward any alpha component. I introduced some test helpers to allow verification of recorded cmds without goldens.
2023-11-06 16:26:04 +00:00
Zachary Anderson
2431498922
Move some Dart packages to //flutter/third_party/pkg ( flutter/engine#47654 )
...
As part of eliminating the Flutter buildroot
(https://github.com/flutter/flutter/issues/67373 ), we are moving all
third-party dependencies from //third_party to //flutter/third_party.
Once all third-party dependencies have been migrated, tooling and config
will be moved and the buildroot will be eliminated altogether.
No tests changed because there is no semantic change to this PR. This is
simply relocating a dependency.
2023-11-06 06:59:27 -08:00
Martin Kustermann
4455e224e9
Fix FFI-based tonic layer to use proper C++ static_cast<>()s ( flutter/engine#47644 )
...
Flutter makes use of C++ multiple inheritence in it's C++ classes that
have corresponding Dart objects attached. An example is e.g.
```
class Canvas : public RefCountedDartWrappable<Canvas>, DisplayListOpFlags { }
template <typename T>
class RefCountedDartWrappable : public fml::RefCountedThreadSafe<T>,
public tonic::DartWrappable { }
```
When a C++ class has multiple base classes, the C++ compiler has the
liberty to decide the order in which they get layed out in memory. (It
doesn't necessarily follow declaration order, in fact it has a
preference for having classes with
vtables before classes without vtables.)
Two casts to consider (with multiple inheritance in mind):
* upcasts: Those are done by C++ automatically but can modify the actual
address (i.e. pointer value)
* downcasts: Those have to be done with `static_cast<>()`, which can
also modify the address (i.e. pointer value) - using
`reinterpret_cast<>()` is incorrect (as it doesn't modify the address)
Now the Dart objects that refer to C++ objects have a native field in
them. The value of that field is a `tonic::DartWrappable*`. That means
whenever we convert between the C++ object pointer (e.g.
`flutter::Canvas*`) and the value of the native field
(`tonic::Wrappable*`) the actual address / pointer may need
modification.
There were bugs in the C FFI based tonic layer: Pointer values coming
from Dart (via C FFI) are `dart::Wrappable*` and not pointers to
subtypes.
=> For methods we type the first parameter in tonic trampolines as
`dart::Wrappable*` and `static_cast<Class*>()` that value
=> Similarly for arguments, the parameter has to be typed as
`dart::Wrappable*` and `static_cast<Class*>()` that value
How did it ever work? Well it happens to be that the C++ compiler
decided to layout `tonic::DartWrappable` before
`fml::RefCountedThreadSafe`, making the `tonic::DartWrappable*` and the
`flutter::Canvas*` (and other classes) have the same pointer value.
=> This worked due to implementation choice of C++ compiler.
=> This breaks immediately if one decided to add another base class
(with virtual methods) to `RefCountedDartWrappable`
2023-11-06 11:07:55 +01:00
skia-flutter-autoroll
04491eb694
Roll Dart SDK from b9ae53ac4663 to 96664852accc (1 revision) ( flutter/engine#47692 )
...
https://dart.googlesource.com/sdk.git/+log/b9ae53ac4663..96664852accc
2023-11-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-97.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 dart-vm-team@google.com ,zra@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
2023-11-05 01:59:13 +00:00
auto-submit[bot]
5b54ce8022
Reverts "Roll Dart SDK from b9ae53ac4663 to 96664852accc (1 revision)" ( flutter/engine#47687 )
...
Reverts flutter/engine#47679
Initiated by: CaseyHillers
This change reverts the following previous change:
Original Description:
https://dart.googlesource.com/sdk.git/+log/b9ae53ac4663..96664852accc
2023-11-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-97.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 dart-vm-team@google.com ,zra@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
2023-11-04 17:26:17 +00:00
godofredoc
fa9ccec742
Fix symbols upload ( flutter/engine#47669 )
...
There were a couple of issues with the script. The first one is it was always trying to upload the entire .buil_id folder rather than individual files and the second one is that it could not find depot_tools on path.
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-04 16:25:24 +00:00
skia-flutter-autoroll
70a29048d8
Roll Fuchsia Linux SDK from 8tJt8KJzTzbwwQlUE... to SmJ_8HFjjm55T4ijL... ( flutter/engine#47682 )
...
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC rmistry@google.com ,zra@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://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
2023-11-04 09:00:05 +00:00
skia-flutter-autoroll
de517972c0
Roll Dart SDK from b9ae53ac4663 to 96664852accc (1 revision) ( flutter/engine#47679 )
...
https://dart.googlesource.com/sdk.git/+log/b9ae53ac4663..96664852accc
2023-11-04 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-97.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 dart-vm-team@google.com ,zra@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
2023-11-04 04:16:13 +00:00
Martin Kustermann
3a49ea0b85
Fix incorrect C++ return value of PictureRecorder::endRecording() ( flutter/engine#47645 )
...
The Dart code has the following declaration:
```dart
@Native<Void Function(Pointer<Void>, Handle)>(symbol: 'PictureRecorder::endRecording')
external void _endRecording(_NativePicture outPicture);
```
=> Dart doesn't expect to get a return value, so C++ shouldn't return
anything.
2023-11-03 23:44:19 +01:00
Jackson Gardner
9549a0fbe2
Bundle flutter.js via esbuild ( flutter/engine#47573 )
...
* Roll esbuild as a CIPD package along with the browser roller. I renamed `browser_lock`/`browser_roller` etc to `package_lock` and `package_roller` since it will handle more than just browsers now.
* Download the esbuild CIPD package via DEPS.
* Have a build rule for running esbuild on some JavaScript or TypeScript
* Bundle and minify `flutter.js` using esbuild.
* Include in `flutter_web_sdk` the original `flutter.js` source, the minified `flutter.js`, and a sourcemap file to map between thnm.
* Also slightly changed the structure to put the `flutter.js` stuff in `flutter_web_sdk/flutter_js` instead of just at the root level of `flutter_web_sdk`. This should be fine because I haven't merged the change that has the flutter tool consume this yet.
2023-11-03 20:24:29 +00:00
skia-flutter-autoroll
75f09ca525
Roll Fuchsia Linux SDK from ho9FqsUD0hxh0b8to... to 8tJt8KJzTzbwwQlUE... ( flutter/engine#47666 )
...
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC rmistry@google.com ,zra@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://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
2023-11-03 20:14:55 +00:00
skia-flutter-autoroll
9ba21ec06d
Roll Skia from c0ca9f2fd828 to 77aeee3b81a5 (1 revision) ( flutter/engine#47663 )
...
https://skia.googlesource.com/skia.git/+log/c0ca9f2fd828..77aeee3b81a5
2023-11-03 jvanverth@google.com [graphite] Remove legacy quad rendering flag
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 ,herb@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://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
2023-11-03 19:15:11 +00:00
Jim Graham
1da6a8c854
[Impeller] Remove Rect field accesses from aiks subdirectory ( flutter/engine#47628 )
...
These changes move any code in `impeller/aiks` that accessed the internal fields of `Rect` to using either the appropriate convenience methods for the operation or the getters for those properties.
This is a simple code refactoring and should be covered by existing tests.
2023-11-03 19:09:42 +00:00
skia-flutter-autoroll
a52a8fe4a4
Roll Skia from ee6dbb4e2592 to c0ca9f2fd828 (1 revision) ( flutter/engine#47660 )
...
https://skia.googlesource.com/skia.git/+log/ee6dbb4e2592..c0ca9f2fd828
2023-11-03 brianosman@google.com Fix SkRasterPipeline member function naming for coding style
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 ,herb@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://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
2023-11-03 18:17:05 +00:00
Zachary Anderson
8f629f2ee0
Move //third_party/benchmark to //flutter/third_party/benchmark ( flutter/engine#47652 )
...
As part of eliminating the Flutter buildroot
(https://github.com/flutter/flutter/issues/67373 ), we are moving all
third-party dependencies from //third_party to //flutter/third_party.
Once all third-party dependencies have been migrated, tooling and config
will be moved and the buildroot will be eliminated altogether.
No tests changed because there is no semantic change to this PR. This is
simply relocating a dependency.
2023-11-03 10:59:49 -07:00
skia-flutter-autoroll
34921698ec
Roll Skia from 75507da748f9 to ee6dbb4e2592 (1 revision) ( flutter/engine#47659 )
...
https://skia.googlesource.com/skia.git/+log/75507da748f9..ee6dbb4e2592
2023-11-03 kjlubick@google.com Reland "Decouple SVG from SkFontMgr::RefDefault()"
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 ,herb@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://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
2023-11-03 17:22:08 +00:00
gaaclarke
28cab3b275
[Impeller] removed operator overload (c++ style violation) ( flutter/engine#47658 )
...
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-03 17:22:05 +00:00
Jonah Williams
7ea3e185b0
[Impeller] add example of testing entity with "real" HAL instead of mocking. ( flutter/engine#47631 )
...
As a response to my comments in https://github.com/flutter/engine/pull/47621
2023-11-03 16:37:53 +00:00
skia-flutter-autoroll
c3e67f7f2b
Roll Dart SDK from 3c45f68cd7c2 to 529fcd5bdffc (3 revisions) ( flutter/engine#47655 )
...
https://dart.googlesource.com/sdk.git/+log/3c45f68cd7c2..529fcd5bdffc
2023-11-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-94.0.dev
2023-11-03 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-93.0.dev
2023-11-02 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-92.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 dart-vm-team@google.com ,zra@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
2023-11-03 16:37:50 +00:00