1102 Commits

Author SHA1 Message Date
Jim Graham
b89acc989c Revert "Reland "Sequester all Skia<->DL interactions into the skia sub-module" (#40243)" (flutter/engine#40283)
This reverts commit bbc993164a0d2f7d5a1b7b052ff884500040acc0.
2023-03-14 15:33:08 -07:00
Jim Graham
bbc993164a Reland "Sequester all Skia<->DL interactions into the skia sub-module" (flutter/engine#40243)
Reland "Sequester all Skia<->DL interactions into the skia sub-module"
2023-03-14 18:53:06 +00:00
Dan Field
1de9bf9581 Make the context current before accessing GL in MakeSkiaGpuImage (flutter/engine#40208)
Make the context current before accessing GL in MakeSkiaGpuImage
2023-03-11 00:39:04 +00:00
Jonah Williams
726df65356 Reland: Move asset opening to background thread, fix dart persistent value destruction (flutter/engine#40183)
Reland: Move asset opening to background thread, fix dart persistent value destruction
2023-03-09 22:58:04 +00:00
Jim Graham
bc162fe559 Revert "Reland "Sequester all Skia<->DL interactions into the skia sub-module" (#40114)" (flutter/engine#40161)
Revert "Reland "Sequester all Skia<->DL interactions into the skia sub-module""
2023-03-09 02:41:54 +00:00
Dan Field
3950fa55ca Improve error messaging when render target cannot be created (flutter/engine#40150) 2023-03-08 12:33:29 -08:00
Zachary Anderson
44947b8822 Revert "[engine] move asset mapping copy to background thread (#39918)" (flutter/engine#40147)
Revert "[engine] move asset mapping copy to background thread"
2023-03-08 19:30:27 +00:00
Jonah Williams
9bc89c950c [engine] move asset mapping copy to background thread (flutter/engine#39918)
[engine] move asset mapping copy to background thread
2023-03-08 00:28:34 +00:00
Jim Graham
53a80bdedf Reland "Sequester all Skia<->DL interactions into the skia sub-module" (flutter/engine#40114)
Reland "Sequester all Skia<->DL interactions into the skia sub-module"
2023-03-07 19:03:17 +00:00
Jason Simmons
6927af678e Revert "Sequester all Skia<->DL interactions into the skia sub-module (#40083)" (flutter/engine#40103)
Revert "Sequester all Skia<->DL interactions into the skia sub-module (#40083)"
2023-03-07 02:58:49 +00:00
Jim Graham
acd130b2b2 Sequester all Skia<->DL interactions into the skia sub-module (flutter/engine#40083)
Sequester all Skia<->DL interactions into the skia sub-module
2023-03-06 19:55:32 +00:00
Chris Yang
baee6242e3 [ios] add setting flag to enable embedder api. (flutter/engine#40025)
[ios] add setting flag to enable embedder api.
2023-03-03 23:17:19 +00:00
Jason Simmons
719b8c319d Do not end the frame in the raster cache if ScopedFrame::Raster returns kResubmit (flutter/engine#40007)
Do not end the frame in the raster cache if ScopedFrame::Raster returns kResubmit
2023-03-03 01:12:55 +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
Tong Mu
dafb738c0a Remove surface check when querying ExternalViewEmbedder (flutter/engine#39803) 2023-02-23 13:51:15 -08:00
Jason Simmons
f2c5edb7fc Fix a race in ShellTest.PushBackdropFilterToVisitedPlatformViews (flutter/engine#39798)
Fixes https://github.com/flutter/flutter/issues/121096
2023-02-22 22:08:21 +00: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
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
Jason Simmons
5f09e0fdf0 Remove Libtxt and Minikin (flutter/engine#39499) 2023-02-13 17:16:04 +00:00
gaaclarke
f51ea3b01f [Impeller] Adds wide gamut support for iOS. (flutter/engine#39111)
* Implemented wide gamut images for iOS

Moved the surface to an extended range color format.

* wrong gamma but default pixel format set to bgra10_xr

* BGR10_XR add

* format

* updated todos

* updated todo with information about pixel formats

* switched logic for determining if we have a wide gamut image

* cleaned up gamut math to match style and linked source

* made the color attachment pixel format match the surface

* updated vulkan format switch

* removed comment

* added enable disable switch

* moved default to bgr10 for now since there is a bug where someone is still reading this, msaa?

* fixed the decoder settings to make sure we don't lose wide gamut colors

* fixed stored srgb gamut variable

* fixed false lint

* updated test

* added ability to grab the surface data for tests

* made the screenshot utility return the format

* added width and height to the platform channel payload

* fixed a couple of broken targets

* moved back the default pixel buffer format

* cleanup and add docstrings

* made the surfacedata feature only available in debug builds

* added decoding unit test

* fixed objc tests

* turned off by default

* bdero feedback1

* bdero2

* bdero3

* fixed merge issue

* removed using std::shared_ptr
2023-02-11 00:08:20 +00:00
Brandon DeRosier
4d586c0346 Add Animated PNG demuxer (flutter/engine#31098) 2023-02-09 22:34:05 -08:00
Callum Moffat
a367fdc132 Fix position of BackdropFilter above PlatformView (flutter/engine#39244)
* Fix position of BackdropFilter in PlatformView

* Add check of PushFilterToVisitedPlatformViews
2023-02-09 23:58:28 +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
Loïc Sharma
c6f9e5cebd [Shell] Update stale comments after multi-view (flutter/engine#39298) 2023-01-31 23:58:10 +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
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
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
Ben Konyi
1f603711c7 Remove references to Observatory (flutter/engine#38919)
Observatory is being deprecated for Dart 3.0 so it should no longer be referenced in tooling messaging / flags.

See https://github.com/dart-lang/sdk/issues/50233
2023-01-19 09:20:46 -05:00
luckysmg
598fb62a0b Correct FrameTimingRecorder's raster start time. (flutter/engine#38674)
* ++

* ++

* Add tests

* Add missing trace

* ++

* ++

* ++
2023-01-13 01:38:17 +00:00
Kevin Lubick
ecd5ad9c7c SkBudgeted -> skgpu::Budgeted (flutter/engine#38660)
* SkBudgeted -> skgpu::Budgeted

* colon

* format

* fix GN rules

* undo includes
2023-01-05 21:42:34 +00:00
Chris Bracken
dc3033d922 Clarify semantics action dispatch id parameter (flutter/engine#38356)
Previously the embedder API documented this as an action ID, but it's
actually the semantics node ID. This fixes the docs and renames the
parameter to clarify its purpose.

This callback is registered in the framework render bindings:
9102f2fe0b/packages/flutter/lib/src/rendering/binding.dart (L43)

Handled by `_handleSemanticsAction`:
9102f2fe0b/packages/flutter/lib/src/rendering/binding.dart (L360-L366)

Which invokes `SemanticsOwner.performAction`, where the node is looked up by ID:
9102f2fe0b/packages/flutter/lib/src/semantics/semantics.dart (L3258-L3277)
2022-12-16 13:40:48 -08:00
fzyzcjy
52668a7252 Reland fix wrong VSYNC event (flutter/engine#37865) 2022-12-07 13:46:06 -05:00
Chris Bracken
c31eadc734 Fix typo in Animator comment (flutter/engine#38040)
Animation::Render -> Animator::Render. Spotted during some code
archaeology during a review.
2022-12-02 21:05:12 +00:00
ColdPaleLight
4db98c0aad [Impeller] Implement 'ui.Image.toByteData()' (flutter/engine#37709)
* [Impeller] Implement 'ui.Image.toByteData()'

* Tweak code
2022-12-01 04:30:16 +00:00
Dan Field
020577edbb Make NotifyIdle reject close and past deadlines. (flutter/engine#37737)
This patch also eliminates some extraneous tracing that is happening
every frame. It is possible to get the same trace calls by enabling
the API stream if needed.

Also refactors the NotifyIdle callsites to just always work in
TimeDeltas rather than converting back and forth between them and
TimePoints, which I think reads more clearly.
2022-11-18 18:17:53 +00:00
Siva
7296b2b66d Add call to Dart_NotifyDestroyed when the flutter view is destroyed. (flutter/engine#37539)
* Add calls to Dart_NotifyDestroyed when the flutter view is destroyed.

* Add unit test case.

* Format.

* Ensure the destroy task runs.

* Address code review comments.
2022-11-17 13:11:21 -08:00
Jim Graham
2252b6f362 Reland layer state stack 2 (flutter/engine#37394)
* Revert "Revert "Reland layer state stack" (#37178)"

This reverts commit 21cc000359d8a4da097e8849e83dcbe8ac941e01.

* fix double-transform rendering issues in #114359

* adjust recently added unit test to state_stack APIs

* introduce LSS delegates to simplify some code and reduce overhead

* Fix ShellTest.OnServiceProtocolEstimateRasterCacheMemoryWorks

* add unit test for tracker.setTransform(4x4) and fix bug

* fix culling issue in LayerTree::Flatten
2022-11-17 19:34:19 +00:00
Brandon DeRosier
5264f22a55 Fix linter error (flutter/engine#37661) 2022-11-16 04:18:49 +00:00
Dan Field
8dc723b758 Revert "Fix wrong VSYNC event (#36775)" (flutter/engine#37589)
This reverts commit 491f827ea84dae3c63e50493a3a25e378c7cf441.
2022-11-14 19:09:02 +00:00
Brandon DeRosier
0a11bb12d7 Add more raster traces (flutter/engine#37510) 2022-11-11 17:05:25 -08:00
Kaushik Iska
ca224262c5 Do not call Dart_NotifyIdle when in Dart_PerformanceMode_Latency (flutter/engine#37499) 2022-11-10 21:28:38 -05:00
gaaclarke
af036b8857 Turned on performance-unnecessary-value-param everywhere. (flutter/engine#37447)
* Turned on performance-unnecessary-value-param everywhere.

* linux host additions

* ios patch

* reverted bad fix

* revert bad fix

* another ios patch

* removed lint fix printer
2022-11-09 20:55:13 +00:00
ColdPaleLight
1218c3cf7b [Impeller] Support YUV external textures on iOS (flutter/engine#36685)
* Tweak Texture::Paint API

* Support external textures for iOS

* format code

* Tweak code

* format

* Clean code

* [Impeller] Support YUV external textures on iOS

* Fix test

* Clean code

* Fix compile error

* Add todo link

* Clean code
2022-11-03 22:13:01 +00:00
Nayuta403
472ca878cf Remove unused variable depth_ (flutter/engine#37109) 2022-11-02 02:32:08 +00:00
Dan Field
21cc000359 Revert "Reland layer state stack" (flutter/engine#37178) 2022-10-31 18:56:18 +00:00
Jim Graham
df85a4f401 Reland layer state stack (flutter/engine#37135) 2022-10-30 18:30:22 +00:00
fzyzcjy
491f827ea8 Fix wrong VSYNC event (flutter/engine#36775) 2022-10-29 22:07:03 +00:00