58 Commits

Author SHA1 Message Date
ColdPaleLight
45d9265b01 Fix issue about checkerboardRasterCacheImages not working (flutter/engine#34424) 2022-07-14 23:08:04 +00:00
Jim Graham
b61239beff Fix premature DisplayList caching (flutter/engine#34562) 2022-07-11 12:35:04 +00:00
JsouLiang
ba5bf62d28 Defer decisions about RasterCache actions until after Preroll is complete (flutter/engine#31892) 2022-06-29 20:59:06 -07:00
Dan Field
0586f7b588 Drop --enable-display-list flag, remove associated branched code (flutter/engine#34233) 2022-06-23 00:07:04 +00:00
JsouLiang
f5189d13e8 Add DlSamplingOptions & DlFilterMode (flutter/engine#34024) 2022-06-17 19:26:04 +00:00
Jonah Williams
728640769b dont pixel snap raster cache if SUPPORT_FRACTIONAL_TRANSLATION is enabled (flutter/engine#34002) 2022-06-13 16:43:05 -07:00
Jim Graham
1afb88d9e4 Reland: simplify the logic around computing subtree opacity inheritance (flutter/engine#32853) 2022-04-22 16:19:04 -07:00
Jim Graham
272d144c55 Verbose display list comparisons (flutter/engine#32737) 2022-04-19 23:04:03 -07:00
Jim Graham
bd89e4452a Designated field initialization of Paint/PrerollContexts (flutter/engine#32634) 2022-04-12 20:59:05 -07:00
Kaushik Iska
172d0b24e5 Enable leaf layer tracing in PaintContext (flutter/engine#32383) 2022-04-11 18:24:04 -07:00
ColdPaleLight
ffe61d39ca Reland "Add a way to raster cache the children of a Layer (#32370)" (flutter/engine#32378) 2022-04-06 04:16:04 -07:00
Kevin Lubick
cdd2946003 Fix includes of SkColorSpace et al (flutter/engine#32382) 2022-04-01 10:59:23 -07:00
Zachary Anderson
be05bbafbf Revert "Add a way to raster cache the children of a Layer" (flutter/engine#32370) 2022-03-31 16:56:04 -07:00
Matej Knopp
190cee38d1 Specify clip alignment for partial repaint (flutter/engine#31359)
* Specify clip alignment for partial repaint
2022-03-31 23:53:42 +02:00
ColdPaleLight
d39f658ea9 Add a way to raster cache the children of a Layer (flutter/engine#31875) 2022-03-30 21:10:02 -07:00
eggfly
42cc820c92 Cleanup unused code in the UIDartState and other tests. (flutter/engine#31152) 2022-01-31 18:20:02 -08:00
eggfly
1d4b9857fc [Android] Get the right frame_budget when device frame_rate is not 60 (flutter/engine#30924) 2022-01-27 13:35:10 -08:00
Chinmay Garde
0b18437bc1 Move the major display list classes to their own translation units. (flutter/engine#30487)
No functional change. Makes the display list subsystem easier to navigate as the
major classes are in their own TUs. Also avoids importing unnecessary headers
when the previous kitchen sink header was imported. I've tried to remove all
display list related imports and start from scratch but I may have missed some
files. Minor structs and classes (like the ones in utils, ops, etc..) still
don't get their own TUs though.

There were [two](https://github.com/flutter/engine/pull/29562) [related](https://github.com/flutter/engine/pull/30484) changes being made to this subsystem that have since
landed. So I don't think I am stepping on anyones toes with the reorganization.
Happy to incorporate any work-in-progress changes being made to the this
subsystem before submitting.
2021-12-28 15:19:35 -08:00
Jim Graham
46a8def326 Opacity peephole optimization (flutter/engine#29775) 2021-12-14 16:19:09 -08:00
Zachary Anderson
03c0f7e453 Add 'explicit' to header files (flutter/engine#29741) 2021-11-17 12:49:16 -08:00
Matej Knopp
66a708c874 Enable partial repaint for iOS/Metal (flutter/engine#28801) 2021-11-02 07:20:01 -07:00
Jim Graham
7d144cb994 add flow events to the timeline to track the lifecycle of cache images (flutter/engine#29298) 2021-10-25 13:03:01 -07:00
Matej Knopp
ee25910702 Take SUPPORT_FRACTIONAL_TRANSLATION into account when diffing layers (flutter/engine#29001)
* Take SUPPORT_FRACTIONAL_TRANSLATION into account when diffing layers

* Store cull_rect in device coordinates

This removes the need to update cull rect coordinates when overriding transform
and is also consistent with how Layer::needs_painting() works.

* Use original transform for culling, but overriden transform to get paint coordinates.

This is to replicate the paint process during diffing, where layers are culled first and only then after paint the matrix is overriden.

* Rewrite AddLayerBounds based on @flar's suggestions
2021-10-12 18:44:50 +02:00
Chris Yang
c9f351741d backdrop_filter_layer only pushes to the leaf_nodes_canvas (flutter/engine#28500) 2021-09-27 11:33:01 -07:00
Jim Graham
a3c134e163 hold DisplayList objects in SkiaGPUObject wrappers (flutter/engine#28679) 2021-09-17 10:37:01 -07:00
xxrl
df1529f94e Delay matrix call in Preroll of picture layer (flutter/engine#28380) 2021-09-14 23:22:03 -07:00
Jim Graham
10d49ea696 Add RasterCache metrics to the FrameTimings (flutter/engine#28439) 2021-09-03 16:26:01 -07:00
Jim Graham
eb06a3ad7c delete references to FilterQuality prior to its removal (flutter/engine#27257) 2021-07-08 14:21:01 -07:00
Jim Graham
ce11db413a Implement a DisplayList mechanism similar to the Skia SkLiteDL mechanism (flutter/engine#26928) 2021-06-30 17:31:02 -07:00
David Worsham
5e5fe01dd2 Reland "fuchsia: Delete all the legacy code! (#26422)" (flutter/engine#27075)
This reverts commit bb3c49a9c3edf931a5601f0245faa85f5e077cb4.
2021-06-30 15:43:21 -07:00
Zachary Anderson
422f4b85e7 Add missing license headers (flutter/engine#26988) 2021-06-26 09:19:10 -07:00
Ahmed Ashour
6949cee7a7 Fix typo in tests names (flutter/engine#26852)
Fixes https://github.com/flutter/flutter/issues/84927
2021-06-24 13:11:53 -07:00
David Worsham
bad9b71a01 Revert "fuchsia: Delete all the legacy code! (#26422)" (flutter/engine#26637)
This reverts commit 9afd7d6af8a0d023c0db67d24c55eb6c08c48aba.
2021-06-08 12:47:44 -07:00
David Worsham
9afd7d6af8 fuchsia: Delete all the legacy code! (flutter/engine#26422) 2021-06-07 17:29:39 -07:00
Jim Graham
6de972e85e add flag to identify sub-trees with PlatformViewLayers and always paint them (flutter/engine#25824) 2021-04-29 20:50:59 -07:00
Matej Knopp
7de5184eb9 Add DiffContext (flutter/engine#21824) 2021-02-18 14:41:01 -08:00
Michael Reed
7ef5d67e1b Use sampling instead of (deprecated) filter-quality (flutter/engine#24101) 2021-02-01 00:16:02 -08:00
Jim Graham
949d20ee2e Move layer clip culling to Paint() method to fix child caching (flutter/engine#22336) 2020-11-13 15:23:03 -08:00
Kaushik Iska
8b9acb11b8 Move common graphics utils to //flutter/common/graphics (flutter/engine#22320) 2020-11-10 12:34:02 -08:00
fredlee12345678
5194240b61 add checker board for clip_path,clip_rect,clip_rrect,physical_shap_layer (flutter/engine#20997) 2020-09-30 10:27:11 -07:00
Chris Bracken
2586db3b22 Clean up C++ includes (flutter/engine#21127)
Cleans up header order/grouping for consistency: associated header, C/C++ system/standard library headers, library headers, platform-specific #includes.

Adds <cstring> where strlen, memcpy are being used: there are a bunch of places we use them transitively.

Applies linter-required cleanups. Disables linter on one file due to included RapidJson header. See https://github.com/flutter/flutter/issues/65676

This patch does not cover flutter/shell/platform/darwin. There's a separate, slightly more intensive cleanup for those in progress.
2020-09-11 21:18:35 -07:00
David Worsham
ad2bff1014 Reland: "fuchsia: Remove dead code / break dependencies" (flutter/engine#20532)
Reland #19396 with a fix for improper scale that was affecting internal tests

Tested: Ran all unittests, ran internal tests, and ran workstation on Fuchsia
BUG: 53062, 53063
2020-08-14 20:41:18 -07:00
Zachary Anderson
275f2b04cc Revert "fuchsia: Remove dead code / break dependencies (#19396)" (flutter/engine#20302)
This reverts commit 017f07942e8e80a4e886def19c6fffac7ce18479.
2020-08-06 12:06:06 -07:00
David Worsham
017f07942e fuchsia: Remove dead code / break dependencies (flutter/engine#19396)
The fuchsia code around metrics and sizing was just sending this
information through a side-channel, when the engine already had the
information available. So, delete all of it to make future CLs simpler.

Additionally, the SceneUpdateContext has many unneccesary dependencies
re: metrics and PaintTasks. Break those to make future CLs simpler.

Tested: Ran all unittests and ran workstation on Fuchsia
BUG: 53062, 53063
2020-08-03 22:09:26 -07:00
Adlai Holler
e5614964f4 Use the GrDirectContext factories instead of deprecated GrContext ones (flutter/engine#19962)
This is part of a larger effort to expose the difference between GrDirectContext,
which runs on the GPU thread and can directly perform operations like uploading
textures, and GrRecordingContext, which can only queue up work to be delivered
to the GrDirectContext later.
2020-07-28 13:32:09 -07:00
David Worsham
919f8e6a42 Move fuchsia/scenic integration behind #define (flutter/engine#19003)
Additionally create "_next" permutations for all of the test binaries
on Fuchsia, in order to test both code-paths.

Using the #define follow-up CLs can also create a flutter_runner_next
binary that does not contain any legacy integration code.

BUG: 53847
2020-06-26 14:03:18 -07:00
zljj0818
1fd49da298 Poor video scaling quality #53080 (flutter/engine#18814)
Use bilinear instead of nearest filter to draw surface texture

Related Issues:
https://github.com/flutter/flutter/issues/53080

Tests:
- TextureLayerTest
2020-06-17 11:14:05 -07:00
David Worsham
d2b7646e68 Move Surface and friends to flow/ (flutter/engine#18938) 2020-06-09 16:03:01 -07:00
Brian Osman
3a2315895e SkMatrix::MakeFoo is deprecated, use SkMatrix::Foo instead (flutter/engine#18934) 2020-06-09 16:55:13 -04:00
Jim Graham
3953882fbb Fix child caching in opacity_layer (flutter/engine#17914)
Choose a child more likely to remain stable from frame to frame as the target to cache in the OpacityLayer.
2020-05-28 18:45:43 -07:00