150 Commits

Author SHA1 Message Date
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
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
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
Jim Graham
8ed073eb54 Revert layer state stack (flutter/engine#37090)
* Revert "Fix a clang-tidy warning in display_list_canvas_unittests.cc (#37062)"

This reverts commit 709c6735fc7ed34df36cee23805bdaa7f6969774.

* Revert "Create a mechanism to manage layer state (#36458)"

This reverts commit 501916deb19a8303ca2a3a9bb37692a873d4679e.
2022-10-27 15:29:58 -07:00
Jim Graham
501916deb1 Create a mechanism to manage layer state (flutter/engine#36458) 2022-10-26 21:43:10 +00:00
Jonah Williams
ffff2c1c37 Remove expensive trace events (flutter/engine#36989) 2022-10-25 21:13:14 +00:00
Jonah Williams
9dffe4a887 dont snap in preroll (flutter/engine#36239) 2022-09-19 20:11:46 +00:00
Jonah Williams
c4d3db0133 add pixel snapping conditional on presence of raster cache (flutter/engine#35981) 2022-09-09 01:10:01 +00:00
Matej Knopp
5ab1c6712d Ensure raster cache doesn't bleed over to adjacent physical pixels (flutter/engine#35602)
* Ensure raster cache doesn't bleed over to adjacent physical pixels

* Only clip if necessary

* Add tests

* Reformat

* Only save/restore when necessary
2022-08-22 19:23:38 +02:00
ColdPaleLight
369a324ff8 Evicting unused cache entries before RasterCache actions (flutter/engine#34627) 2022-07-23 02:56:03 +00:00
ColdPaleLight
cd73f4378c Tweak the condition of 'FML_DCHECK' to solve the issue caused by round-off error (flutter/engine#34660) 2022-07-18 05:00:04 +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
Jonah Williams
a184d04005 cleanup fractional translation ifdefs and config (flutter/engine#34198) 2022-06-22 09:00:57 -07: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
Dan Field
9e46531319 Remove redundant trace events (flutter/engine#32812) 2022-04-21 13:28:03 -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
ColdPaleLight
d39f658ea9 Add a way to raster cache the children of a Layer (flutter/engine#31875) 2022-03-30 21:10:02 -07:00
George Wright
b531809f09 Add a complexity scoring class for Metal and OpenGL (flutter/engine#31417) 2022-02-17 20:01:40 -08:00
ColdPaleLight
d2640b977f Start consolidating the caches in RasterCache (flutter/engine#31492) 2022-02-17 13:54:11 -08:00
George Wright
ae19d36ca7 Small cleanup to DisplayListComplexityScoreCalculator code (flutter/engine#31211) 2022-02-02 09:37:52 -08:00
George Wright
a25be9e8d9 Add a DisplayListComplexityCalculator class that calculates the current "complexity score" of a given DisplayList during the Build phase. (flutter/engine#31176) 2022-02-01 21:40:35 -08:00
Jim Graham
46a8def326 Opacity peephole optimization (flutter/engine#29775) 2021-12-14 16:19:09 -08:00
Jim Graham
e79b6bb25d add trace events to cache sweeps (flutter/engine#29686) 2021-11-11 12:19:32 -08:00
Jim Graham
d8bbd282b3 use SkMatrix.invert() instead of MatrixDecomposition to validate cache matrices (flutter/engine#29530) 2021-11-04 15:38:01 -07:00
Kaushik Iska
6ac761ec26 [raster_cache] Increment access_count on Touch (flutter/engine#29529) 2021-11-04 14:44:06 -07:00
Matej Knopp
66a708c874 Enable partial repaint for iOS/Metal (flutter/engine#28801) 2021-11-02 07:20:01 -07:00
Jim Graham
2e3ff9cc72 only report cache entries with images for RasterCache metrics (flutter/engine#29369) 2021-10-28 21:03:01 -07:00
Jim Graham
5465b56b29 use nested op counts to determine picture complexity for raster cache (flutter/engine#29265) 2021-10-28 14:28:02 -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
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
967d492667 merge accounting of the (mutually exclusive) picture and dl cache entries in reported statistics (flutter/engine#28392) 2021-08-31 17:21:02 -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
Michael Reed
7ef5d67e1b Use sampling instead of (deprecated) filter-quality (flutter/engine#24101) 2021-02-01 00:16:02 -08:00
Jim Graham
b4a85a26ca Request quickReject results from correct drawing canvas (flutter/engine#22674)
Also Fix MockCanvas clipping so tests will work with new culling
2020-11-24 13:11:15 -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
Dan Field
d9bd7aff97 set old_gen_heap_size to half of available memory on iOS (flutter/engine#20472) 2020-09-18 12:32:02 -07:00
Dan Field
35d014eee7 Revert hint_freed (flutter/engine#20746)
This caused over-aggressive GCs, which vastly increased CPU usage benchmarks.

* Revert "fix build (#20644)"

This reverts commit 5e03f90cdd9392f95b47d08b398c18cab6d16b12.

* Revert "Hint freed (#19842)"

This reverts commit 73490a2ca444c8ca491712cde21a459453af8795.
2020-08-25 11:55:40 -07:00
Dan Field
73490a2ca4 Hint freed (flutter/engine#19842)
* Hint the VM when a layer or picture goes out of scope
2020-08-19 14:04:31 -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
Yuqian Li
4dec444c69 Add a service protocol for raster cache memory (flutter/engine#20466)
Related issue: https://github.com/flutter/flutter/issues/56719
2020-08-13 20:11:47 -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
Zachary Anderson
b7b32e51b4 Enable linting in several files (flutter/engine#20134) 2020-07-31 21:28:36 -07:00