Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit f0651cb

Browse files
author
Emmanuel Garcia
committed
Merge remote-tracking branch 'upstream/master' into fix_composition
2 parents 6c42709 + e8b80e7 commit f0651cb

File tree

82 files changed

+1247
-434
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+1247
-434
lines changed

BUILD.gn

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,18 @@ config("config") {
2121
}
2222
}
2323

24+
defines = []
25+
2426
# This define is transitional and will be removed after the embedder API
2527
# transition is complete.
2628
#
2729
# TODO(bugs.fuchsia.dev/54041): Remove when no longer necessary.
2830
if (is_fuchsia && flutter_enable_legacy_fuchsia_embedder) {
29-
defines = [ "LEGACY_FUCHSIA_EMBEDDER" ]
31+
defines += [ "LEGACY_FUCHSIA_EMBEDDER" ]
3032
}
3133

3234
if (is_debug) {
33-
defines = [ "FLUTTER_ENABLE_DIFF_CONTEXT" ]
35+
defines += [ "FLUTTER_ENABLE_DIFF_CONTEXT" ]
3436
}
3537
}
3638

DEPS

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@ vars = {
2727
'skia_git': 'https://skia.googlesource.com',
2828
# OCMock is for testing only so there is no google clone
2929
'ocmock_git': 'https://github.com/erikdoe/ocmock.git',
30-
'skia_revision': '537293bf155f5688a8d91d609b5231799e77d81b',
30+
'skia_revision': 'c411429239e98cbe89e83462c75436820445e65c',
3131

3232
# When updating the Dart revision, ensure that all entries that are
3333
# dependencies of Dart are also updated to match the entries in the
3434
# Dart SDK's DEPS file for that revision of Dart. The DEPS file for
3535
# Dart is: https://github.com/dart-lang/sdk/blob/master/DEPS.
3636
# You can use //tools/dart/create_updated_flutter_deps.py to produce
3737
# updated revision list of existing dependencies.
38-
'dart_revision': 'b8f4018535fa792891e2add3a475f35e3ec156ab',
38+
'dart_revision': 'b4210cc43086e68526369ef441f26ad91ee3446e',
3939

4040
# WARNING: DO NOT EDIT MANUALLY
4141
# The lines between blank lines above and below are generated by a script. See create_updated_flutter_deps.py
@@ -96,7 +96,7 @@ allowed_hosts = [
9696
]
9797

9898
deps = {
99-
'src': 'https://github.com/flutter/buildroot.git' + '@' + '45ce223bc8d8ca88e2eb2f38eb0cf799e39edd06',
99+
'src': 'https://github.com/flutter/buildroot.git' + '@' + '7137efc8964bd91fa13e69af2cd3d1e13007d065',
100100

101101
# Fuchsia compatibility
102102
#
@@ -107,9 +107,6 @@ deps = {
107107
'src/third_party/benchmark':
108108
Var('fuchsia_git') + '/third_party/benchmark' + '@' + 'a779ffce872b4c811beef482e18bd0b63626aa42',
109109

110-
'src/third_party/googletest':
111-
Var('fuchsia_git') + '/third_party/googletest' + '@' + '3fef9015bfe7617d57806cd7c73a653b28559fae',
112-
113110
'src/third_party/rapidjson':
114111
Var('fuchsia_git') + '/third_party/rapidjson' + '@' + 'ef3564c5c8824989393b87df25355baf35ff544b',
115112

@@ -138,6 +135,9 @@ deps = {
138135

139136
'src/third_party/khronos':
140137
Var('chromium_git') + '/chromium/src/third_party/khronos.git' + '@' + '7122230e90547962e0f0c627f62eeed3c701f275',
138+
139+
'src/third_party/googletest':
140+
Var('github_git') + '/google/googletest' + '@' + 'f5e592d8ee5ffb1d9af5be7f715ce3576b8bf9c4',
141141

142142
'src/third_party/boringssl':
143143
Var('github_git') + '/dart-lang/boringssl_gen.git' + '@' + Var('dart_boringssl_gen_rev'),
@@ -166,7 +166,7 @@ deps = {
166166
Var('dart_git') + '/charcode.git@bcd8a12c315b7a83390e4865ad847ecd9344cba2',
167167

168168
'src/third_party/dart/third_party/pkg/cli_util':
169-
Var('dart_git') + '/cli_util.git@fd1b716e8a350a454e01ae56df540293d31ff6c8',
169+
Var('dart_git') + '/cli_util.git@8a73cd7eca373ff71d290ccf47d4829e5ca44209',
170170

171171
'src/third_party/dart/third_party/pkg/clock':
172172
Var('dart_git') + '/clock.git' + '@' + Var('dart_clock_rev'),
@@ -223,7 +223,7 @@ deps = {
223223
Var('dart_git') + '/intl.git' + '@' + Var('dart_intl_tag'),
224224

225225
'src/third_party/dart/third_party/pkg/json_rpc_2':
226-
Var('dart_git') + '/json_rpc_2.git@5ec32a2e0e99dedcef5b3237f93167cd22c2da50',
226+
Var('dart_git') + '/json_rpc_2.git@7e00f893440a72de0637970325e4ea44bd1e8c8e',
227227

228228
'src/third_party/dart/third_party/pkg/linter':
229229
Var('dart_git') + '/linter.git' + '@' + Var('dart_linter_tag'),
@@ -334,7 +334,7 @@ deps = {
334334
Var('dart_git') + '/package_config.git@a84c0d45401f215fbe9384df923a38f4022a3c45',
335335

336336
'src/third_party/dart/tools/sdks':
337-
{'packages': [{'version': 'version:2.12.0', 'package': 'dart/dart-sdk/${{platform}}'}], 'dep_type': 'cipd'},
337+
{'packages': [{'version': 'version:2.13.0-211.14.beta', 'package': 'dart/dart-sdk/${{platform}}'}], 'dep_type': 'cipd'},
338338

339339
# WARNING: end of dart dependencies list that is cleaned up automatically - see create_updated_flutter_deps.py.
340340

@@ -537,7 +537,7 @@ deps = {
537537
'packages': [
538538
{
539539
'package': 'fuchsia/sdk/core/mac-amd64',
540-
'version': 'uQgs5ZmFqGbZ6sZiLo5xCug5EzVsRqfvxYNOD2dE9jYC'
540+
'version': 'aCsEHpnS0z8Tx5JTRKBewrb5l6vKFBTn6VZIrXoLSwwC'
541541
}
542542
],
543543
'condition': 'host_os == "mac"',
@@ -662,7 +662,7 @@ hooks = [
662662
'pattern': '.',
663663
'condition': 'download_windows_deps',
664664
'action': [
665-
'python',
665+
'python3',
666666
'src/build/win/generate_winrt_headers.py',
667667
]
668668
}

ci/dev/prod_builders.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,6 @@
6868
"name":"Windows Host Engine",
6969
"repo":"engine"
7070
},
71-
{
72-
"name":"Windows UWP Engine",
73-
"repo":"engine"
74-
},
7571
{
7672
"name":"Windows Web Engine",
7773
"repo":"engine"

ci/dev/try_builders.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@
110110
{
111111
"name":"Windows UWP Engine",
112112
"repo":"engine",
113-
"enabled": true
113+
"enabled": false
114114
},
115115
{
116116
"name":"Windows Web Engine",

ci/firebase_testlab.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,4 @@ gcloud --project flutter-infra firebase test android run \
3232
--timeout 2m \
3333
--results-bucket=gs://flutter_firebase_testlab \
3434
--results-dir="engine_scenario_test/$GIT_REVISION/$BUILD_ID" \
35-
--device model=flame,version=29
35+
--device model=flame,version=29

ci/licenses_golden/licenses_flutter

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ FILE: ../../../flutter/flow/embedded_views.h
4242
FILE: ../../../flutter/flow/flow_run_all_unittests.cc
4343
FILE: ../../../flutter/flow/flow_test_utils.cc
4444
FILE: ../../../flutter/flow/flow_test_utils.h
45+
FILE: ../../../flutter/flow/frame_timings.cc
46+
FILE: ../../../flutter/flow/frame_timings.h
47+
FILE: ../../../flutter/flow/frame_timings_recorder_unittests.cc
4548
FILE: ../../../flutter/flow/gl_context_switch_unittests.cc
4649
FILE: ../../../flutter/flow/instrumentation.cc
4750
FILE: ../../../flutter/flow/instrumentation.h
@@ -1480,6 +1483,8 @@ FILE: ../../../flutter/shell/platform/linux/fl_standard_method_codec.cc
14801483
FILE: ../../../flutter/shell/platform/linux/fl_standard_method_codec_test.cc
14811484
FILE: ../../../flutter/shell/platform/linux/fl_string_codec.cc
14821485
FILE: ../../../flutter/shell/platform/linux/fl_string_codec_test.cc
1486+
FILE: ../../../flutter/shell/platform/linux/fl_task_runner.cc
1487+
FILE: ../../../flutter/shell/platform/linux/fl_task_runner.h
14831488
FILE: ../../../flutter/shell/platform/linux/fl_text_input_plugin.cc
14841489
FILE: ../../../flutter/shell/platform/linux/fl_text_input_plugin.h
14851490
FILE: ../../../flutter/shell/platform/linux/fl_value.cc

ci/licenses_golden/licenses_skia

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Signature: 1c900446a7b8df3f955be43b32f1b296
1+
Signature: 97559b295fb9e75d4245c3d3db0b9151
22

33
UNUSED LICENSES:
44

@@ -3962,9 +3962,11 @@ FILE: ../../../third_party/skia/modules/androidkit/src/SurfaceThread.h
39623962
FILE: ../../../third_party/skia/modules/skottie/src/effects/FractalNoiseEffect.cpp
39633963
FILE: ../../../third_party/skia/modules/skottie/src/effects/SphereEffect.cpp
39643964
FILE: ../../../third_party/skia/modules/skottie/src/effects/ThresholdEffect.cpp
3965+
FILE: ../../../third_party/skia/modules/svg/include/SkSVGFeImage.h
39653966
FILE: ../../../third_party/skia/modules/svg/include/SkSVGFeLightSource.h
39663967
FILE: ../../../third_party/skia/modules/svg/include/SkSVGImage.h
39673968
FILE: ../../../third_party/skia/modules/svg/include/SkSVGMask.h
3969+
FILE: ../../../third_party/skia/modules/svg/src/SkSVGFeImage.cpp
39683970
FILE: ../../../third_party/skia/modules/svg/src/SkSVGFeLightSource.cpp
39693971
FILE: ../../../third_party/skia/modules/svg/src/SkSVGImage.cpp
39703972
FILE: ../../../third_party/skia/modules/svg/src/SkSVGMask.cpp
@@ -5184,6 +5186,7 @@ FILE: ../../../third_party/skia/bench/TriangulatorBench.cpp
51845186
FILE: ../../../third_party/skia/experimental/tskit/bindings/bindings.h
51855187
FILE: ../../../third_party/skia/experimental/tskit/bindings/core.cpp
51865188
FILE: ../../../third_party/skia/experimental/tskit/bindings/extension.cpp
5189+
FILE: ../../../third_party/skia/gm/composecolorfilter.cpp
51875190
FILE: ../../../third_party/skia/gm/crbug_1167277.cpp
51885191
FILE: ../../../third_party/skia/gm/crbug_1174186.cpp
51895192
FILE: ../../../third_party/skia/gm/crbug_1174354.cpp
@@ -5203,13 +5206,16 @@ FILE: ../../../third_party/skia/src/gpu/GrWritePixelsRenderTask.cpp
52035206
FILE: ../../../third_party/skia/src/gpu/GrWritePixelsRenderTask.h
52045207
FILE: ../../../third_party/skia/src/gpu/GrYUVATextureProxies.cpp
52055208
FILE: ../../../third_party/skia/src/gpu/GrYUVATextureProxies.h
5209+
FILE: ../../../third_party/skia/src/gpu/SkGpuDevice_nga.cpp
5210+
FILE: ../../../third_party/skia/src/gpu/SkGpuDevice_nga.h
52065211
FILE: ../../../third_party/skia/src/gpu/gl/egl/GrGLMakeNativeInterface_egl.cpp
52075212
FILE: ../../../third_party/skia/src/gpu/gl/glx/GrGLMakeNativeInterface_glx.cpp
52085213
FILE: ../../../third_party/skia/src/gpu/vk/GrVkBuffer.cpp
52095214
FILE: ../../../third_party/skia/src/gpu/vk/GrVkBuffer.h
52105215
FILE: ../../../third_party/skia/src/sksl/SkSLBuiltinTypes.cpp
52115216
FILE: ../../../third_party/skia/src/sksl/SkSLBuiltinTypes.h
52125217
FILE: ../../../third_party/skia/src/sksl/SkSLContext.cpp
5218+
FILE: ../../../third_party/skia/src/sksl/SkSLIntrinsicList.h
52135219
FILE: ../../../third_party/skia/src/sksl/SkSLMangler.h
52145220
FILE: ../../../third_party/skia/src/sksl/SkSLOperators.cpp
52155221
FILE: ../../../third_party/skia/src/sksl/SkSLOperators.h
@@ -5514,14 +5520,15 @@ FILE: ../../../third_party/skia/include/sksl/DSLErrorHandling.h
55145520
FILE: ../../../third_party/skia/include/sksl/DSLFunction.h
55155521
FILE: ../../../third_party/skia/include/sksl/DSLRuntimeEffects.h
55165522
FILE: ../../../third_party/skia/include/sksl/DSLStatement.h
5523+
FILE: ../../../third_party/skia/include/sksl/DSLWrapper.h
55175524
FILE: ../../../third_party/skia/src/gpu/GrVertexChunkArray.h
5525+
FILE: ../../../third_party/skia/src/gpu/tessellate/GrPathStencilFillOp.cpp
5526+
FILE: ../../../third_party/skia/src/gpu/tessellate/GrPathStencilFillOp.h
55185527
FILE: ../../../third_party/skia/src/gpu/tessellate/GrPathTessellator.cpp
55195528
FILE: ../../../third_party/skia/src/gpu/tessellate/GrPathTessellator.h
55205529
FILE: ../../../third_party/skia/src/gpu/tessellate/GrStrokeFixedCountTessellator.cpp
55215530
FILE: ../../../third_party/skia/src/gpu/tessellate/GrStrokeFixedCountTessellator.h
55225531
FILE: ../../../third_party/skia/src/gpu/tessellate/GrStrokeTessellator.h
5523-
FILE: ../../../third_party/skia/src/gpu/tessellate/GrTessellatingStencilFillOp.cpp
5524-
FILE: ../../../third_party/skia/src/gpu/tessellate/GrTessellatingStencilFillOp.h
55255532
FILE: ../../../third_party/skia/src/sksl/SkSLMangler.cpp
55265533
FILE: ../../../third_party/skia/src/sksl/dsl/DSLBlock.cpp
55275534
FILE: ../../../third_party/skia/src/sksl/dsl/DSLCase.cpp
@@ -5530,6 +5537,7 @@ FILE: ../../../third_party/skia/src/sksl/dsl/DSLRuntimeEffects.cpp
55305537
FILE: ../../../third_party/skia/src/sksl/dsl/DSLStatement.cpp
55315538
FILE: ../../../third_party/skia/src/sksl/dsl/priv/DSLFPs.cpp
55325539
FILE: ../../../third_party/skia/src/sksl/dsl/priv/DSLFPs.h
5540+
FILE: ../../../third_party/skia/src/sksl/ir/SkSLFunctionDeclaration.cpp
55335541
FILE: ../../../third_party/skia/src/sksl/ir/SkSLVariable.cpp
55345542
----------------------------------------------------------------------------------------------------
55355543
Copyright 2021 Google LLC.
@@ -6724,6 +6732,7 @@ FILE: ../../../third_party/skia/modules/canvaskit/npm_build/node.example.js
67246732
FILE: ../../../third_party/skia/modules/canvaskit/npm_build/package-lock.json
67256733
FILE: ../../../third_party/skia/modules/canvaskit/npm_build/package.json
67266734
FILE: ../../../third_party/skia/modules/canvaskit/npm_build/shaping.html
6735+
FILE: ../../../third_party/skia/modules/canvaskit/npm_build/textapi_utils.js
67276736
FILE: ../../../third_party/skia/modules/canvaskit/npm_build/types/canvaskit-wasm-tests.ts
67286737
FILE: ../../../third_party/skia/modules/canvaskit/npm_build/types/index.d.ts
67296738
FILE: ../../../third_party/skia/modules/canvaskit/npm_build/types/tsconfig.json

ci/licenses_golden/licenses_third_party

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Signature: 0cd97bc3f34ac40583de63d2f282fdba
1+
Signature: dc3d2868e7a8929e8551f9264d01acd7
22

33
UNUSED LICENSES:
44

flow/BUILD.gn

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ source_set("flow") {
1414
"diff_context.h",
1515
"embedded_views.cc",
1616
"embedded_views.h",
17+
"frame_timings.cc",
18+
"frame_timings.h",
1719
"instrumentation.cc",
1820
"instrumentation.h",
1921
"layers/backdrop_filter_layer.cc",
@@ -143,6 +145,7 @@ if (enable_unittests) {
143145
"flow_run_all_unittests.cc",
144146
"flow_test_utils.cc",
145147
"flow_test_utils.h",
148+
"frame_timings_recorder_unittests.cc",
146149
"gl_context_switch_unittests.cc",
147150
"layers/backdrop_filter_layer_unittests.cc",
148151
"layers/checkerboard_layertree_unittests.cc",

flow/frame_timings.cc

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
// Copyright 2013 The Flutter Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
#include "flutter/flow/frame_timings.h"
6+
7+
#include <memory>
8+
9+
#include "flutter/common/settings.h"
10+
#include "flutter/fml/logging.h"
11+
12+
namespace flutter {
13+
14+
FrameTimingsRecorder::FrameTimingsRecorder() = default;
15+
16+
FrameTimingsRecorder::~FrameTimingsRecorder() = default;
17+
18+
fml::TimePoint FrameTimingsRecorder::GetVsyncStartTime() const {
19+
std::scoped_lock state_lock(state_mutex_);
20+
FML_DCHECK(state_ >= State::kVsync);
21+
return vsync_start_;
22+
}
23+
24+
fml::TimePoint FrameTimingsRecorder::GetVsyncTargetTime() const {
25+
std::scoped_lock state_lock(state_mutex_);
26+
FML_DCHECK(state_ >= State::kVsync);
27+
return vsync_target_;
28+
}
29+
30+
fml::TimePoint FrameTimingsRecorder::GetBuildStartTime() const {
31+
std::scoped_lock state_lock(state_mutex_);
32+
FML_DCHECK(state_ >= State::kBuildStart);
33+
return build_start_;
34+
}
35+
36+
fml::TimePoint FrameTimingsRecorder::GetBuildEndTime() const {
37+
std::scoped_lock state_lock(state_mutex_);
38+
FML_DCHECK(state_ >= State::kBuildEnd);
39+
return build_end_;
40+
}
41+
42+
fml::TimePoint FrameTimingsRecorder::GetRasterStartTime() const {
43+
std::scoped_lock state_lock(state_mutex_);
44+
FML_DCHECK(state_ >= State::kRasterStart);
45+
return raster_start_;
46+
}
47+
48+
fml::TimePoint FrameTimingsRecorder::GetRasterEndTime() const {
49+
std::scoped_lock state_lock(state_mutex_);
50+
FML_DCHECK(state_ >= State::kRasterEnd);
51+
return raster_end_;
52+
}
53+
54+
fml::TimeDelta FrameTimingsRecorder::GetBuildDuration() const {
55+
std::scoped_lock state_lock(state_mutex_);
56+
FML_DCHECK(state_ >= State::kBuildEnd);
57+
return build_end_ - build_start_;
58+
}
59+
60+
void FrameTimingsRecorder::RecordVsync(fml::TimePoint vsync_start,
61+
fml::TimePoint vsync_target) {
62+
std::scoped_lock state_lock(state_mutex_);
63+
FML_DCHECK(state_ == State::kUninitialized);
64+
state_ = State::kVsync;
65+
vsync_start_ = vsync_start;
66+
vsync_target_ = vsync_target;
67+
}
68+
69+
void FrameTimingsRecorder::RecordBuildStart(fml::TimePoint build_start) {
70+
std::scoped_lock state_lock(state_mutex_);
71+
FML_DCHECK(state_ == State::kVsync);
72+
state_ = State::kBuildStart;
73+
build_start_ = build_start;
74+
}
75+
76+
void FrameTimingsRecorder::RecordBuildEnd(fml::TimePoint build_end) {
77+
std::scoped_lock state_lock(state_mutex_);
78+
FML_DCHECK(state_ == State::kBuildStart);
79+
state_ = State::kBuildEnd;
80+
build_end_ = build_end;
81+
}
82+
83+
void FrameTimingsRecorder::RecordRasterStart(fml::TimePoint raster_start) {
84+
std::scoped_lock state_lock(state_mutex_);
85+
FML_DCHECK(state_ == State::kBuildEnd);
86+
state_ = State::kRasterStart;
87+
raster_start_ = raster_start;
88+
}
89+
90+
FrameTiming FrameTimingsRecorder::RecordRasterEnd(fml::TimePoint raster_end) {
91+
std::scoped_lock state_lock(state_mutex_);
92+
FML_DCHECK(state_ == State::kRasterStart);
93+
state_ = State::kRasterEnd;
94+
raster_end_ = raster_end;
95+
FrameTiming timing;
96+
timing.Set(FrameTiming::kVsyncStart, vsync_start_);
97+
timing.Set(FrameTiming::kBuildStart, build_start_);
98+
timing.Set(FrameTiming::kBuildFinish, build_end_);
99+
timing.Set(FrameTiming::kRasterStart, raster_start_);
100+
timing.Set(FrameTiming::kRasterFinish, raster_end_);
101+
return timing;
102+
}
103+
104+
std::unique_ptr<FrameTimingsRecorder> FrameTimingsRecorder::CloneUntil(
105+
State state) {
106+
std::scoped_lock state_lock(state_mutex_);
107+
std::unique_ptr<FrameTimingsRecorder> recorder =
108+
std::make_unique<FrameTimingsRecorder>();
109+
recorder->state_ = state;
110+
111+
if (state >= State::kVsync) {
112+
recorder->vsync_start_ = vsync_start_;
113+
recorder->vsync_target_ = vsync_target_;
114+
}
115+
116+
if (state >= State::kBuildStart) {
117+
recorder->build_start_ = build_start_;
118+
}
119+
120+
if (state >= State::kRasterEnd) {
121+
recorder->build_end_ = build_end_;
122+
}
123+
124+
if (state >= State::kRasterStart) {
125+
recorder->raster_start_ = raster_start_;
126+
}
127+
128+
if (state >= State::kRasterEnd) {
129+
recorder->raster_end_ = raster_end_;
130+
}
131+
132+
return recorder;
133+
}
134+
135+
} // namespace flutter

0 commit comments

Comments
 (0)