Skip to content

Commit eab0cd4

Browse files
authored
Implement a DisplayList mechanism similar to the Skia SkLiteDL mechanism (flutter#26928)
1 parent 28c2182 commit eab0cd4

39 files changed

+6328
-35
lines changed

ci/licenses_golden/licenses_flutter

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@ FILE: ../../../flutter/flow/compositor_context.cc
3636
FILE: ../../../flutter/flow/compositor_context.h
3737
FILE: ../../../flutter/flow/diff_context.cc
3838
FILE: ../../../flutter/flow/diff_context.h
39+
FILE: ../../../flutter/flow/display_list.cc
40+
FILE: ../../../flutter/flow/display_list.h
41+
FILE: ../../../flutter/flow/display_list_canvas.cc
42+
FILE: ../../../flutter/flow/display_list_canvas.h
43+
FILE: ../../../flutter/flow/display_list_canvas_unittests.cc
44+
FILE: ../../../flutter/flow/display_list_unittests.cc
45+
FILE: ../../../flutter/flow/display_list_utils.cc
46+
FILE: ../../../flutter/flow/display_list_utils.h
3947
FILE: ../../../flutter/flow/embedded_view_params_unittests.cc
4048
FILE: ../../../flutter/flow/embedded_views.cc
4149
FILE: ../../../flutter/flow/embedded_views.h
@@ -67,6 +75,9 @@ FILE: ../../../flutter/flow/layers/color_filter_layer_unittests.cc
6775
FILE: ../../../flutter/flow/layers/container_layer.cc
6876
FILE: ../../../flutter/flow/layers/container_layer.h
6977
FILE: ../../../flutter/flow/layers/container_layer_unittests.cc
78+
FILE: ../../../flutter/flow/layers/display_list_layer.cc
79+
FILE: ../../../flutter/flow/layers/display_list_layer.h
80+
FILE: ../../../flutter/flow/layers/display_list_layer_unittests.cc
7081
FILE: ../../../flutter/flow/layers/image_filter_layer.cc
7182
FILE: ../../../flutter/flow/layers/image_filter_layer.h
7283
FILE: ../../../flutter/flow/layers/image_filter_layer_unittests.cc

common/settings.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,9 @@ struct Settings {
163163
// Selects the SkParagraph implementation of the text layout engine.
164164
bool enable_skparagraph = false;
165165

166+
// Selects the DisplayList for storage of rendering operations.
167+
bool enable_display_list = false;
168+
166169
// All shells in the process share the same VM. The last shell to shutdown
167170
// should typically shut down the VM as well. However, applications depend on
168171
// the behavior of "warming-up" the VM by creating a shell that does not do

flow/BUILD.gn

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@ source_set("flow") {
1212
"compositor_context.h",
1313
"diff_context.cc",
1414
"diff_context.h",
15+
"display_list.cc",
16+
"display_list.h",
17+
"display_list_canvas.cc",
18+
"display_list_canvas.h",
19+
"display_list_utils.cc",
20+
"display_list_utils.h",
1521
"embedded_views.cc",
1622
"embedded_views.h",
1723
"frame_timings.cc",
@@ -30,6 +36,8 @@ source_set("flow") {
3036
"layers/color_filter_layer.h",
3137
"layers/container_layer.cc",
3238
"layers/container_layer.h",
39+
"layers/display_list_layer.cc",
40+
"layers/display_list_layer.h",
3341
"layers/image_filter_layer.cc",
3442
"layers/image_filter_layer.h",
3543
"layers/layer.cc",
@@ -123,6 +131,8 @@ if (enable_unittests) {
123131
testonly = true
124132

125133
sources = [
134+
"display_list_canvas_unittests.cc",
135+
"display_list_unittests.cc",
126136
"embedded_view_params_unittests.cc",
127137
"flow_run_all_unittests.cc",
128138
"flow_test_utils.cc",
@@ -136,6 +146,7 @@ if (enable_unittests) {
136146
"layers/clip_rrect_layer_unittests.cc",
137147
"layers/color_filter_layer_unittests.cc",
138148
"layers/container_layer_unittests.cc",
149+
"layers/display_list_layer_unittests.cc",
139150
"layers/image_filter_layer_unittests.cc",
140151
"layers/layer_tree_unittests.cc",
141152
"layers/opacity_layer_unittests.cc",

0 commit comments

Comments
 (0)