67 Commits

Author SHA1 Message Date
Jonah Williams
c4d3db0133 add pixel snapping conditional on presence of raster cache (flutter/engine#35981) 2022-09-09 01:10:01 +00:00
xiaomiao
9439f622fd Introduce bitset to manage bool flags in mock_layer unit test. (flutter/engine#35489) 2022-09-02 09:15:18 +00:00
xiaomiao
3afe0778d0 Fix the issue that PrerollContext.has_texture_layer is sticky. (flutter/engine#35425) 2022-08-17 03:10:20 +00:00
Jim Graham
5f9579eae8 Display list multiplexer (flutter/engine#35421) 2022-08-16 05:34:52 +00:00
Dan Field
132ab1a321 Reland toImageSync (flutter/engine#35283) 2022-08-09 22:32:04 +00:00
Dan Field
abbca7b5e4 Revert "Collect textures from toImageSync safely (#35073)" (flutter/engine#35281)
This reverts commit 1f9bb2c26554f53995e7d02afc54a5566ad3310c.
2022-08-09 14:32:32 -07:00
Dan Field
1f9bb2c265 Collect textures from toImageSync safely (flutter/engine#35073) 2022-08-09 13:21:59 -07:00
Jim Graham
1413379354 Embedders use DisplayListBuilder for compositing (flutter/engine#35170) 2022-08-04 22:23:04 +00:00
ColdPaleLight
369a324ff8 Evicting unused cache entries before RasterCache actions (flutter/engine#34627) 2022-07-23 02:56:03 +00:00
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