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
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
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
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
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
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
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
Michael Goderbauer
298dad2e13
MultiView changes for dart:ui ( flutter/engine#42493 )
...
Fixes https://github.com/flutter/flutter/issues/124991 .
Framework tests are failing because I need to do a pre-migration of `flutter_test` for the Object -> int change of viewId. That's in https://github.com/flutter/flutter/pull/128092 .
2023-06-02 21:29:48 +00:00
Brandon DeRosier
666563a554
[Impeller] Add Impeller Metal support in the embedder API ( flutter/engine#42411 )
...
Part of https://github.com/flutter/flutter/issues/112230 .
Now seemed like the right time to sneak this in:
* We have large desktop refactors on the horizon (multi-window).
* We're starting to land optimizations that complicate the surface behavior such as wide gamut and dirty regions.
* We have plans to migrate the iOS embedder to use the embedder API (https://github.com/flutter/flutter/issues/112232 ).

2023-06-01 20:10:58 +00:00
Jason Simmons
d473f0d24d
Wait for GL command completion in the ExternalTextureGLRefreshedTooOften test ( flutter/engine#42438 )
...
This test sometimes caused assertion failures when running on Windows with ANGLE. The process may be unable to safely clean up global objects if GL commands are pending when the test exits.
2023-06-01 18:46:16 +00:00
Kevin Lubick
1df7a98848
Clean up Skia includes around SkSurfaceCharacterization ( flutter/engine#42485 )
...
While contemplating a change to SkSurfaceCharacterization, I was curious
who was using this. Flutter #included it, but never actually seemed to
use it. Thus, I removed includes of it and other unnecessary #includes
in those same files, as well as addressing follow-on compile errors.
## 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-01 14:08:46 -04:00
Zachary Anderson
9022cac6f8
Enables bugprone-unchecked-optional-access for some files ( flutter/engine#42428 )
2023-05-30 16:52:58 -07:00
Zachary Anderson
5633d0d833
Enable bugprone-unchecked-optional-access, disable in files with warnings ( flutter/engine#42359 )
...
First part of https://github.com/flutter/flutter/issues/127701
2023-05-26 21:58:46 +00:00
Tong Mu
4a01af4737
[macOS] Clean up unused methods in FlutterRenderer ( flutter/engine#42196 )
...
This PR removes the methods in `FlutterRenderer` that will never be
used.
These methods allows the engine to get a drawable and present a
drawable, but they will never be called on the macOS embedder. This is
because they go through the `FlutterMetalRendererConfig` struct to
`GPUSurfaceMetalSkia`, which is bypassed if the engine has a non-null
external view embedder, which the macOS always provides.
Removing these methods not only cleans up the code (and the confusion),
but also reduces the methods that might need to be migrated for the
multi-view project.
After this change, `FlutterRenderer` is left with very few
functionalities:
* It hosts `device` and `commandQueue`.
* It creates `FlutterRendererConfig`.
* It implements `FlutterTextureRegistry` and
`FlutterTextureRegistrarDelegate`, linking `FlutterTexture` and
`FlutterTextureRegistrar`.
We might want to refactor this class, but that's for the future.
## Pre-launch Checklist
- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] 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.
- [ ] 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 `///`).
- [ ] I signed the [CLA].
- [ ] 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-05-21 16:53:57 -07:00
Kevin Lubick
7751d1c5eb
Move SkSurface::MakeNull to SkSurfaces::Null ( flutter/engine#42158 )
...
In https://skia-review.googlesource.com/c/skia/+/696537 (and earlier in
https://skia-review.googlesource.com/c/skia/+/687639 ), Skia moved all
SkSurface factories. This changes the last calls of the old static
methods to the methods in the `SkSurfaces` namespace
## 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-05-20 10:11:44 -04:00
Dan Field
ae728938fc
Report displays for macOS ( flutter/engine#41998 )
...
https://github.com/flutter/flutter/issues/125939 and https://github.com/flutter/flutter/issues/125938 for macOS
fixes https://github.com/flutter/flutter/issues/121352
2023-05-17 17:17:23 +00:00
Kevin Lubick
0946d27add
Migrate uses of SkSurface factories ( flutter/engine#41978 )
...
In http://review.skia.org/687639 , many SkSurface static methods were moved and one was deleted (SkSurface::MakeRasterN32Premul). (SkSurface::MakeNull was omitted accidentally and http://review.skia.org/696537glesource.com/c/skia/+/696537 has not rolled into Flutter yet)
This changes the calls in Flutter to match those moved functions. There should be no functional difference and everything was done pretty mechanically (e.g. find and replace)
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-15 16:41:10 +00:00
Kevin Lubick
0c3dbe50e1
Use moved SkImage procs ( flutter/engine#41947 )
...
Use relocated SkImages context typedefs
In http://review.skia.org/661059 , we moved many SkImage related methods, including these typedefs. This updates Flutter to use the moved types.
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-11 20:16:54 +00:00
Dan Field
ea5131772d
Add a Display API to dart:ui that reports the physical size, DPR, and refresh rate of the main display ( flutter/engine#41685 )
...
Fixes https://github.com/flutter/flutter/issues/123307 - for Android, iOS, and Web, for the main display only (https://github.com/flutter/flutter/issues/125938 tracks supporting multiple displays, https://github.com/flutter/flutter/issues/125939 for desktop).
Desktop will need to be implemented for this, but given priority for a couple of our customers targetting foldable devices on Android I'm inclined to get this in before desktop can be finished.
The main concern for this right now is that on some Android foldable devices, setting a preferred orientation will cause letterboxing and the `MediaQuery` will _never_ get the full screen size when unfolded. This causes apps to think the screen is smaller than it is, as they've mainly been using `MediaQueryData.size` to figure this out. Android's recommendation is to not set a preferred orientation, and if you must to use the new method introduced in `ViewUtil.java` to calculate the maximal window size.
2023-05-06 18:28:22 +00:00
Kevin Lubick
e05e7a8552
Migrate SkSurface::getBackend* methods to static functions ( flutter/engine#41693 )
...
In https://skia-review.googlesource.com/c/skia/+/687642 , Skia moved some
gpu-related methods on SkSurface to be static functions in a different
header. This updates those callsites in Flutter.
## 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-05-03 09:03:39 -07:00
Loïc Sharma
b786d923f5
Remove single view assumption from pointer events ( flutter/engine#41602 )
...
This change removes the assumption that that all pointer events go to the view ID `0`. This change also adds a test for pointer events.
Part of: https://github.com/flutter/flutter/issues/112205
## Background
All pointer events are sent to [`PlatformDispatcher.onPointerDataPacket`](https://api.flutter.dev/flutter/dart-ui/PlatformDispatcher/onPointerDataPacket.html ). In the future, a `viewId` property will be added [`PointerData`](https://api.flutter.dev/flutter/dart-ui/PointerData-class.html ), which the framework (specifically, `GestureBinding`) will use to route the event to the proper view. This `viewId` property's value will be set by the embedders.
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-04-29 03:47:10 +00:00
Brandon DeRosier
b4271c24de
Add missing header guards ( flutter/engine#41322 )
...
These keep turning up, so I did a little bash-fu to find them all.
```bash
grep -lL "#pragma once" $(grep -lL "#ifndef .*_H_" $(find . | grep "\.h$")) | cut -c 3-
```
2023-04-19 21:20:21 +00:00
Jim Graham
d4a56c721b
focus SkiaGPUObject wrappers on only those objects that need the protection ( flutter/engine#41237 )
...
With this PR we no longer need to hold DisplayLists in GPUObject wrappers and they can be disposed instantly instead of queueing on the Unref thread.
This will definitely be a win for Impeller as none of the objects used in a frame now require queueing, but the performance impact on apps running on top of skia is less clear if they depend on a lot of images inside their DisplayLists that still need to be queued to be freed. After getting further in the work, it looks like only decoded images need to use the protected DlImage wrappers and most of those should survive many frames before they are disposed. That should hopefully leave very few unrefs happening per frame.
~There are 3 unit tests in `shell_unittests.cc` and `embedder_metal_unittests.mm` that are now GSKIP'd as they now invoke code that needs a fully initialized UIDartState in order to protect their images. I will look into fixing the tests and/or making the code they invoke provide protection without relying on UIDartState.~ (This looks to be fixed in the latest commit by simply not creating DlImageGPUs all over the source base and simply catching only those that end up in UI data structures. There is actually existing code in one of the modules that feeds ui.Image with an answer to wrap the image in a DlImageGPU if it has a skia image anyway, so most of these additional uses of DlImageGPU that were having trouble getting the Skia unref queue just didn't need it anyway.)
2023-04-17 23:47:20 +00:00
Kevin Lubick
108eb0fa89
Migrate uses of deprecated SkImage->encodeToData ( flutter/engine#41204 )
...
In https://skia-review.googlesource.com/c/skia/+/667296 , Skia deprecated
`SkImage->encodeToData`.
This PR fixes all uses in Flutter of that API by using SkPngEncoder
directly.
## 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].
- [ ] 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-04-17 10:03:40 -07:00
LouiseHsu
7f3889d6b0
Revert "Add support for double tap action from Apple Pencil 2" ( flutter/engine#41138 )
...
Reverts flutter/engine#39637
Since this feature https://github.com/flutter/flutter/issues/73172 has
been scrapped for now, previous engine work should be reverted. Refer to
[this design
doc](https://docs.google.com/document/d/1r4P5r-jGt2Sjqro3ldCU2axUiHTpu3yhIycnI94OKQw/edit
) for more discussion and details.
2023-04-13 14:59:04 -07:00
Chris Yang
5da580cfb2
[embedder] embedder external view adopt DisplayListEmbedderViewSlice ( flutter/engine#40578 )
...
[embedder] embedder external view adopt DisplayListEmbedderViewSlice
2023-04-10 18:54:39 +00:00
Chris Bracken
5fe41d4d1d
[a11y] Improve EmbedderA11yTest, fixture comments ( flutter/engine#40995 )
...
Add breadcrumbs to make it easier to jump between the Dart fixture side
and the embedder side of the EmbedderA11yTest unit test.
2023-04-08 10:25:07 -07:00
Chris Bracken
3ea75b15f1
[a11y] Use DartConverter for embedder a11y tests ( flutter/engine#40993 )
...
No semantic change. This just simplifies converting Dart arguments to
C++ types, making it more consistent with the rest of the codebase.
## 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.
- [ ] 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-04-07 13:11:42 -07:00
Kevin Lubick
f944e918a1
Use new SkImages namespace instead of legacy SkImage static functions ( flutter/engine#40761 )
...
Use new SkImages namespace instead of legacy SkImage static functions
2023-03-30 20:22:09 +00:00
Dan Field
96773d7c04
Avoid implicit conversions to floats in dart:ui ( flutter/engine#40098 )
...
Avoid implicit conversions to floats in dart:ui
2023-03-24 21:36:41 +00:00
Loïc Sharma
3ab31ad593
[Embedder API] Introduce new update semantics callback ( flutter/engine#39807 )
...
[Embedder API] Introduce new update semantics callback
2023-03-22 00:07:21 +00:00
Zachary Anderson
d39891c432
Un-bitrot impeller_unittests; disable failing tests; disable non-metal backends ( flutter/engine#40339 )
2023-03-16 19:34:57 -07:00
Loïc Sharma
89a738d1b7
[Embedder API] Lock nested structs to guarantee ABI ( flutter/engine#40069 )
...
[Embedder API] Lock nested structs for ABI stability
2023-03-09 21:09:50 +00:00
Greg Spencer
ce70895a30
Fix some more includes ( flutter/engine#40122 )
...
Fix some includes missing "flutter/" prefix.
2023-03-07 20:50:12 +00:00
Loïc Sharma
7aff51d95d
[Embedder API] Freeze parts of API for ABI stability ( flutter/engine#39963 )
...
[Embedder API] Freeze parts of API for ABI stability
2023-03-03 00:28:52 +00:00
Loïc Sharma
d61238974c
[Embedder API] Add 'array of pointers' guidance ( flutter/engine#39804 )
...
[Embedder API] Add 'array of pointers' guidance
2023-02-28 23:04:11 +00:00
Jim Graham
0fa8cbec8a
Create DlCanvas interface and implement with DisplayListBuilder and SkCanvasAdapter ( flutter/engine#39762 )
...
* Create DlCanvas interface and implement with DisplayListBuilder and SkCanvasAdapter
2023-02-23 22:09:35 -08:00
Loïc Sharma
a9e12287f6
[dart:ui] Introduce PlatformDispatcher.implicitView ( flutter/engine#39553 )
...
This introduces `PlatformDispatcher.implicitView`, a low-level primitive for the framework's bootstrapping. Most code, including the framework after bootstrapping, will use `View.of(context)` instead of this new API. This new primitive will let us deprecate the `window` global.
Goals:
1. **Enable multi-window**. The `PlatformDispatcher.implicitView` is nullable. If `null`, the app must create a window to get a view it can draw into.
2. **Backwards compatibility**. For "single window" apps, `PlatformDispatcher.instance.implicitView` should behave as similar to `window` as possible.
1. The `PlatformDispatcher.instance.implicitView.viewId` should be `0`.
1. The `PlatformDispatcher.instance.implicitView` must be available synchronously at root isolate startup. This allows the framework to determine if it can make single window assumptions at startup.
2. The `PlatformDispatcher.instance.implicitView` reference must not change after startup: if it is null at startup, it must always be null; if it is non-null at startup, it must always be non-null. If "single window" app enters headless mode, the implicit view must remain non-null.
In the future, the embedder will control whether an implicit view is created: mobile & legacy desktop apps will have an implicit view, multi-window desktop apps won't have an implicit view. This requires updating the engine's embedder API and is out-of-scope for this change. For now, all apps will have an implicit view.
Part of https://github.com/flutter/flutter/issues/120306
2023-02-16 16:32:14 -08:00
Rulong Chen(陈汝龙)
4fb5044193
Uses int64_t instead of int for the |view_id| parameter. ( flutter/engine#39618 )
2023-02-16 20:20:15 +00:00
LouiseHsu
a63ba37c86
Revert "Revert "Add support for double tap action from Apple Pencil 2 ( #39267 )" ( #39607 )" ( flutter/engine#39637 )
...
This reverts commit f112c452b80012e456f9ce41deb3009010fe2336.
2023-02-15 20:00:26 +00:00
Jason Simmons
239f32f794
Fix a flake in EmbedderTest.CompositorRenderTargetsNotRecycledWhenAvoidsCacheSet ( flutter/engine#39596 )
...
The test assumes that the fixture app has scheduled a specific number
of frames. The fixture should stop scheduling after that point.
See https://github.com/flutter/flutter/issues/106589
2023-02-14 19:10:33 +00:00
Jonah Williams
f112c452b8
Revert "Add support for double tap action from Apple Pencil 2 ( #39267 )" ( flutter/engine#39607 )
...
This reverts commit adb83f7d563aaaa44148f7b6a6c76846feb17cb3.
2023-02-14 02:04:06 +00:00
LouiseHsu
adb83f7d56
Add support for double tap action from Apple Pencil 2 ( flutter/engine#39267 )
...
* working commit
* some clean up
* white space fixes
* whitespace
* remove unused import
* Addressing PR comment, fix tests, update touch packet on Andriod
* formatting n whitespace again
* add new field to web ui pointer.dart
* update test
* whitespace
* fix test
* PR comments
* fix test
* whitespace
* fix test by factoring out logic into helper function
* whitespace
* fix malformed string
* pr comments
* fix type issue
* sigh whitespace
* revert test changes :)
* pr comments + separate out tests
* extra space
* change test name
2023-02-13 21:52:45 +00:00
Brandon DeRosier
841758cc6c
Add SkSurface include to every file where it's used ( flutter/engine#39304 )
2023-02-01 00:50:58 +00:00
Ben Konyi
d3f45828bf
Reland "Remove references to Observatory ( #38919 )" ( flutter/engine#39139 )
...
This reverts commit 5dd945442b230a2c0549ee6d798fda71e031a4a9.
2023-01-30 09:50:09 -05:00
Hannes Winkler
7e99ce795b
properly namespace flutter software pixel formats ( flutter/engine#38847 )
...
- rename `kGray8 --> kFlutterSoftwarePixelFormatGray8`
- rename `kRGB565 --> kFlutterSoftwarePixelFormatRGB565`
- etc.
2023-01-26 22:30:17 +00:00
Loïc Sharma
6de1c715fb
Manually roll ANGLE, vulkan-deps, SwiftShader ( flutter/engine#38650 )
2023-01-25 00:53:25 +00:00
Ahmed Ashour
51c0a9ec65
Remove superfluous words from comments ( flutter/engine#39068 )
...
* Remove superfluous words.
* Format
* Duplicate in consecutive lines.
2023-01-24 09:54:19 -08:00
Constantine Shablya
a38bdae396
[embedder] Fix getting vkGetInstanceProcAddr ( flutter/engine#39051 )
2023-01-24 01:22:38 +00:00
Ben Konyi
002fce29e0
Revert "Remove references to Observatory ( #38919 )" ( flutter/engine#39035 )
...
Reason for revert: breaking Flutter -> plugins roll
This reverts commit 1f603711c7b7afe52dff3872a5035789e3ddba02.
2023-01-20 12:33:40 -05:00